This document details the entry points you can call without the DrakX graohical
toolkit. First, the general variables you will encounter further. If you don't
know wht a variable is, look here. Any additional locally variables are
commented 'in place'
------------------------------
Special types (in upper cases)
------------------------------
DB_FILE : file storing the ISDN ISP database. see share/isdndb.txt : file of lines in 'Unlisted - edit manually' or /^(.*)\|(.*)\|(.*)=>([0-9]*)=>(.*)=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ where $1=Land $2=City $3=ISP_name $4=phone_number $5=hostname $6=dns1 $7=dns2
---------------------------------------------------------------------------------------
Summary of common variables used (local variables are described in the function itself)
---------------------------------------------------------------------------------------
notation : keys : description : type : format (regexp or enumeration. `...' means it's not exhaustive
$prefix : prefix path (empty in post-install) : string : path
$isLaptop : flag for laptop : boolean or int : guess
$isdn : hash table containing isdn infos
$isdn->{login} : cnx login : string
$isdn->{passwd} : cnx passwd : string
$isdn->{phone_in} : user phone : /^[0-9]*$/
$isdn->{phone_out} : ISP phone : /^[0-9]*$/
$isdn->{dialing_mode} : dialing mode : "auto" or "manual"
$isdn->{driver} : driver used for the card : "hisax" or "b1pci" or ...
$isdn->{type} : type of card, used for the driver, see netconnect_consts : integer : /^[1-22]|[24-37]$/
$isdn->{irq} : irq of the ISA card : integer |
$isdn->{mem} : mem of the ISA card : string |
$isdn->{io} : io of the ISA card : string | see netconnect_consts for examples.
$isdn->{io0} : io0 of the ISA card : string |
$isdn->{io1} : i01 of the ISA card : string |
$isdn->{idl} : amount of time after the cnx times out in secs : int
$isdn->{user_name} : not used anymore. Not explicit. It represented the name of the connexion.
$isdn->{card_type} : card type : string : "isa" or "pci" or "pcmcia"
$isdn->{protocol} : cnx protocol : int : 1|2|3 : 1 for old german specific (not used anymore), 2 for europe, 3 for rest of the world
$isdn->{id} : card id. Associated with vendor, identify strictly the card. see pcitable : integer
$isdn->{description} : card description from pcitable : string
$isdn->{vendor} : card vendor : integer
$isdn->{passwd2} : passwd verification : string
$modem : hash table containing modem infos
$modem->{device} : device of the modem : string : /ttyS[0-9]/
$adsl : hash table containing modem infos
$adsl->{login} : cnx login : string
$adsl->{passwd} : cnx passwd : string
$adsl->{atboot} :
$netc : hash table containing system-wide networking infos (maybe not true, correct this) :
$netc->{NET_DEVICE}
$netc->{dnsServer2}
$netc->{dnsServer3}
$netc->{DOMAINNAME2}
$netc->{NET_INTERFACE} is set to "ppp0"
$in : interactive object
------------
Entry points
------------
isdn_write_config_backend : write isdn info, only for ippp0 -> ask_connect_now
input :
$prefix
$isdn
$isdn input:
$isdn->{login} $isdn->{passwd} $isdn->{phone_in} $isdn->{phone_out} $isdn->{dialing_mode}
$isdn->{driver} $isdn->{type} $isdn->{irq} $isdn->{mem} $isdn->{io} $isdn->{io0} $isdn->{io1}
write_secret_backend : write login and passwd into /etc/ppp/{chap, pap}-secrets. Replace old passwd only if same login
input :
$a : login : string : /^.*$/
$b : passwd : string : /^.*$/
connect_backend : launch the cnx script
input : $prefix
connect_backend : launch the cnx script
input : $prefix
read_providers_backend : build the tree of isdn ISP
input :
$file : 1st location of the file : ISDN_DB_FILE
$file2 : 2nd location of the file : ISDN_DB_FILE
output : the list of ISP : array of strings : array of /^(.*)\|(.*)\|(.*)$/ where $1=Land $2=City $3=ISP_name
get_info_isdn_backend : fills the infos from the line of the tree returned into $isdn and $netc
input :
$isdn
$netc
$name : the line choosen in the tree of ISP : string : /^(.*)\|(.*)\|(.*)$/ with $1=Land $2=City $3=ISP_name
$file : 1st location of the file : ISDN_DB_FILE
$file2 : 2nd location of the file : ISDN_DB_FILE
$isdn ouput
$isdn->{user_name}, $isdn->{phone_out}, $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3},
$netc output
$netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3}
isdn_detect_backend : detects isdn pci card and fills the infos in $isdn : only detects one card
input
$isdn
$isdn output:
$isdn->{description} $isdn->{vendor} $isdn->{id} $isdn->{driver} $isdn->{card_type} $isdn->{type}
isdn_get_list : return isdn cards descriptions list. This function is not use internally.
output : descriptions : list of strings
isdn_get_info : return isdn card infos. This function is not use internally.
input : the description of the card (see isdn_get_list)
output : a reference on the decription of the card. : ref on a hash(description,type,irq,mem,io,io0,io1card,)
conf_network_card_backend : configure the network cards and return the list of them, or configure one specified interface : WARNING, you have to setup the ethernet cards, by calling setup_thiskind($in, 'net', !$::expert, 1) or setup_thiskind_backend before calling this function. Basically, you call this function in 2 times.
input
$prefix
$netc
$intf
$type : type of interface, must be given if $interface is : string : "static" or "dhcp"
$interface : facultative, if given, set this interface and return it in a proper form. If not, return @all_cards
$ipadr : facultative, ip address of the interface : string
$netadr : facultative, netaddress of the interface : string
when $interface is given, informations are written in $intf and $netc. If not, @all_cards is returned.
$intf output: $device is the result of
$intf->{$device}->{DEVICE} : which device is concerned : $device is the result of $interface =~ /(eth[0-9]+)/; my $device = $1;;
$intf->{$device}->{BOOTPROTO} : $type
$intf->{$device}->{NETMASK} : '255.255.255.0'
$intf->{$device}->{NETWORK} : $netadr
$intf->{$device}->{ONBOOT} : "yes"
$netc output:
$netc->{nb_cards} : nb of ethernet cards
$netc->{NET_DEVICE} : this is used to indicate that this eth card is used to connect to internet : $device
output:
$all_cards : a list of a list ( (eth1, module1), ... , (ethn, modulen)). Pass the ethx as $interface in further call.
$device : only returned in case $interface was given it's $interface, but filtered by /eth[0-9+]/ : string : /eth[0-9+]/
adsl_conf_backend : write adsl configuration
input :
$prefix
$adsl
$netc
$adsl_type : type of cnx : string : "pptp" or "pppoe"
$adsl input:
$adsl->{login}, $adsl->{passwd}, $adsl->{atboot}
$netc input:
$netc->{NET_DEVICE}
$netc->{dnsServer2}
$netc->{dnsServer3}
$netc->{DOMAINNAME2}
$netc output:
$netc->{NET_INTERFACE} is set to "ppp0"
modem_detect_backend : detects modem on serial ports and fills the infos in $modem : detects only one card
input
$modem
$mouse : facultative, hash containing device to exclude not to test mouse port : ( device => /ttyS[0-9]/ )
output:
$modem->{device} : device where the modem were detected
get_net_device : return the device choosen for the net cnx
no input
output : name of the internet device.
read_net_conf : read the information stored in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
input:
$prefix
$netcnx
$netc
set_net_conf : set the information from netcnx in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
$prefix
$netcnx
$netc : useless! REMOVE ME
lst/snapshot/ldetect-lst-ef386355609871169c37696b0daa2c9a7808da1c.tar.gz'>ldetect-lst-ef386355609871169c37696b0daa2c9a7808da1c.tar.gz
ldetect-lst-ef386355609871169c37696b0daa2c9a7808da1c.tar.bz2
ldetect-lst-ef386355609871169c37696b0daa2c9a7808da1c.tar.xz
ldetect-lst-ef386355609871169c37696b0daa2c9a7808da1c.zip