summaryrefslogtreecommitdiffstats
path: root/usr.sbin/lptcontrol
diff options
context:
space:
mode:
authornsouch <nsouch@FreeBSD.org>1999-02-14 12:23:49 +0000
committernsouch <nsouch@FreeBSD.org>1999-02-14 12:23:49 +0000
commit61e9418dd2bf9555cd37719ccbc0996bd5c4565a (patch)
tree1f487e004dfdb6056987ae4362043697545d5ffb /usr.sbin/lptcontrol
parent58b8c67df8747fc15059793638323b0df85d658d (diff)
downloadFreeBSD-src-61e9418dd2bf9555cd37719ccbc0996bd5c4565a.zip
FreeBSD-src-61e9418dd2bf9555cd37719ccbc0996bd5c4565a.tar.gz
Add -e option and change unit to device access in lptcontrol.8
Change unit to device access in lptcontrol.c. Now usage is lptcontrol -i | -p | -e [-d /dev/lpt?]
Diffstat (limited to 'usr.sbin/lptcontrol')
-rw-r--r--usr.sbin/lptcontrol/lptcontrol.831
-rw-r--r--usr.sbin/lptcontrol/lptcontrol.c29
2 files changed, 26 insertions, 34 deletions
diff --git a/usr.sbin/lptcontrol/lptcontrol.8 b/usr.sbin/lptcontrol/lptcontrol.8
index dc6e6ff..9162a99 100644
--- a/usr.sbin/lptcontrol/lptcontrol.8
+++ b/usr.sbin/lptcontrol/lptcontrol.8
@@ -11,7 +11,7 @@
.\" documentation and/or other materials provided with the distribution.
.\"
.\"
-.\" $Id: lptcontrol.8,v 1.6 1997/09/25 06:36:28 charnier Exp $
+.\" $Id: lptcontrol.8,v 1.7 1998/03/23 08:23:49 charnier Exp $
.Dd September 3, 1994
.Dt LPTCONTROL 8
.Os FreeBSD 2
@@ -23,16 +23,21 @@
.Cm -i
|
.Cm -p
-.Op Fl u Ar unit no
+|
+.Cm -e
+.Op Fl d Ar device
.Sh DESCRIPTION
The
.Nm
-command is used to set either the interrupt-driven or polling mode
+command is used to set either the interrupt-driven, extended or polling mode
of individual
.Xr lpt 4
-devices. When a printer is switched between
-interrupt-driven and polled mode, this change will only take effect
+devices. When a printer is switched from
+a mode to another, this change will only take effect
the next time the device is opened.
+.Pp
+Extended mode is anything the parallel port interface can support. For an
+ECP/ISA parallel port, it may be FIFO+DMA or ECP.
.Sh OPTIONS
.TP
The following command line options are supported:
@@ -41,21 +46,23 @@ The following command line options are supported:
Turn on interrupt-driven mode.
.It Fl p
Turn on polled mode.
-.It Fl u Ar n
+.It Fl e
+Turn on extended mode.
+.It Fl d Ar dev
Set the mode of the printer device specified by
-.Em n .
+.Em dev .
The default value for
-.Em n
+.Em dev
is
-.Em 0
-(ie.
-.Pa /dev/lpt0 )
+.Em /dev/lpt0
.El
.Pp
One of
.Fl i
-or
+,
.Fl p
+or
+.Fl e
must be specified.
.Pp
.Sh FILES
diff --git a/usr.sbin/lptcontrol/lptcontrol.c b/usr.sbin/lptcontrol/lptcontrol.c
index afd234e..d3856d0 100644
--- a/usr.sbin/lptcontrol/lptcontrol.c
+++ b/usr.sbin/lptcontrol/lptcontrol.c
@@ -30,7 +30,7 @@
#ifndef lint
static const char rcsid[] =
- "$Id: lptcontrol.c,v 1.6 1997/09/25 06:36:29 charnier Exp $";
+ "$Id: lptcontrol.c,v 1.7 1999/01/10 12:04:56 nsouch Exp $";
#endif /* not lint */
#include <ctype.h>
@@ -49,7 +49,7 @@ static const char rcsid[] =
#define PATH_LPCTL _PATH_DEV "lpctl"
-#define DEFAULT_UNIT "0"
+#define DEFAULT_DEVICE "/dev/lpt0"
#define IRQ_INVALID -1
#define DO_POLL 0
#define USE_IRQ 1
@@ -58,7 +58,7 @@ static const char rcsid[] =
static void usage()
{
- fprintf(stderr, "usage: lptcontrol -i | -p | -s | -e [-u <unit no.>]\n");
+ fprintf(stderr, "usage: lptcontrol -i | -p | -s | -e [-d device]\n");
exit(1);
}
@@ -73,40 +73,25 @@ static void set_interrupt_status(int irq_status, const char * file)
close(fd);
}
-static char * dev_file(char unit_no)
-{
- static char devname[_POSIX_PATH_MAX+1];
- int len;
-
- strncpy(devname, PATH_LPCTL, _POSIX_PATH_MAX);
- devname[len = strlen(devname)] = unit_no;
- devname[++len] = '\0';
-
- return(devname);
-}
-
int main (int argc, char * argv[])
{
int opt;
int irq_status = IRQ_INVALID;
- char * unit = DEFAULT_UNIT;
+ char *device = DEFAULT_DEVICE;
- while((opt = getopt(argc, argv, "ipesu:")) != -1)
+ while((opt = getopt(argc, argv, "ipesd:")) != -1)
switch(opt) {
case 'i': irq_status = USE_IRQ; break;
case 'p': irq_status = DO_POLL; break;
case 'e': irq_status = USE_EXT_MODE; break;
case 's': irq_status = USE_STD_MODE; break;
- case 'u': unit = optarg;
- if(!isdigit(*unit))
- usage();
- break;
+ case 'd': device = optarg; break;
default : usage();
}
if(irq_status == IRQ_INVALID)
usage();
- set_interrupt_status(irq_status, dev_file(*unit));
+ set_interrupt_status(irq_status, device);
exit(0);
}
OpenPOWER on IntegriCloud