Home up
       isdninfo - ISDN status device


SYNOPSIS

       #include <linux/isdn.h>


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 sep­
       arated by whitespace.

       idmap  is  the  tag  of  the  first line. In this line for
              every virtual channel, the Id-string of the  corre­
              sponding  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  vir­
              tual channel, the channel number of the correspond­
              ing lowlevel driver  is  shown.  If  no  driver  is
              loaded, -1 is shown.

       drmap  is  the  tag of line 3. In this line for every vir­
              tual 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  vir­
              tual  channel, the current usage is shown. The fol­
              lowing usage constants are defined:

              ISDN_USAGE_NONE (0)
                     Unused channel

              ISDN_USAGE_RAW (1)
                     Channel used by raw device (currently unsup­
                     ported)

              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.

                     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 log­
                     ically 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 established 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 vir­
              tual channel, the remote phone number is  shown  if
              the channel is active. A ??? is shown, if the chan­
              nel 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 var­
              ious 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
                     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/isd­
              ninfo, /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).


AUTHOR

       Fritz Elfert <fritz@wuemaus.franken.de>

       isdnctrl(4), icnctrl(4).