Man Linux: Main Page and Category List

NAME

       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 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 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 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).

AUTHOR

       Fritz Elfert <fritz@isdn4linux.de>

SEE ALSO

       isdnctrl(4), icnctrl(4).