Add rcsid. Remove unused #includes. Use err(3).
This commit is contained in:
parent
0e50288276
commit
8ec6fdf54b
@ -1,4 +1,4 @@
|
||||
.\" $Id: comcontrol.8,v 1.12 1997/02/22 14:32:27 peter Exp $
|
||||
.\" $Id: comcontrol.8,v 1.13 1998/03/19 07:46:39 charnier Exp $
|
||||
.Dd May 15, 1994
|
||||
.Dt COMCONTROL 8
|
||||
.Os FreeBSD
|
||||
@ -19,7 +19,7 @@ This usage requires only read access on the device.
|
||||
Only the superuser can change the settings.
|
||||
.Pp
|
||||
The following options are available:
|
||||
.Bl -tag -width Fl
|
||||
.Bl -tag -width indent
|
||||
.It Cm dtrwait Ar number
|
||||
Set the time to wait after dropping DTR
|
||||
to the given number.
|
||||
@ -27,8 +27,6 @@ The units are hundredths of a second.
|
||||
The default is 300 hundredths, i.e., 3 seconds.
|
||||
This option needed mainly to set proper recover time after
|
||||
modem reset.
|
||||
.El
|
||||
.Bl -tag -width Fl
|
||||
.It Cm drainwait Ar number
|
||||
Set the time to wait for output drain
|
||||
to the given number.
|
||||
@ -39,23 +37,23 @@ to prevent modem hanging.
|
||||
.El
|
||||
.Pp
|
||||
The standard way to use
|
||||
.Nm comcontrol
|
||||
.Nm
|
||||
is to put invocations of it in the
|
||||
.Ar /etc/rc.serial
|
||||
.Pa /etc/rc.serial
|
||||
startup script.
|
||||
.Sh SEE ALSO
|
||||
.Xr stty 1 ,
|
||||
.Xr sio 4
|
||||
.Sh FILES
|
||||
.Bl -tag -width Pa
|
||||
.Bl -tag -width /dev/ttyd? -compact
|
||||
.It Pa /dev/ttyd?
|
||||
dialin devices, hardwired terminals
|
||||
.It Pa /dev/cuaa?
|
||||
dialout devices.
|
||||
dialout devices
|
||||
.Sh AUTHORS
|
||||
.An Christopher G. Demetriou
|
||||
.Sh BUGS
|
||||
.Nm comcontrol
|
||||
.Nm Comcontrol
|
||||
should be named
|
||||
.Nm siocontrol .
|
||||
.Sh HISTORY
|
||||
|
@ -26,79 +26,83 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* comcontrol.c */
|
||||
#ifndef lint
|
||||
static const char rcsid[] =
|
||||
"$Id$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <ctype.h>
|
||||
#include <err.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
|
||||
void usage(char *progname)
|
||||
static void
|
||||
usage()
|
||||
{
|
||||
fprintf(stderr, "usage: %s <filename> [dtrwait <n>] [drainwait <n>]\n", progname);
|
||||
fprintf(stderr,
|
||||
"usage: comcontrol <filename> [dtrwait <n>] [drainwait <n>]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int fd;
|
||||
int res = 0;
|
||||
int dtrwait = -1, drainwait = -1;
|
||||
|
||||
if (argc < 2)
|
||||
usage(argv[0]);
|
||||
usage();
|
||||
|
||||
fd = open(argv[1], O_RDONLY|O_NONBLOCK, 0);
|
||||
if (fd < 0) {
|
||||
perror("open");
|
||||
fprintf(stderr, "%s: couldn't open file %s\n", argv[0], argv[1]);
|
||||
warn("couldn't open file %s", argv[1]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (argc == 2) {
|
||||
if (ioctl(fd, TIOCMGDTRWAIT, &dtrwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCMGDTRWAIT");
|
||||
warn("TIOCMGDTRWAIT");
|
||||
}
|
||||
if (ioctl(fd, TIOCGDRAINWAIT, &drainwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCGDRAINWAIT");
|
||||
warn("TIOCGDRAINWAIT");
|
||||
}
|
||||
printf("dtrwait %d drainwait %d\n", dtrwait, drainwait);
|
||||
} else {
|
||||
char *prg = argv[0];
|
||||
|
||||
while (argv[2] != NULL) {
|
||||
if (!strcmp(argv[2],"dtrwait")) {
|
||||
if (dtrwait >= 0)
|
||||
usage(prg);
|
||||
usage();
|
||||
if (argv[3] == NULL || !isdigit(argv[3][0]))
|
||||
usage(prg);
|
||||
usage();
|
||||
dtrwait = atoi(argv[3]);
|
||||
argv += 2;
|
||||
} else if (!strcmp(argv[2],"drainwait")) {
|
||||
if (drainwait >= 0)
|
||||
usage(prg);
|
||||
usage();
|
||||
if (argv[3] == NULL || !isdigit(argv[3][0]))
|
||||
usage(prg);
|
||||
usage();
|
||||
drainwait = atoi(argv[3]);
|
||||
argv += 2;
|
||||
} else
|
||||
usage(prg);
|
||||
usage();
|
||||
}
|
||||
if (dtrwait >= 0) {
|
||||
if (ioctl(fd, TIOCMSDTRWAIT, &dtrwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCMSDTRWAIT");
|
||||
warn("TIOCMSDTRWAIT");
|
||||
}
|
||||
}
|
||||
if (drainwait >= 0) {
|
||||
if (ioctl(fd, TIOCSDRAINWAIT, &drainwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCSDRAINWAIT");
|
||||
warn("TIOCSDRAINWAIT");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" $Id: comcontrol.8,v 1.12 1997/02/22 14:32:27 peter Exp $
|
||||
.\" $Id: comcontrol.8,v 1.13 1998/03/19 07:46:39 charnier Exp $
|
||||
.Dd May 15, 1994
|
||||
.Dt COMCONTROL 8
|
||||
.Os FreeBSD
|
||||
@ -19,7 +19,7 @@ This usage requires only read access on the device.
|
||||
Only the superuser can change the settings.
|
||||
.Pp
|
||||
The following options are available:
|
||||
.Bl -tag -width Fl
|
||||
.Bl -tag -width indent
|
||||
.It Cm dtrwait Ar number
|
||||
Set the time to wait after dropping DTR
|
||||
to the given number.
|
||||
@ -27,8 +27,6 @@ The units are hundredths of a second.
|
||||
The default is 300 hundredths, i.e., 3 seconds.
|
||||
This option needed mainly to set proper recover time after
|
||||
modem reset.
|
||||
.El
|
||||
.Bl -tag -width Fl
|
||||
.It Cm drainwait Ar number
|
||||
Set the time to wait for output drain
|
||||
to the given number.
|
||||
@ -39,23 +37,23 @@ to prevent modem hanging.
|
||||
.El
|
||||
.Pp
|
||||
The standard way to use
|
||||
.Nm comcontrol
|
||||
.Nm
|
||||
is to put invocations of it in the
|
||||
.Ar /etc/rc.serial
|
||||
.Pa /etc/rc.serial
|
||||
startup script.
|
||||
.Sh SEE ALSO
|
||||
.Xr stty 1 ,
|
||||
.Xr sio 4
|
||||
.Sh FILES
|
||||
.Bl -tag -width Pa
|
||||
.Bl -tag -width /dev/ttyd? -compact
|
||||
.It Pa /dev/ttyd?
|
||||
dialin devices, hardwired terminals
|
||||
.It Pa /dev/cuaa?
|
||||
dialout devices.
|
||||
dialout devices
|
||||
.Sh AUTHORS
|
||||
.An Christopher G. Demetriou
|
||||
.Sh BUGS
|
||||
.Nm comcontrol
|
||||
.Nm Comcontrol
|
||||
should be named
|
||||
.Nm siocontrol .
|
||||
.Sh HISTORY
|
||||
|
@ -26,79 +26,83 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* comcontrol.c */
|
||||
#ifndef lint
|
||||
static const char rcsid[] =
|
||||
"$Id$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <ctype.h>
|
||||
#include <err.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
|
||||
void usage(char *progname)
|
||||
static void
|
||||
usage()
|
||||
{
|
||||
fprintf(stderr, "usage: %s <filename> [dtrwait <n>] [drainwait <n>]\n", progname);
|
||||
fprintf(stderr,
|
||||
"usage: comcontrol <filename> [dtrwait <n>] [drainwait <n>]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int fd;
|
||||
int res = 0;
|
||||
int dtrwait = -1, drainwait = -1;
|
||||
|
||||
if (argc < 2)
|
||||
usage(argv[0]);
|
||||
usage();
|
||||
|
||||
fd = open(argv[1], O_RDONLY|O_NONBLOCK, 0);
|
||||
if (fd < 0) {
|
||||
perror("open");
|
||||
fprintf(stderr, "%s: couldn't open file %s\n", argv[0], argv[1]);
|
||||
warn("couldn't open file %s", argv[1]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (argc == 2) {
|
||||
if (ioctl(fd, TIOCMGDTRWAIT, &dtrwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCMGDTRWAIT");
|
||||
warn("TIOCMGDTRWAIT");
|
||||
}
|
||||
if (ioctl(fd, TIOCGDRAINWAIT, &drainwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCGDRAINWAIT");
|
||||
warn("TIOCGDRAINWAIT");
|
||||
}
|
||||
printf("dtrwait %d drainwait %d\n", dtrwait, drainwait);
|
||||
} else {
|
||||
char *prg = argv[0];
|
||||
|
||||
while (argv[2] != NULL) {
|
||||
if (!strcmp(argv[2],"dtrwait")) {
|
||||
if (dtrwait >= 0)
|
||||
usage(prg);
|
||||
usage();
|
||||
if (argv[3] == NULL || !isdigit(argv[3][0]))
|
||||
usage(prg);
|
||||
usage();
|
||||
dtrwait = atoi(argv[3]);
|
||||
argv += 2;
|
||||
} else if (!strcmp(argv[2],"drainwait")) {
|
||||
if (drainwait >= 0)
|
||||
usage(prg);
|
||||
usage();
|
||||
if (argv[3] == NULL || !isdigit(argv[3][0]))
|
||||
usage(prg);
|
||||
usage();
|
||||
drainwait = atoi(argv[3]);
|
||||
argv += 2;
|
||||
} else
|
||||
usage(prg);
|
||||
usage();
|
||||
}
|
||||
if (dtrwait >= 0) {
|
||||
if (ioctl(fd, TIOCMSDTRWAIT, &dtrwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCMSDTRWAIT");
|
||||
warn("TIOCMSDTRWAIT");
|
||||
}
|
||||
}
|
||||
if (drainwait >= 0) {
|
||||
if (ioctl(fd, TIOCSDRAINWAIT, &drainwait) < 0) {
|
||||
res = 1;
|
||||
perror("TIOCSDRAINWAIT");
|
||||
warn("TIOCSDRAINWAIT");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user