OpenCloudOS-Kernel/drivers/isdn/sc/scioc.h

111 lines
2.3 KiB
C

#ifndef __ISDN_SC_SCIOC_H__
#define __ISDN_SC_SCIOC_H__
/*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
*/
/*
* IOCTL Command Codes
*/
#define SCIOCLOAD 0x01 /* Load a firmware record */
#define SCIOCRESET 0x02 /* Perform hard reset */
#define SCIOCDEBUG 0x03 /* Set debug level */
#define SCIOCREV 0x04 /* Get driver revision(s) */
#define SCIOCSTART 0x05 /* Start the firmware */
#define SCIOCGETSWITCH 0x06 /* Get switch type */
#define SCIOCSETSWITCH 0x07 /* Set switch type */
#define SCIOCGETSPID 0x08 /* Get channel SPID */
#define SCIOCSETSPID 0x09 /* Set channel SPID */
#define SCIOCGETDN 0x0A /* Get channel DN */
#define SCIOCSETDN 0x0B /* Set channel DN */
#define SCIOCTRACE 0x0C /* Toggle trace mode */
#define SCIOCSTAT 0x0D /* Get line status */
#define SCIOCGETSPEED 0x0E /* Set channel speed */
#define SCIOCSETSPEED 0x0F /* Set channel speed */
#define SCIOCLOOPTST 0x10 /* Perform loopback test */
typedef struct {
int device;
int channel;
unsigned long command;
void __user *dataptr;
} scs_ioctl;
/* Size of strings */
#define SCIOC_SPIDSIZE 49
#define SCIOC_DNSIZE SCIOC_SPIDSIZE
#define SCIOC_REVSIZE SCIOC_SPIDSIZE
#define SCIOC_SRECSIZE 49
typedef struct {
unsigned long tx_good;
unsigned long tx_bad;
unsigned long rx_good;
unsigned long rx_bad;
} ChLinkStats;
typedef struct {
char spid[49];
char dn[49];
char call_type;
char phy_stat;
ChLinkStats link_stats;
} BRIStat;
typedef BRIStat POTStat;
typedef struct {
char call_type;
char call_state;
char serv_state;
char phy_stat;
ChLinkStats link_stats;
} PRIStat;
typedef char PRIInfo;
typedef char BRIInfo;
typedef char POTInfo;
typedef struct {
char acfa_nos;
char acfa_ais;
char acfa_los;
char acfa_rra;
char acfa_slpp;
char acfa_slpn;
char acfa_fsrf;
} ACFAStat;
typedef struct {
unsigned char modelid;
char serial_no[13];
char part_no[13];
char load_ver[11];
char proc_ver[11];
int iobase;
long rambase;
char irq;
long ramsize;
char interface;
char switch_type;
char l1_status;
char l2_status;
ChLinkStats dch_stats;
ACFAStat AcfaStats;
union {
PRIStat pristats[23];
BRIStat bristats[2];
POTStat potsstats[2];
} status;
union {
PRIInfo priinfo;
BRIInfo briinfo;
POTInfo potsinfo;
} info;
} boardInfo;
#endif /* __ISDN_SC_SCIOC_H__ */