summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/draknet_advanced_doc.txt165
1 files changed, 165 insertions, 0 deletions
diff --git a/docs/draknet_advanced_doc.txt b/docs/draknet_advanced_doc.txt
new file mode 100644
index 000000000..a0c0c63e0
--- /dev/null
+++ b/docs/draknet_advanced_doc.txt
@@ -0,0 +1,165 @@
+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