• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-brcm-linux-uclibcgnueabi/sysroot/usr/include/linux/
1/* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
2 *
3 * Main header for the Linux ISDN subsystem (linklevel).
4 *
5 * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
6 * Copyright 1995,96    by Thinking Objects Software GmbH Wuerzburg
7 * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
8 *
9 * This software may be used and distributed according to the terms
10 * of the GNU General Public License, incorporated herein by reference.
11 *
12 */
13
14#ifndef __ISDN_H__
15#define __ISDN_H__
16
17#include <linux/ioctl.h>
18
19#define ISDN_MAX_DRIVERS    32
20#define ISDN_MAX_CHANNELS   64
21
22/* New ioctl-codes */
23#define IIOCNETAIF  _IO('I',1)
24#define IIOCNETDIF  _IO('I',2)
25#define IIOCNETSCF  _IO('I',3)
26#define IIOCNETGCF  _IO('I',4)
27#define IIOCNETANM  _IO('I',5)
28#define IIOCNETDNM  _IO('I',6)
29#define IIOCNETGNM  _IO('I',7)
30#define IIOCGETSET  _IO('I',8) /* no longer supported */
31#define IIOCSETSET  _IO('I',9) /* no longer supported */
32#define IIOCSETVER  _IO('I',10)
33#define IIOCNETHUP  _IO('I',11)
34#define IIOCSETGST  _IO('I',12)
35#define IIOCSETBRJ  _IO('I',13)
36#define IIOCSIGPRF  _IO('I',14)
37#define IIOCGETPRF  _IO('I',15)
38#define IIOCSETPRF  _IO('I',16)
39#define IIOCGETMAP  _IO('I',17)
40#define IIOCSETMAP  _IO('I',18)
41#define IIOCNETASL  _IO('I',19)
42#define IIOCNETDIL  _IO('I',20)
43#define IIOCGETCPS  _IO('I',21)
44#define IIOCGETDVR  _IO('I',22)
45#define IIOCNETLCR  _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
46#define IIOCNETDWRSET  _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
47
48#define IIOCNETALN  _IO('I',32)
49#define IIOCNETDLN  _IO('I',33)
50
51#define IIOCNETGPN  _IO('I',34)
52
53#define IIOCDBGVAR  _IO('I',127)
54
55#define IIOCDRVCTL  _IO('I',128)
56
57/* cisco hdlck device private ioctls */
58#define SIOCGKEEPPERIOD	(SIOCDEVPRIVATE + 0)
59#define SIOCSKEEPPERIOD	(SIOCDEVPRIVATE + 1)
60#define SIOCGDEBSERINT	(SIOCDEVPRIVATE + 2)
61#define SIOCSDEBSERINT	(SIOCDEVPRIVATE + 3)
62
63/* Packet encapsulations for net-interfaces */
64#define ISDN_NET_ENCAP_ETHER      0
65#define ISDN_NET_ENCAP_RAWIP      1
66#define ISDN_NET_ENCAP_IPTYP      2
67#define ISDN_NET_ENCAP_CISCOHDLC  3 /* Without SLARP and keepalive */
68#define ISDN_NET_ENCAP_SYNCPPP    4
69#define ISDN_NET_ENCAP_UIHDLC     5
70#define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive    */
71#define ISDN_NET_ENCAP_X25IFACE   7 /* Documentation/networking/x25-iface.txt*/
72#define ISDN_NET_ENCAP_MAX_ENCAP  ISDN_NET_ENCAP_X25IFACE
73
74/* Facility which currently uses an ISDN-channel */
75#define ISDN_USAGE_NONE       0
76#define ISDN_USAGE_RAW        1
77#define ISDN_USAGE_MODEM      2
78#define ISDN_USAGE_NET        3
79#define ISDN_USAGE_VOICE      4
80#define ISDN_USAGE_FAX        5
81#define ISDN_USAGE_MASK       7 /* Mask to get plain usage */
82#define ISDN_USAGE_DISABLED  32 /* This bit is set, if channel is disabled */
83#define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
84#define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing  */
85
86#define ISDN_MODEM_NUMREG    24        /* Number of Modem-Registers        */
87#define ISDN_LMSNLEN         255 /* Length of tty's Listen-MSN string */
88#define ISDN_CMSGLEN	     50	 /* Length of CONNECT-Message to add for Modem */
89
90#define ISDN_MSNLEN          32
91#define NET_DV 0x06  /* Data version for isdn_net_ioctl_cfg   */
92#define TTY_DV 0x06  /* Data version for iprofd etc.          */
93
94#define INF_DV 0x01  /* Data version for /dev/isdninfo        */
95
96typedef struct {
97  char drvid[25];
98  unsigned long arg;
99} isdn_ioctl_struct;
100
101typedef struct {
102  char name[10];
103  char phone[ISDN_MSNLEN];
104  int  outgoing;
105} isdn_net_ioctl_phone;
106
107typedef struct {
108  char name[10];     /* Name of interface                     */
109  char master[10];   /* Name of Master for Bundling           */
110  char slave[10];    /* Name of Slave for Bundling            */
111  char eaz[256];     /* EAZ/MSN                               */
112  char drvid[25];    /* DriverId for Bindings                 */
113  int  onhtime;      /* Hangup-Timeout                        */
114  int  charge;       /* Charge-Units                          */
115  int  l2_proto;     /* Layer-2 protocol                      */
116  int  l3_proto;     /* Layer-3 protocol                      */
117  int  p_encap;      /* Encapsulation                         */
118  int  exclusive;    /* Channel, if bound exclusive           */
119  int  dialmax;      /* Dial Retry-Counter                    */
120  int  slavedelay;   /* Delay until slave starts up           */
121  int  cbdelay;      /* Delay before Callback                 */
122  int  chargehup;    /* Flag: Charge-Hangup                   */
123  int  ihup;         /* Flag: Hangup-Timeout on incoming line */
124  int  secure;       /* Flag: Secure                          */
125  int  callback;     /* Flag: Callback                        */
126  int  cbhup;        /* Flag: Reject Call before Callback     */
127  int  pppbind;      /* ippp device for bindings              */
128  int  chargeint;    /* Use fixed charge interval length      */
129  int  triggercps;   /* BogoCPS needed for triggering slave   */
130  int  dialtimeout;  /* Dial-Timeout                          */
131  int  dialwait;     /* Time to wait after failed dial        */
132  int  dialmode;     /* Flag: off / on / auto                 */
133} isdn_net_ioctl_cfg;
134
135#define ISDN_NET_DIALMODE_MASK  0xC0    /* bits for status                */
136#define ISDN_NET_DM_OFF	        0x00    /* this interface is stopped      */
137#define ISDN_NET_DM_MANUAL	0x40    /* this interface is on (manual)  */
138#define ISDN_NET_DM_AUTO	0x80    /* this interface is autodial     */
139#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
140
141
142#endif /* __ISDN_H__ */
143