| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * This software may be used and distributed according to the terms | 
 | 3 |  * of the GNU General Public License, incorporated herein by reference. | 
 | 4 |  */ | 
 | 5 |  | 
 | 6 | /* | 
 | 7 |  * IOCTL Command Codes | 
 | 8 |  */ | 
 | 9 | #define SCIOCLOAD	0x01	/* Load a firmware record */ | 
 | 10 | #define SCIOCRESET	0x02	/* Perform hard reset */ | 
 | 11 | #define SCIOCDEBUG	0x03	/* Set debug level */ | 
 | 12 | #define SCIOCREV	0x04	/* Get driver revision(s) */ | 
 | 13 | #define SCIOCSTART	0x05	/* Start the firmware */ | 
 | 14 | #define SCIOCGETSWITCH	0x06	/* Get switch type */ | 
 | 15 | #define SCIOCSETSWITCH	0x07	/* Set switch type */ | 
 | 16 | #define SCIOCGETSPID	0x08	/* Get channel SPID */ | 
 | 17 | #define SCIOCSETSPID	0x09 	/* Set channel SPID */ | 
 | 18 | #define SCIOCGETDN	0x0A	/* Get channel DN */ | 
 | 19 | #define SCIOCSETDN	0x0B 	/* Set channel DN */ | 
 | 20 | #define SCIOCTRACE	0x0C	/* Toggle trace mode */ | 
 | 21 | #define SCIOCSTAT	0x0D	/* Get line status */ | 
 | 22 | #define SCIOCGETSPEED	0x0E	/* Set channel speed */ | 
 | 23 | #define SCIOCSETSPEED	0x0F	/* Set channel speed */ | 
 | 24 | #define SCIOCLOOPTST	0x10	/* Perform loopback test */ | 
 | 25 |  | 
 | 26 | typedef struct { | 
 | 27 | 	int device; | 
 | 28 | 	int channel; | 
 | 29 | 	unsigned long command; | 
 | 30 | 	void __user *dataptr; | 
 | 31 | } scs_ioctl; | 
 | 32 |  | 
 | 33 | /* Size of strings */ | 
 | 34 | #define SCIOC_SPIDSIZE		49 | 
 | 35 | #define SCIOC_DNSIZE		SCIOC_SPIDSIZE | 
 | 36 | #define SCIOC_REVSIZE		SCIOC_SPIDSIZE | 
 | 37 | #define SCIOC_SRECSIZE		49 | 
 | 38 |  | 
 | 39 | typedef struct { | 
 | 40 | 	unsigned long tx_good; | 
 | 41 | 	unsigned long tx_bad; | 
 | 42 | 	unsigned long rx_good; | 
 | 43 | 	unsigned long rx_bad; | 
 | 44 | } ChLinkStats; | 
 | 45 |  | 
 | 46 | typedef struct { | 
 | 47 | 	char spid[49]; | 
 | 48 | 	char dn[49]; | 
 | 49 | 	char call_type; | 
 | 50 | 	char phy_stat; | 
 | 51 | 	ChLinkStats link_stats; | 
 | 52 | } BRIStat; | 
 | 53 |  | 
 | 54 | typedef BRIStat POTStat; | 
 | 55 |  | 
 | 56 | typedef struct { | 
 | 57 | 	char call_type; | 
 | 58 | 	char call_state; | 
 | 59 | 	char serv_state; | 
 | 60 | 	char phy_stat; | 
 | 61 | 	ChLinkStats link_stats; | 
 | 62 | } PRIStat; | 
 | 63 |  | 
 | 64 | typedef char PRIInfo; | 
 | 65 | typedef char BRIInfo; | 
 | 66 | typedef char POTInfo; | 
 | 67 |  | 
 | 68 |  | 
 | 69 | typedef struct { | 
 | 70 | 	char acfa_nos; | 
 | 71 | 	char acfa_ais; | 
 | 72 | 	char acfa_los; | 
 | 73 | 	char acfa_rra; | 
 | 74 | 	char acfa_slpp; | 
 | 75 | 	char acfa_slpn; | 
 | 76 | 	char acfa_fsrf; | 
 | 77 | } ACFAStat; | 
 | 78 |  | 
 | 79 | typedef struct { | 
 | 80 | 	unsigned char modelid; | 
 | 81 | 	char serial_no[13]; | 
 | 82 | 	char part_no[13]; | 
 | 83 | 	char load_ver[11]; | 
 | 84 | 	char proc_ver[11]; | 
 | 85 | 	int iobase; | 
 | 86 | 	long rambase; | 
 | 87 | 	char irq; | 
 | 88 | 	long ramsize; | 
 | 89 | 	char interface; | 
 | 90 | 	char switch_type; | 
 | 91 | 	char l1_status; | 
 | 92 | 	char l2_status; | 
 | 93 | 	ChLinkStats dch_stats; | 
 | 94 | 	ACFAStat AcfaStats; | 
 | 95 | 	union { | 
 | 96 | 		PRIStat pristats[23]; | 
 | 97 | 		BRIStat bristats[2]; | 
 | 98 | 		POTStat potsstats[2]; | 
 | 99 | 	} status; | 
 | 100 | 	union { | 
 | 101 | 		PRIInfo priinfo; | 
 | 102 | 		BRIInfo briinfo; | 
 | 103 | 		POTInfo potsinfo; | 
 | 104 | 	} info; | 
 | 105 | } boardInfo; |