home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.0
/
NeXTSTEP3.0.iso
/
NextDeveloper
/
Headers
/
bsd
/
dev
/
npio.h
< prev
next >
Wrap
Text File
|
1992-07-29
|
3KB
|
84 lines
/*
* Copyright (c) 1988 by NeXT, Inc.
*
* HISTORY
* 8-Mar-88 Peter King (king) at NeXT, Inc.
* Created.
*/
/*
* Structures and definitions for NeXT Laser Printer io control commands
*/
#ifndef _M68K_DEV_NPIO_
#define _M68K_DEV_NPIO_
/* Paper types */
enum np_papersize { NOCASSETTE, A4, LETTER, B5, LEGAL };
/* Structure for NPIOCPOP - printer op command */
#define NPIOCPOP _IOWR('p', 1, struct npop) /* do a printer op */
struct npop {
short np_op; /* operations defined below */
union {
int npd_power; /* Power */
unsigned char npd_resolution; /* 300/400 DPI */
struct {
int left; /* # of bits to indent on left */
int top; /* # of lines from top of page */
/*
* NOTE: less than a 200 line top margin
* is questionable. Experiment.
*/
int width; /* width in #'s of longwords */
int height; /* height in lines */
} npd_margins;
struct np_stat {
u_int flags;
u_int retrans;
} npd_status;
enum np_papersize npd_size;
boolean_t npd_bool;
} np_Data;
};
#define np_power np_Data.npd_power
#define np_margins np_Data.npd_margins
#define np_resolution np_Data.npd_resolution
#define np_status np_Data.npd_status
#define np_size np_Data.npd_size
#define np_bool np_Data.npd_bool
/* operations */
#define NPSETPOWER 0 /* turn the printer on/off */
#define NPSETMARGINS 1 /* Set the printer margins */
#define NPSETRESOLUTION 2 /* Set the printer resolution */
#define NPGETSTATUS 3 /* Get the printer status */
#define NPCLEARRETRANS 4 /* Clear the retransmit counter */
#define NPGETPAPERSIZE 5 /* Get the paper size */
#define NPSETMANUALFEED 6 /* Set manual feed based on npop.np_bool */
/* resolutions */
#define DPI300 0
#define DPI400 1
/* Status bits */
#define NPPAPERDELIVERY 0x0001 /* Paper is being processed in the printer */
#define NPDATARETRANS 0x0002 /* Data should be retransmitted due to jam
or poor video signal. Number of pages
is in npop.np_stat.retrans. Clear this
with the NPCLEARRETRANS command. */
#define NPCOLD 0x0004 /* Fixing assembly not yet hot enough */
#define NPNOCARTRIDGE 0x0008 /* No cartridge in printer */
#define NPNOPAPER 0x0010 /* No paper in printer */
#define NPPAPERJAM 0x0020 /* Paper jam */
#define NPDOOROPEN 0x0040 /* Door open */
#define NPNOTONER 0x0080 /* Toner low */
#define NPHARDWAREBAD 0(@0 /* Hardware failure - see other bad bits */
#define NPMANUALFEED 0x0200 /* Manual feed selected */
#define NPFUSERBAD 0x0400 /* Fixing assembly malfunction */
#define NPLASERBAD 0x0800 /* Poor Beam Detect signal */
#define NPMOTORBAD 0x1000 /* Scanning motor malfunction */
#endif _M68K_DEV_NPIO_