|
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 - download
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 */