|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U l
Length: 3039 (0xbdf)
Types: TextFile
Notes: UNIX file
Names: »lp.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
└─⟦this⟧ »kc/new/usr/include/sys/lp.h«
/*
* PC AT386 Parallel port driver definitions.
*/
/*
* Copyrighted as an unpublished work.
* (c) Copyright 1987 INTERACTIVE Systems Corporation
* All rights reserved.
*
* RESTRICTED RIGHTS
*
* These programs are supplied under a license. They may be used,
* disclosed, and/or copied only as permitted under such license
* agreement. Any copy must contain the above copyright notice and
* this restricted rights notice. Use, copying, and/or disclosure
* of the programs is strictly prohibited unless otherwise provided
* in the license agreement.
*/
#ident "@(#)lp.h 1.6 - 88/05/02"
#define LPLOWAT 50 /* queue lo water mark */
#define LPHIWAT 250 /* queue hi water mark */
#define LPPRI (PZERO+10) /* driver sleep priority */
/*
* States: lp_state
*/
#define LPOPENW 0x01 /* set when device open write */
#define LPDRAIN 0x02 /* set when a process is waiting for queue to
drain, may be in close or open */
#define LPASLP 0x04 /* set when sleeping due to hi water */
#define LPBUSY 0x08 /* set for char out, waiting for interrupt */
#define LPPRES 0x10 /* set if parallel adapter present */
#define LPLOCK 0x20 /* prevents multiple entries to lpcharput */
#define LPONLIST 0x40 /* set if on poll list */
/*
* Hardware bits: status register
*/
#define LPOK 0x08 /* 0 = Error */
#define LPONLINE 0x10 /* 1 = On Line */
#define LPPAPEND 0x20 /* 1 = Printer out of paper */
#define LPNACKNLG 0x40 /* 0 = lp ready for next char */
#define LPREADY 0x80 /* 0 = Printer is busy (active low) */
/*
* Hardware bits: csr register
*/
#define NSTROBE 0x01 /* lp character strobe (1 active) */
#define NAUTOFD 0x02 /* auto paper feed after line print (1 active) */
#define NRESET 0x04 /* lp reset (0 active) */
#define SLCT 0x08 /* enable data xfer (1 active) */
#define IENAB 0x10 /* enable interrupts on NACKLDG transition */
/*
* The following is the lp device control structure. This structure is
* initalized in the line printer space.c file, see /etc/atconf/modules/lp.
*/
struct lp {
struct clist lp_outq; /* clist queue */
struct lp *lp_next; /* next lp on list of open lps */
time_t lp_warn; /* time of next warning message */
char lp_state; /* printer state flags */
char lp_stat; /* last read status byte */
char lp_minor; /* minor device number this printer */
unsigned lp_dat; /* printer data port address */
unsigned lp_str; /* printer status port address */
unsigned lp_csr; /* printer command port address */
int (*lpspl)(); /* spl routine to use in critical sections*/
int (*lppres)(); /* check whether device is responding */
int (*lpout)(); /* routine to output a character */
int (*lpready)(); /* check to see if ready for next char */
int (*lperror)(); /* print device specific error messages */
};
extern int lp_pollint; /* polling interval */
extern time_t lp_warnint; /* warning interval */