4:isdninfo

From Linux Man Pages

Jump to: navigation, search
      isdninfo - ISDN status device
      
      #include <linux/isdn.h>

Contents

DESCRIPTION

      /dev/isdninfo  is  a  character device with major number 45 and minor number 255.  It delivers status information
      from the Linux ISDN subsystem to user level.

DATA FORMAT

      When reading from this device, the current status of the Linux ISDN subsystem is delivered in 6  lines  of  text.
      Each  line starts with a tag string followed by a colon and whitespace. After that the status values are appended
      separated by whitespace.
 
      idmap  is the tag of the first line. In this line for every virtual channel, the Id-string of  the  corresponding
             lowlevel driver is shown. If no driver is loaded, a - (hyphen) is shown.
 
      chmap  is  the  tag  of  line  2. In this line for every virtual channel, the channel number of the corresponding
             lowlevel driver is shown. If no driver is loaded, -1 is shown.
 
      drmap  is the tag of line 3. In this line for every virtual  channel,  the  index  number  of  the  corresponding
             lowlevel driver is shown. If no driver is loaded, -1 is shown.
 
      usage  is  the  tag  of line 4. In this line for every virtual channel, the current usage is shown. The following
             usage constants are defined:
 
             ISDN_USAGE_NONE(0)
                    Unused channel
 
             ISDN_USAGE_RAW(1)
                    Channel used by raw device (currently unsupported)
 
             ISDN_USAGE_MODEM(2)
                    Channel used by some ttyI
 
             ISDN_USAGE_NET(3)
                    Channel used by an ISDN net-interface
 
             ISDN_USAGE_VOICE(4)
                    Channel used by some ttyI in voice mode.
 
             ISDN_USAGE_EXCLUSIVE(64)
                    Channel exclusively preserved for a net-interface. This value is logically or'ed with  one  of  the
                    other codes.
 
             ISDN_USAGE_OUTGOING (128)
                    Channel  is  used  outgoing.  This value is logically or'ed with one of the other codes. It is set,
                    when dialling is started and reset, when either dialling failed or after hangup. Therefore,  it  is
                    not  always  an  indicator for an established connection. To get a reliable indicator for an estab-
                    lished connection, the driver flags (see below) have to be inspected also.
 
      flags  is the tag of line 5. In this line for every driver slot, it's B-Channel status is shown. If no driver  is
             registered  in  a  slot, a ? is shown.  For every established B-Channel of the driver, a bit is set in the
             shown value. The driver's first channel is mapped to bit 0, the second channel to bit 1 and so on.
 
      phone  is the tag of line 6. In this line for every virtual channel, the remote phone  number  is  shown  if  the
             channel is active. A ??? is shown, if the channel is inactive.

BLOCKING BEHAVIOUR

      After  opening  the  device,  at  most  6  lines  can be read by a user process.  After that, the user process is
      blocked. Whenever a status change happens, the process is allowed to read 6 more lines, starting with line one.

IOCTL FUNCTIONS

      Currently, there are two ioctl calls supported:
 
      IIOCGETDVR
             Get Revision information.
             Returns an unsigned long value v, representing various user level interface revisions, where
 
             (v & 0xff)
                    is the revision of the modem-register info, available via ioctl on /dev/isdnctrl.
 
             ((v >> 8) & 0xff)
                    is the revision of the net-interface config data, available via ioctl on /dev/isdnctrl.  and
 
             ((v >> 16) & 0xff)
                    is the revision of the data delivered via /dev/isdninfo itself.
 
      IIOCGETCPS
             Get transfer statistics.
             Returns the number of bytes transferred so far for all virtual channels. The third parameter should  be  a
             pointer  to  an  array  of unsigned long of size ISDN_MAX_CHANNELS * 2. This array is filled with the byte
             counter values upon return.

OTHER CONSTANTS

      There are some more useful constants defined in /usr/include/linux/isdn.h:
 
      ISDN_TTY_MAJOR
             The major device number of /dev/ttyI.
 
      ISDN_TTYAUX_MAJOR
             The major device number of /dev/cui.
 
      ISDN_MAJOR
             The major device number of /dev/isdnctrl, /dev/isdninfo, /dev/ippp and /dev/isdn
 
      ISDN_MAX_DRIVERS
             The number of driver slots.
 
      ISDN_MAX_CHANNELS
             The number of virtual channels.
 
      ISDN_MINOR_CTRL
             The minor device number of /dev/isdnctrl0.
 
      ISDN_MINOR_CTRLMAX
             The minor device number of /dev/isdnctrl63.
 
      ISDN_MINOR_PPP
             The minor device number of /dev/ippp0.
 
      ISDN_MINOR_PPPMAX
             The minor device number of /dev/ippp64.
 
      ISDN_MINOR_STATUS
             The minor device number of /dev/isdninfo.
 
      Other constants, necessary for ioctl's on /dev/isdnctrl are listed in isdnctrl(4).

RELATED

      isdnctrl(4), icnctrl(4).

CATEGORY

Personal tools