Home up
       isdnctrl - ISDN control device


SYNOPSIS

       #include <linux/isdn.h>


DESCRIPTION

       /dev/isdnctrl  is  a character device with major number 45
       and minor numbers 64 to 127.  It allows controlling  func­
       tionality of the Linux ISDN subsystem.


IOCTL FUNCTIONS

       Currently, the following ioctl calls are supported:

       IIOCNETAIF
              Add an ISDN network interface.
              This  function adds a network interface to the ker­
              nel's device table.  This  interface  can  be  used
              just like normal eth interfaces.

              Argument:
                     arg should point to a zero terminated string
                     of max. 10 characters.  if arg is NULL,  the
                     kernel assigns a name.

              Return:
                     On success, the name of the new interface is
                     copied to arg.  and the call returns  0.  On
                     failure, an error code is returned.

       IIOCNETASL
              Create a slave interface.
              Creates  a  slave interface for RAW-device channel-
              bundling.  These devices behave like network-inter­
              faces, execpt they are invisible to user. Only ISDN
              parameters can be controlled, but no IP-parameters.
              IP-parameters  are inherited from the corresponding
              master-device.

              Argument:
                     arg should point to a zero terminated string
                     of  max. 21 characters containing two comma-
                     separated names. The first part is the  name
                     of  an  existing  ISDN network device, which
                     will be master. The second part will be  the
                     name of the new slave interface.

              Return:
                     On success, the name of the new interface is
                     copied to arg.  and the call returns  0.  On
                     failure, an error code is returned.

       IIOCNETDIF
              face.

              Argument:
                     arg should point to a zero terminated string
                     of  max.  10  characters  naming an existing
                     interface which  will  be  deleted.  If  the
                     interface  is  a  master interface, all it's
                     slave-interfaces will be deleted also.

              Return:
                     On success, the call returns 0. On  failure,
                     an error code is returned.

       IIOCNETSCF
              Set  configurable  parameters  of  an  ISDN network
              interface.
              This call replaces all ISDN related  parameters  of
              an interface by the parameters given.

              Argument:
                     arg should point to a struct
                     isdn_net_ioctl_cfg

              Return:
                     On  success, the call returns 0. On failure,
                     an error code is returned.

       IIOCNETGCF
              Get configurable  parameters  of  an  ISDN  network
              interface.
              This call returns all ISDN related parameters of an
              interface.

              Argument:
                     arg    shoud    point    to     a     struct
                     isdn_net_ioctl_cfg (defined in linux/isdn.h)
                     which will be filled by the current setup.

              Return:
                     On success,  the  call  returns  0  and  the
                     interface-setup  is copied to *arg. On fail­
                     ure, an error code is returned.

       IIOCNETANM
              Add a phone number to an ISDN network interface.
              This call adds a phone number to an  existing  net­
              work interface.

              Argument:
                     arg     shoud     point    to    a    struct
                     isdn_net_ioctl_phone which  contains  neces­
                     sary information.
                     On success, the call returns 0 and the phone
                     number is added to either outgoing or incom­
                     ing  number  list. On failure, an error code
                     is returned.

       IIOCNETDNM
              Delete a phone number from an ISDN  network  inter­
              face.
              This  call  deletes a phone number from an existing
              network interface.

              Argument:
                     arg    shoud    point    to     a     struct
                     isdn_net_ioctl_phone which  contains  neces­
                     sary information.

              Return:
                     On success, the call returns 0 and the phone
                     number  is  deleted  from either outgoing or
                     incoming number list. On failure,  an  error
                     code is returned.

       IIOCNETGNM
              Get  list  of  phone  numbers  from an ISDN network
              interface.
              This call returns the list of phone numbers associ­
              ated to an existing network interface.

              Argument:
                     arg  shoud  point  to  a  a  union of struct
                     isdn_net_ioctl_phone  and  a  buffer,  large
                     enough   to  hold  a  concatenated  list  of
                     strings containing the phone numbers.

              Return:
                     On success, the call returns 0 and the  list
                     of phone numbers is returned as a space-sep­
                     arated list of number-strings terminated  by
                     a NULL byte.

       IIOCNETDIL
              Trigger dialing of an ISDN network interface.
              This  call  initiates  dialing  of  an ISDN network
              interface, if it is not connected.  Normally,  this
              ioctl is not needed, because ISDN network interface
              perform dial on demand by deafult.

              Argument:
                     arg should point to a zero terminated string
                     of  max.  10  characters  naming the desired
                     interface.

                     On success,  the  call  returns  0  and  the
                     interface starts dialing.

       IIOCNETHUP
              Hangup an ISDN network interface.
              This  call  initiates  hangup  of  an  ISDN network
              interface, if it is connected.

              Argument:
                     arg should point to a zero terminated string
                     of  max.  10  characters  naming the desired
                     interface.

              Return:
                     On success,  the  call  returns  0  and  the
                     interface hangs up.

       IIOCNETALN
              Add a link of an MPP-configured ISDN network inter­
              face.
              This call  initiates  dialing  of  a  Multilink-PPP
              slave  ISDN  network  interface,  if it is not con­
              nected.

              Argument:
                     arg should point to a zero terminated string
                     of  max.  10  characters  naming the desired
                     interface.

              Return:
                     On success,  the  call  returns  0  and  the
                     interface starts dialing.

       IIOCNETDLN
              Hangup an MPP-configured ISDN network interface.
              This call initiates hangup of an Multilink-PPP ISDN
              network interface, if it is connected.

              Argument:
                     arg should point to a zero terminated string
                     of  max.  10  characters  naming the desired
                     interface.

              Return:
                     On success,  the  call  returns  0  and  the
                     interface hangs up.

       IIOCNETARU
              Add a timeout rule to an ISDN network interface.
              This call adds a timeout rule to an existing inter­
              face.

                     arg    should    point    to    a     struct
                     isdn_ioctl_timeout_rule  containing the nec­
                     essary parameters.

              Return:
                     On success, the call returns 0 and the  rule
                     is  added to the rule list of the interface.

       IIOCNETDRU
              Delete a timeout rule from an ISDN  network  inter­
              face.
              This  call  deletes a timeout rule from an existing
              interface.

              Argument:
                     arg    should    point    to    a     struct
                     isdn_ioctl_timeout_rule  containing the nec­
                     essary parameters.

              Return:
                     On success, the call returns 0 and the  rule
                     is  deleted from the rule list of the inter­
                     face.

       IIOCNETGRU
              Get a timeout rule from an ISDN network  interface.
              This  call  returns a timeout rule from an existing
              interface.

              Argument:
                     arg    should    point    to    a     struct
                     isdn_ioctl_timeout_rule  containing the nec­
                     essary parameters.

              Return:
                     On success,  the  call  returns  0  and  the
                     struct  is  filled from the rule list of the
                     interface.

       IIOCNETBUD
              Handle budget accounting of an ISDN network  inter­
              face.

              Argument and Return:
                     to be defined.

       IIOCSETVER
              Set verbosity of link level.

              Argument:
                     arg  is an integer, defining the new verbose
                     value.
                     This call always returns 0.

       IIOCSETGST
              Set global stop flag of link level.

              Argument:
                     arg is an integer,  defining  the  new  stop
                     flag value (0 or !0).

              Return:
                     This call always returns 0.

       IIOCSETBRJ
              Set busreject flag of a lowlevel driver.

              Argument:
                     arg    should    point    to    an    struct
                     isdn_ioctl_struct containing the driver's ID
                     and the value of the busreject flag.

              Return:
                     On  success, the call returns 0 and the bus­
                     reject flag of the selected  driver  is  set
                     according the given parameter.

       IIOCSIGPRF
              Enable signaling on change of modem profiles.
              With  this  call, the calling process is registered
              to receive a SIGIO on every change of any  register
              of any ttyI. Thus it can read register settings and
              save them to a file. The  calling  process  has  to
              keep  the device open in order to receive notifica­
              tions.  As soon as it closes the device,  registra­
              tion is deleted.

              Argument:
                     none

              Return:
                     This call always returns 0.

       IIOCGETPRF
              Get all modem register settings.
              With  this  call,  all  modem registers of all ttyI
              devices can be read.

              Argument:
                     arg should point to a  buffer  of  length
                     (ISDN_MODEM_ANZREG + ISDN_MSNLEN) *
                     ISDN_MAX_CHANNELS.

              Return:

       IIOCSETPRF
              Set all modem register settings.
              With  this  call,  all  modem registers of all ttyI
              devices can be written.

              Argument:
                     arg should point to a  buffer  of  length
                     (ISDN_MODEM_ANZREG + ISDN_MSNLEN) *
                     ISDN_MAX_CHANNELS  filled with  the  values
                     of all modem registers.

              Return:
                     On  return, the modem registers are set from
                     the contents of the provided buffer.

       IIOCSETMAP
              Set Mapping table.
              This call is used  to  set  EAZ/MSN  mapping  of  a
              lowlevel driver.

              Argument:
                     arg     should    point    to    a    struct
                     isdn_ioctl_struct containing  the  necessary
                     parameters.

              Return:
                     On  success,  the  mapping table is set from
                     the given parameters an the call returns  0.

       IIOCGETMAP
              Get Mapping table.
              This  call  is  used  to  get  EAZ/MSN mapping of a
              lowlevel driver.

              Argument:
                     arg    should    point    to    a     struct
                     isdn_ioctl_struct containing  the  necessary
                     parameters.

              Return:
                     On success, the current mapping table of the
                     given   driver  is  returned  and  the  call
                     returns 0.



AUTHOR

       Fritz Elfert <fritz@wuemaus.franken.de>


SEE ALSO

       isdninfo(4), icnctrl(4).