Provided by: isdnutils-base_3.12.20071127-0ubuntu11_i386 bug

NAME

       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 functionality  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 kernel'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-interfaces, 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
              Delete a network-interface.
              This call deletes an existing ISDN network interface.

              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  shoud  point to a struct isdn_net_ioctl_cfg (defined
                     in linux/isdn.h)

              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 failure, an error code is returned.

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

              Argument:
                     arg shoud point to a  struct  isdn_net_ioctl_phone  which
                     contains necessary information.

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

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

              Argument:
                     arg shoud point to a  struct  isdn_net_ioctl_phone  which
                     contains necessary 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 associated 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-separated 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.

              Return:
                     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 interface.
              This call  initiates  dialing  of  a  Multilink-PPP  slave  ISDN
              network interface, if it is not 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  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 interface.

              Argument:
                     arg should  point  to  a  struct  isdn_ioctl_timeout_rule
                     containing the necessary 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 interface.
              This call deletes a timeout rule from an existing interface.

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

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

       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 necessary 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 interface.

              Argument and Return:
                     to be defined.

       IIOCSETVER
              Set verbosity of link level.

              Argument:
                     arg is an integer, defining the new verbose value.

              Return:
                     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 busreject 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
              notifications.  As soon as it closes the device, registration 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:
                     On  return,  the  provided  buffer  is  filled  with  the
                     register values.

       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.

       IIOCDRVCTL
              Lowlevel driver ioctl.
              This call is used for controlling various lowlevel drivers.  The
              ioctl-code  for  this  command is assembled by adding IIOCDRVCTL
              (128) and the desired driver ioctl-code. Therefore,  a  lowlevel
              driver can understand a maximum of 127 different ioctls.

              Argument:
                     arg should point to a struct isdn_ioctl_struct containing
                     the necessary parameters, especially the  driver-Id  must
                     be   filled   correctly.   The   arg   component   inside
                     isdn_ioctl_struct is handed down to  the  driver's  ioctl
                     function.  Its meaning is not defined here and depends on
                     the lowlevel driver. See documentation  for  the  various
                     lewlevel  drivers  for information about driver- specific
                     ioctl.

              Return:
                     The return code depends on the driver's  ioctl  function.
                     Usually, 0 means no error.

AUTHOR

       Fritz Elfert <fritz@isdn4linux.de>

SEE ALSO

       isdninfo(4), icnctrl(4).