Provided by: isdnutils-base_3.12.20071127-0ubuntu5_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).