1
2
3
4
5
6
7#ifndef _UAPI_PARPORT_H_
8#define _UAPI_PARPORT_H_
9
10
11
12
13#define PARPORT_MAX 16
14
15
16#define PARPORT_IRQ_NONE -1
17#define PARPORT_DMA_NONE -1
18#define PARPORT_IRQ_AUTO -2
19#define PARPORT_DMA_AUTO -2
20#define PARPORT_DMA_NOFIFO -3
21#define PARPORT_DISABLE -2
22#define PARPORT_IRQ_PROBEONLY -3
23#define PARPORT_IOHI_AUTO -1
24
25#define PARPORT_CONTROL_STROBE 0x1
26#define PARPORT_CONTROL_AUTOFD 0x2
27#define PARPORT_CONTROL_INIT 0x4
28#define PARPORT_CONTROL_SELECT 0x8
29
30#define PARPORT_STATUS_ERROR 0x8
31#define PARPORT_STATUS_SELECT 0x10
32#define PARPORT_STATUS_PAPEROUT 0x20
33#define PARPORT_STATUS_ACK 0x40
34#define PARPORT_STATUS_BUSY 0x80
35
36
37typedef enum {
38 PARPORT_CLASS_LEGACY = 0,
39 PARPORT_CLASS_PRINTER,
40 PARPORT_CLASS_MODEM,
41 PARPORT_CLASS_NET,
42 PARPORT_CLASS_HDC,
43 PARPORT_CLASS_PCMCIA,
44 PARPORT_CLASS_MEDIA,
45 PARPORT_CLASS_FDC,
46 PARPORT_CLASS_PORTS,
47 PARPORT_CLASS_SCANNER,
48 PARPORT_CLASS_DIGCAM,
49 PARPORT_CLASS_OTHER,
50 PARPORT_CLASS_UNSPEC,
51 PARPORT_CLASS_SCSIADAPTER
52} parport_device_class;
53
54
55
56#define PARPORT_MODE_PCSPP (1<<0)
57#define PARPORT_MODE_TRISTATE (1<<1)
58#define PARPORT_MODE_EPP (1<<2)
59#define PARPORT_MODE_ECP (1<<3)
60#define PARPORT_MODE_COMPAT (1<<4)
61#define PARPORT_MODE_DMA (1<<5)
62#define PARPORT_MODE_SAFEININT (1<<6)
63
64
65
66
67
68#define IEEE1284_MODE_NIBBLE 0
69#define IEEE1284_MODE_BYTE (1<<0)
70#define IEEE1284_MODE_COMPAT (1<<8)
71#define IEEE1284_MODE_BECP (1<<9)
72#define IEEE1284_MODE_ECP (1<<4)
73#define IEEE1284_MODE_ECPRLE (IEEE1284_MODE_ECP | (1<<5))
74#define IEEE1284_MODE_ECPSWE (1<<10)
75#define IEEE1284_MODE_EPP (1<<6)
76#define IEEE1284_MODE_EPPSL (1<<11)
77#define IEEE1284_MODE_EPPSWE (1<<12)
78#define IEEE1284_DEVICEID (1<<2)
79#define IEEE1284_EXT_LINK (1<<14)
80
81
82
83
84
85
86
87#define IEEE1284_ADDR (1<<13)
88#define IEEE1284_DATA 0
89
90
91#define PARPORT_EPP_FAST (1<<0)
92#define PARPORT_W91284PIC (1<<1)
93
94
95#endif
96