X-Git-Url: http://git.silcnet.org/gitweb/?p=website.git;a=blobdiff_plain;f=docs%2Ftoolkit%2Fmanual%2Fsilcconfig.html;fp=docs%2Ftoolkit%2Fmanual%2Fsilcconfig.html;h=931dca477d02737820b3dad216455f568321dda8;hp=0000000000000000000000000000000000000000;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2 diff --git a/docs/toolkit/manual/silcconfig.html b/docs/toolkit/manual/silcconfig.html new file mode 100644 index 0000000..931dca4 --- /dev/null +++ b/docs/toolkit/manual/silcconfig.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +SILC Crypto Library
+    Introduction to SILC RNG
+    SILC RNG Interface
+    SILC Cipher API
+    SILC PKCS API
+    SILC Public Key API
+    SILC PKCS #1 API
+    SILC Hash Interface
+    SILC HMAC Interface
+SILC Core Library
+    SILC Authentication Interface
+    SILC Message Interface
+    SILC Channel Interface
+    SILC Command Interface
+    SILC Notify Interface
+    SILC Status Types
+    SILC Modes
+    SILC ID Interface
+    SILC Argument Interface
+    SILC Attributes Interface
+    Packet Engine Interface
+    SILC Public Key Payload Interface
+SILC Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math Interface
+SILC Client Library
+    Using SILC Client Library Tutorial
+    Arguments for command_reply Client Operation
+    SilcStatus Error Arguments in command_reply Client Operation
+    Arguments for notify Client Operation
+    Unicode and UTF-8 Strings in Client Library
+    Client Library Interface Reference
+    Client Entry Interface Reference
+SILC ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+SILC Utility Library
+    Basic Types and Definitions
+    Data Buffer Interface
+    Data Buffer Format Interface
+    Hash Table Interface
+    Memory Allocation Interface
+    Data Stack (memory pool) Interface
+    Finite State Machine Interface
+    Thread Interface
+    Mutual Exclusion Lock Interface
+    Condition Variable Interface
+    Atomic Operations Interface
+    Network (TCP and UDP) Interface
+    Scheduler Interface
+    Asynchronous Operation Interface
+    Abstract Stream Interface
+    Socket Stream Interface
+    File Descriptor Stream Interface
+    File Utility Functions
+    String Utility Interface
+    Snprintf Interface
+    UTF-8 String Interface
+    Stringprep Interface
+    Utility Functions
+    List Interface
+    Dynamic List Interface
+    MIME Interface
+    Time Utility Functions
+    Logging Interface
+    Config File Interface
+SILC Key Repository Library
+    SILC SKR Interface
+SILC Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+Resource Links +
+SILC Project Website
+SILC Protocol Documentation
+SILC White Paper
+SILC FAQs
+ +
+



+
+
+ + + + +
+
+ + +silcconfig.html + + + + +
+ +SILC Config Interface
Header: silcconfig.h

+ + +DESCRIPTION + +

+ The SILC Config util library is based on two main objects, SilcConfigFile
+ (or File object) and SilcConfigEntity (or Entity).  The File objects are
+ structs directly corresponding to the real files in the filesystem, while
+ Entities are a little more abstract.
+
+ An Entity is composed by delimited area on a File object (it can take the
+ whole File object or just part of it), plus a group of known options.
+ In order to parse this file, first you need to create a File object with
+ the silc_config_open() function, and then you need to create the Entity
+ with the silc_config_init() function.
+
+ Now you can use the newly created Entity to register a group of expected
+ known options and sub-blocks, and then you can call the main parsing loop
+ with the silc_config_main() function. When silc_config_main() will 
+ return, if some error encoured the object file will point to the file 
+ that caused this error (this can be different from the originally 
+ opened file if it contained `Include' directives).  If no errors 
+ encoured then the File objects will still point to the original file.
+
+ While silc_config_main() will take care of destroying Entities before
+ returning, you need to take care that the File object you created is freed
+ with the silc_config_close() function.
+
+ The SILC Config library won't take care about storing the values contained
+ in the config file.  You must take care about it with the callback
+ functions.
+
+ The config file syntax is pretty straightforward.  All lines starting
+ with `#' will be skipped, while sub-blocks are delimited by braces (see
+ the example below).
+
+ Options with argument must have the `=' character between the option
+ name and the value.  Simple words and numbers does not require quoting.
+ There is a special built-in directive "Include" which allows you to include
+ another config file in the point the directive is.  You can also Include
+ inside a sub-block body, in this case when parsing the included config file
+ it will be assumed that we are within this block, and the included file
+ won't be allowed to close his root block.
+
+ Example:
+
+    cipher {
+       name = aes-256-cbc;
+       module = "aes.sim.so";
+       key_length = 32;       # usually the default is just fine
+       block_length = 16;
+    };
+    Include "/etc/silc/hash_funcs.conf";
+
+
  • SilcConfigErrno +
  • SilcConfigType +
  • SilcConfigCallback +
  • SilcConfigTable +
  • SilcConfigFile +
  • SilcConfigEntity +
  • SILC_CONFIG_CALLBACK +
  • silc_config_open +
  • silc_config_close +
  • silc_config_init +
  • silc_config_strerror +
  • silc_config_get_filename +
  • silc_config_get_line +
  • silc_config_read_line +
  • silc_config_read_current_line +
  • silc_config_register +
  • silc_config_register_table +
  • silc_config_main + +



    +
  • +
    + + + + +
    +
    + + + +



    +
    +
    + + + +
    + + + + + + +
    Copyright © 2001 - 2007 SILC Project
    + SILC Project Website
    + SILC Toolkit Reference Manual
    + Index
    + + +