#section: The various classes #exec: ../doc/classtree.sh #section: ARRAY object #ref: ARRAY Linuxconf makes extensive use of the ARRAY object. This is an extensible table of ARRAY_OBJ pointers. It is possible to add, insert, remove items in the table. #subsection: #section: Alphabetical function listing #exec: ../doc/listfunc.sh ARRAY #section: Defining ARRAYs Arrays are never directly defined. A new object is derived and generally, this object override various function of the class (ARRAY::getitem() most of the time). #function: ARRAY::ARRAY #section: Adding/removing records to the array #function: ARRAY::add #function: ARRAY::getitem #function: ARRAY::getnb #function: ARRAY::insert #function: ARRAY::remove #function: ARRAY::remove_all #function: ARRAY::remove_del #section: Misc #function: ARRAY::neverdelete #function: ARRAY::moveto #function: ARRAY::rstmodified #function: ARRAY::sort #function: ARRAY::was_modified #function: ARRAY::write #section: Editing records #function: ARRAY::editone ARRAY::manage_edit #section: ARRAY records are ARRAY_OBJ objets #function: ARRAY_OBJ::ARRAY_OBJ #function: ARRAY_OBJ::edit #function: ARRAY_OBJ::rstmodified #function: ARRAY_OBJ::setmodified #function: ARRAY_OBJ::was_modified #function: ARRAY_OBJ::~ARRAY_OBJ #ignore: ARRAY::grow #ignore: ARRAY::lookup #ignore: ARRAY::setgrowth #ignore: ARRAY::~ARRAY #endsub: #section: ARRAY_KEYS object #ref: ARRAY_KEYS #spec: ARRAY_KEYS / principles #subsection: #section: ARRAY_KEYS alphabetical function listing #exec: ../doc/listfunc.sh ARRAY_KEYS #section: ARRAY_KEY alphabetical function listing #exec: ../doc/listfunc.sh ARRAY_KEY #endsub: #section: The CONFDB object #ref: CONFDB The CONFDB (configuration database) is a simple text database. Each line in the file has a key made of two parts. The file may have section (like .ini files). The CONFDB file make it easy to retrieve, add, modify the content of the database. #Specification: misc / CONFDB / intro #subsection: #section: Alphabetical function listing #exec: ../doc/listfunc.sh CONFDB #section: Defining a database #function: CONFDB::CONFDB #section: Getting values #function: CONFDB::getitem #function: CONFDB::getval #function: CONFDB::getvalnum #function: CONFDB::getvalf #function: CONFDB::getall #section: Updating the database #function: CONFDB::add CONFDB::addline CONFDB::removeall #function: CONFDB::replace CONFDB::save CONFDB::savesys #function: CONFDB::setcursys #section: archiving #function: CONFDB::archive CONFDB::extract CONFDB::savesys #section: Misc. #function: CONFDB::patchsys CONFDB::delsys #ignore: CONFOBJ::CONFOBJ CONFDB::init CONFDB::locatesys #endsub: #section: The /etc/conf.linuxconf database #subsection: #section: Introduction #Specification: /etc/conf.linuxconf / format #Specification: /etc/conf.linuxconf / format / subsystem #Specification: linuxconf / /etc/conf.linuxconf / keys #section: Extracting values #function: linuxconf_getval #function: linuxconf_getvalnum #function: linuxconf_getall #section: Updating /etc/conf.linuxconf #function: linuxconf_removeall #function: linuxconf_forget #function: linuxconf_save #function: linuxconf_add #function: linuxconf_replace #section: Misc #function: linuxconf_getdistdir #function: linuxconf_fixdistdir #function: linuxconf_reloadif #function: linuxconf_getdb #section: Some specs #spec: /etc/conf.linuxconf / can't be moved #spec: /etc/conf.linuxconf / permissions #spec: /etc/conf.linuxconf / spreaded in distributions #endsub: #section: CONFIG_FILE object #ref: CONFIG_FILE #subsection: #section: Alphabetical function listing #exec: ../doc/listfunc.sh CONFIG_FILE #section: Some specs #Specification: configuration files / default permissions #Specification: saving multi-user config file / strategy #specification: CONFIG_FILE / update strategy / .TMP files #Specification: FILE_CFG / principles #section: CONFIG_FILE status bits #spec: CONFIG_FILE / status bits definition #section: CONFIG_FILE main functions #function: CONFIG_FILE::CONFIG_FILE #function: CONFIG_FILE::exist #function: CONFIG_FILE::fopen #function: CONFIG_FILE::getdate #function: CONFIG_FILE::getpath #function: CONFIG_FILE::getstdpath #section: Other functions #function: CONFIG_FILE::editpath #function: CONFIG_FILE::fixpath #function: CONFIG_FILE::fopen_ok #function: CONFIG_FILE::fopen_tmp #function: CONFIG_FILE::gethelp #function: CONFIG_FILE::init #function: CONFIG_FILE::is_erased #function: CONFIG_FILE::is_generated #function: CONFIG_FILE::is_managed #function: CONFIG_FILE::is_optional #function: CONFIG_FILE::is_probed #function: CONFIG_FILE::relink_tmp #function: CONFIG_FILE::setperm #function: CONFIG_FILE::sign #function: CONFIG_FILE::unlink #section: Archiving #spec: config file / archiving / strategy #spec: config files / archiving / exception #spec: config versionning / extraction / principle #spec: config versionning / extraction / principle part 2 #function: CONFIG_FILE::archive #section: misc #spec: *.paths files / location #endsub: #section: Archiving dynamic CONFIG_FILE #ref: CONFIG_FILE_LISTER #spec: CONFIG_FILE_LISTER / principles #spec: CONFIG_FILE_LISTER / sample #function: CONFIG_FILE_LISTER::CONFIG_FILE_LISTER #section: HELP_FILE #ref: HELP_FILE #Specification: help file / path #Specification: help file / path / exception #section: LINUXCONF_MODULE object #ref: LINUXCONF_MODULE #subsection: #section: Alphabetical function listing #exec: ../doc/listfunc.sh LINUXCONF_MODULE #section: Some specs about modules #Specification: module / compatibility #Specification: module / dlopen / RTLD_LAZY #Specification: module / path / default path #Specification: module / selection #Specification: modules / activation #Specification: modules / elf only #Specification: modules / revision management #section: LINUXCONF_MODULE main functions #function: LINUXCONF_MODULE::LINUXCONF_MODULE #function: LINUXCONF_MODULE::setmenu #function: LINUXCONF_MODULE::dohtml #function: LINUXCONF_MODULE::domenu #function: LINUXCONF_MODULE::fixperm #function: LINUXCONF_MODULE::execmain #function: LINUXCONF_MODULE::probe #ignore: LINUXCONF_MODULE::~LINUXCONF_MODULE #endsub: #section: The SSTRING and SSTRINGS objects #ref: SSTRING #subsection: #section: SSTRING Alphabetical function listing #exec: ../doc/listfunc.sh SSTRING #ref: SSTRINGS #section: SSTRINGS alphabetical function listing #exec: ../doc/listfunc.sh SSTRINGS #section: Defining an SSTRING #function: SSTRING::SSTRING #section: Setting value and modifying #function: SSTRING::append #function: SSTRING::appendf #function: SSTRING::setfrom #function: SSTRING::setfromf #function: SSTRING::operator= #function: SSTRING::setempty #function: SSTRING::strip_end #function: SSTRING::truncate #function: SSTRING::to_lower SSTRING::to_upper #section: extracting values #function: SSTRING::copy #function: SSTRING::copyword #function: SSTRING::get #function: SSTRING::getlen #function: SSTRING::getmaxsiz #function: SSTRING::getval #function: SSTRING::getvalf #function: SSTRING::substr #section: Various query #function: SSTRING::cmp #function: SSTRING::icmp #function: SSTRING::is_empty #function: SSTRING::is_filled #function: SSTRING::ncmp #function: SSTRING::strchr #function: SSTRING::strrchr #function: SSTRING::strstr #section: Misc #function: CSSTRING::setcomment #ignore: SSTRING::~SSTRING #ignore: SSTRING::setmaxsiz #section: SSTRINGS functions #ref: SSTRINGS #function: SSTRINGS::getitem #function: SSTRINGS::lookup #function: SSTRINGS::remove_dups #function: SSTRINGS::remove_empty #function: SSTRINGS::sort #endsub: #section: SSTRING_KEY and SSTRING_KEYS objects #ref: SSTRING_KEY #subsection: #section: SSTRING_KEY Alphabetical function listing #exec: ../doc/listfunc.sh SSTRING_KEY #ref: SSTRING_KEYS #section: SSTRING_KEYS alphabetical function listing #exec: ../doc/listfunc.sh SSTRING_KEYS #endsub: #section: The VIEWITEM and VIEWITEMS objects #ref: VIEWITEM #Spec: VIEWITEMS / principle #subsection: #section: VIEWITEM Alphabetical function listing #exec: ../doc/listfunc.sh VIEWITEM #ref: VIEWITEMS #section: VIEWITEMS Alphabetical function listing #exec: ../doc/listfunc.sh VIEWITEMS #section: Some specs #Spec: VIEWITEMS / various file format #Spec: VIEWITEMS / update strategy #spec: VIEWITEM / layout #endsub: #section: The POPEN object #ref: POPEN #subsection: #section: POPEN Alphabetical function listing #exec: ../doc/listfunc.sh POPEN #endsub: #section: The DICTIONARY object #ref: DICTIONARY #spec: DICTIONARY / principles #subsection: #section: DICTIONARY Alphabetical function listing #exec: ../doc/listfunc.sh DICTIONARY #endsub: #section: The SSTREAM object #ref: SSTREAM #spec: SSTREAM object / principle #subsection: #section: SSTREAM alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM #section: SSTREAM_BUF alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM_BUF #section: SSTREAM_FILE alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM_FILE #section: SSTREAM_FILE_CFG alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM_FILE_CFG #section: SSTREAM_NUL alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM_NUL #section: SSTREAM_POPEN alphabetical function listing #exec: ../doc/listfunc.sh SSTREAM_POPEN #section: Other SSTREAM objects Variation of the SSTREAM object exist to read and write to various things, from memory buffer to process. #subsection: #section: SSTREAM_BUF #ref: SSTREAM_BUF #exec: ../doc/listfunc.sh SSTREAM_BUF #section: SSTREAM_FILE #ref: SSTREAM_FILE #exec: ../doc/listfunc.sh SSTREAM_FILE #section: SSTREAM_NUL #ref: SSTREAM_NUL #exec: ../doc/listfunc.sh SSTREAM_NUL #section: SSTREAM_POPEN #ref: SSTREAM_POPEN #exec: ../doc/listfunc.sh SSTREAM_POPEN #endsub: #endsub: #section: LINUXCONF_SUBSYS #ref: LINUXCONF_SUBSYS #Specification: subsystems / principle #Specification: subsystem / switching version #Specification: subsystems / fine grain / some idea #section: module APIs #ref: MODULE_API #spec: module apis / principles #spec: module apis / how to use them #spec: module apis / how to define them #spec: module apis / the server side #spec: module apis / APIs as object #spec: module apis / multiple providers #section: Context lock: multi-user support #ref: CONTEXT_LOCK #spec: CONTEXT_LOCK object / principles #Spec: CONTEXT_LOCK / sample #subsection: #section: CONTEXT_LOCK Alphabetical function listing #exec: ../doc/listfunc.sh CONTEXT_LOCK #endsub: #section: VIRTDB #ref: VIRTDB (VIRTDB will die. Replaced by the virtual registry) #Specification: VIRTDB / strategy