Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

51 lines
1.5 KiB
C

/* @(#)ppreg.h 1.1 92/07/30 SMI */
/*
* (ppreg.h) Sun-3x Parallel Port Registers
* Copyright (c) 1988 by Sun Microsystems, Inc.
*/
#ifndef _sundev_ppreg_h
#define _sundev_ppreg_h
#ident "TBD"
struct pp_reg {
unsigned char filler1[0x30];
unsigned char pp_intr;
unsigned char filler2[0xb];
unsigned char pp_data; /* 00:Data Register */
unsigned char pp_stat; /* 01:Status Register */
unsigned char pp_cntrl; /* 10:Control Register */
unsigned char pp_inval; /* 11:Invalid Register */
};
/* Printer Control Reg bits */
/* #define PC_INTENABLE 0x10 */
#define PC_INTENABLE 0x10 /* +IRQ ENABLE: enable ACK interrupts */
#define PC_SELECT 0x08 /* +SLCT IN: select printer */
#define PC_INIT 0x04 /* -INIT: init printer */
#define PC_LINEFEED 0x02 /* +AUTO FD XT: set auto linefeed */
#define PC_STROBE 0x01 /* +STROBE: strobe data */
#define PC_NORM (PC_INTENABLE|PC_SELECT|PC_INIT)
#define PC_OFF (PC_SELECT|PC_INIT)
#define PC_RESET (PC_SELECT)
/* Printer Status Reg bits */
#define PS_READY 0x80 /* -BUSY: printer not busy */
#define PS_NOTACK 0x40 /* -ACK: ACK state */
#define PS_NOPAPER 0x20 /* +PE: printer out of paper */
#define PS_SELECT 0x10 /* +SLCT: printer is selected */
#define PS_NOERROR 0x08 /* -ERROR: printer error condition */
#define PSREADY(s) ((s)&PS_READY)
#define PSSELECT(s) ((s)&PS_SELECT)
#define PSNOPAPER(s) ((s)&PS_NOPAPER)
#define PSERROR(s) (((s)&PS_NOERROR) == 0)
#define PPIOCGETS _IOR(p, 0, char)
#define PPIOCGETC _IOR(p, 1, char)
#define PPIOCSETC _IOW(p, 2, char)
#endif /* !_sundev_ppreg_h */