DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦baa203ee7⟧ TextFile

    Length: 3039 (0xbdf)
    Types: TextFile
    Notes: UNIX file
    Names: »lp.h«

Derivation

└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
    └─⟦this⟧ »kc/new/usr/include/sys/lp.h« 

TextFile

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