1 /*          Definitions for DigiBoard ditty(1) command.                 */
2 
3 #if !defined(TIOCMODG)
4 #define	TIOCMODG	(('d'<<8) | 250)	/* get modem ctrl state	*/
5 #define	TIOCMODS	(('d'<<8) | 251)	/* set modem ctrl state	*/
6 #endif
7 
8 #if !defined(TIOCMSET)
9 #define	TIOCMSET	(('d'<<8) | 252)	/* set modem ctrl state	*/
10 #define	TIOCMGET	(('d'<<8) | 253)	/* set modem ctrl state	*/
11 #endif
12 
13 #if !defined(TIOCMBIC)
14 #define	TIOCMBIC	(('d'<<8) | 254)	/* set modem ctrl state */
15 #define	TIOCMBIS	(('d'<<8) | 255)	/* set modem ctrl state */
16 #endif
17 
18 #if !defined(TIOCSDTR)
19 #define	TIOCSDTR	(('e'<<8) | 0)		/* set DTR		*/
20 #define	TIOCCDTR	(('e'<<8) | 1)		/* clear DTR		*/
21 #endif
22 
23 /************************************************************************
24  * Ioctl command arguments for DIGI parameters.
25  ************************************************************************/
26 #define DIGI_GETA	(('e'<<8) | 94)		/* Read params		*/
27 
28 #define DIGI_SETA	(('e'<<8) | 95)		/* Set params		*/
29 #define DIGI_SETAW	(('e'<<8) | 96)		/* Drain & set params	*/
30 #define DIGI_SETAF	(('e'<<8) | 97)		/* Drain, flush & set params */
31 
32 #define	DIGI_GETFLOW	(('e'<<8) | 99)		/* Get startc/stopc flow */
33 						/* control characters 	 */
34 #define	DIGI_SETFLOW	(('e'<<8) | 100)	/* Set startc/stopc flow */
35 						/* control characters	 */
36 #define	DIGI_GETAFLOW	(('e'<<8) | 101)	/* Get Aux. startc/stopc */
37 						/* flow control chars 	 */
38 #define	DIGI_SETAFLOW	(('e'<<8) | 102)	/* Set Aux. startc/stopc */
39 						/* flow control chars	 */
40 
41 #define	DIGI_GETINFO	(('e'<<8) | 103)	/* Fill in digi_info */
42 #define	DIGI_POLLER	(('e'<<8) | 104)	/* Turn on/off poller */
43 #define	DIGI_INIT	(('e'<<8) | 105)	/* Allow things to run. */
44 
45 struct	digiflow_struct
46 {
47 	unsigned char	startc;				/* flow cntl start char	*/
48 	unsigned char	stopc;				/* flow cntl stop char	*/
49 };
50 
51 typedef struct digiflow_struct digiflow_t;
52 
53 
54 /************************************************************************
55  * Values for digi_flags
56  ************************************************************************/
57 #define DIGI_IXON	0x0001		/* Handle IXON in the FEP	*/
58 #define DIGI_FAST	0x0002		/* Fast baud rates		*/
59 #define RTSPACE		0x0004		/* RTS input flow control	*/
60 #define CTSPACE		0x0008		/* CTS output flow control	*/
61 #define DSRPACE		0x0010		/* DSR output flow control	*/
62 #define DCDPACE		0x0020		/* DCD output flow control	*/
63 #define DTRPACE		0x0040		/* DTR input flow control	*/
64 #define DIGI_FORCEDCD	0x0100		/* Force carrier		*/
65 #define	DIGI_ALTPIN	0x0200		/* Alternate RJ-45 pin config	*/
66 #define	DIGI_AIXON	0x0400		/* Aux flow control in fep	*/
67 
68 
69 /************************************************************************
70  * Values for digiDload
71  ************************************************************************/
72 #define NORMAL  0
73 #define PCI_CTL 1
74 
75 #define SIZE8  0
76 #define SIZE16 1
77 #define SIZE32 2
78 
79 /************************************************************************
80  * Structure used with ioctl commands for DIGI parameters.
81  ************************************************************************/
82 struct digi_struct
83 {
84 	unsigned short	digi_flags;		/* Flags (see above)	*/
85 };
86 
87 typedef struct digi_struct digi_t;
88 
89 struct digi_info
90 {
91 	unsigned long board;        /* Which board is this ? */
92 	unsigned char status;       /* Alive or dead */
93 	unsigned char type;         /* see epca.h */
94 	unsigned char subtype;      /* For future XEM, XR, etc ... */
95 	unsigned short numports;    /* Number of ports configured */
96 	unsigned char *port;        /* I/O Address */
97 	unsigned char *membase;     /* DPR Address */
98 	unsigned char *version;     /* For future ... */
99 	unsigned short windowData;  /* For future ... */
100 } ;
101