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