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