1isdninfo(4) Special files isdninfo(4)
2
3
4
6 isdninfo - ISDN status device
7
9 #include <linux/isdn.h>
10
12 /dev/isdninfo is a character device with major number 45 and minor num‐
13 ber 255. It delivers status information from the Linux ISDN subsystem
14 to user level.
15
17 When reading from this device, the current status of the Linux ISDN
18 subsystem is delivered in 6 lines of text. Each line starts with a tag
19 string followed by a colon and whitespace. After that the status values
20 are appended separated by whitespace.
21
22 idmap is the tag of the first line. In this line for every virtual
23 channel, the Id-string of the corresponding lowlevel driver is
24 shown. If no driver is loaded, a - (hyphen) is shown.
25
26 chmap is the tag of line 2. In this line for every virtual channel,
27 the channel number of the corresponding lowlevel driver is
28 shown. If no driver is loaded, -1 is shown.
29
30 drmap is the tag of line 3. In this line for every virtual channel,
31 the index number of the corresponding lowlevel driver is shown.
32 If no driver is loaded, -1 is shown.
33
34 usage is the tag of line 4. In this line for every virtual channel,
35 the current usage is shown. The following usage constants are
36 defined:
37
38 ISDN_USAGE_NONE (0)
39 Unused channel
40
41 ISDN_USAGE_RAW (1)
42 Channel used by raw device (currently unsupported)
43
44 ISDN_USAGE_MODEM (2)
45 Channel used by some ttyI
46
47 ISDN_USAGE_NET (3)
48 Channel used by an ISDN net-interface
49
50 ISDN_USAGE_VOICE (4)
51 Channel used by some ttyI in voice mode.
52
53 ISDN_USAGE_EXCLUSIVE (64)
54 Channel exclusively preserved for a net-interface. This
55 value is logically or'ed with one of the other codes.
56
57 ISDN_USAGE_OUTGOING (128)
58 Channel is used outgoing. This value is logically or'ed
59 with one of the other codes. It is set, when dialling is
60 started and reset, when either dialling failed or after
61 hangup. Therefore, it is not always an indicator for an
62 established connection. To get a reliable indicator for
63 an established connection, the driver flags (see below)
64 have to be inspected also.
65
66 flags is the tag of line 5. In this line for every driver slot, it's
67 B-Channel status is shown. If no driver is registered in a slot,
68 a ? is shown. For every established B-Channel of the driver, a
69 bit is set in the shown value. The driver's first channel is
70 mapped to bit 0, the second channel to bit 1 and so on.
71
72 phone is the tag of line 6. In this line for every virtual channel,
73 the remote phone number is shown if the channel is active. A ???
74 is shown, if the channel is inactive.
75
76
78 After opening the device, at most 6 lines can be read by a user
79 process. After that, the user process is blocked. Whenever a status
80 change happens, the process is allowed to read 6 more lines, starting
81 with line one.
82
83
85 Currently, there are two ioctl calls supported:
86
87 IIOCGETDVR
88 Get Revision information.
89 Returns an unsigned long value v, representing various user
90 level interface revisions, where
91
92 (v & 0xff)
93 is the revision of the modem-register info, available via
94 ioctl on /dev/isdnctrl.
95
96 ((v >> 8) & 0xff)
97 is the revision of the net-interface config data, avail‐
98 able via ioctl on /dev/isdnctrl. and
99
100 ((v >> 16) & 0xff)
101 is the revision of the data delivered via /dev/isdninfo
102 itself.
103
104 IIOCGETCPS
105 Get transfer statistics.
106 Returns the number of bytes transferred so far for all virtual
107 channels. The third parameter should be a pointer to an array of
108 unsigned long of size ISDN_MAX_CHANNELS * 2. This array is
109 filled with the byte counter values upon return.
110
112 There are some more useful constants defined in
113 /usr/include/linux/isdn.h:
114
115 ISDN_TTY_MAJOR
116 The major device number of /dev/ttyI.
117
118 ISDN_TTYAUX_MAJOR
119 The major device number of /dev/cui.
120
121 ISDN_MAJOR
122 The major device number of /dev/isdnctrl, /dev/isdninfo,
123 /dev/ippp and /dev/isdn
124
125 ISDN_MAX_DRIVERS
126 The number of driver slots.
127
128 ISDN_MAX_CHANNELS
129 The number of virtual channels.
130
131 ISDN_MINOR_CTRL
132 The minor device number of /dev/isdnctrl0.
133
134 ISDN_MINOR_CTRLMAX
135 The minor device number of /dev/isdnctrl63.
136
137 ISDN_MINOR_PPP
138 The minor device number of /dev/ippp0.
139
140 ISDN_MINOR_PPPMAX
141 The minor device number of /dev/ippp64.
142
143 ISDN_MINOR_STATUS
144 The minor device number of /dev/isdninfo.
145
146 Other constants, necessary for ioctl's on /dev/isdnctrl are listed in
147 isdnctrl(4).
148
150 Fritz Elfert <fritz@isdn4linux.de>
151
153 isdnctrl(4), icnctrl(4).
154
155
156
157ISDN 4 Linux 3.13 1999/09/06 isdninfo(4)