| Index: third_party/mozprocess/tests/iniparser/iniparser.h | 
| =================================================================== | 
| --- third_party/mozprocess/tests/iniparser/iniparser.h	(revision 0) | 
| +++ third_party/mozprocess/tests/iniparser/iniparser.h	(revision 0) | 
| @@ -0,0 +1,273 @@ | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +   @file    iniparser.h | 
| +   @author  N. Devillard | 
| +   @date    Sep 2007 | 
| +   @version 3.0 | 
| +   @brief   Parser for ini files. | 
| +*/ | 
| +/*--------------------------------------------------------------------------*/ | 
| + | 
| +/* | 
| +	$Id: iniparser.h,v 1.26 2011-03-02 20:15:13 ndevilla Exp $ | 
| +	$Revision: 1.26 $ | 
| +*/ | 
| + | 
| +#ifndef _INIPARSER_H_ | 
| +#define _INIPARSER_H_ | 
| + | 
| +/*--------------------------------------------------------------------------- | 
| +   								Includes | 
| + ---------------------------------------------------------------------------*/ | 
| + | 
| +#include <stdio.h> | 
| +#include <stdlib.h> | 
| +#include <string.h> | 
| + | 
| +/* | 
| + * The following #include is necessary on many Unixes but not Linux. | 
| + * It is not needed for Windows platforms. | 
| + * Uncomment it if needed. | 
| + */ | 
| +/* #include <unistd.h> */ | 
| + | 
| +#include "dictionary.h" | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get number of sections in a dictionary | 
| +  @param    d   Dictionary to examine | 
| +  @return   int Number of sections found in dictionary | 
| + | 
| +  This function returns the number of sections found in a dictionary. | 
| +  The test to recognize sections is done on the string stored in the | 
| +  dictionary: a section name is given as "section" whereas a key is | 
| +  stored as "section:key", thus the test looks for entries that do not | 
| +  contain a colon. | 
| + | 
| +  This clearly fails in the case a section name contains a colon, but | 
| +  this should simply be avoided. | 
| + | 
| +  This function returns -1 in case of error. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| + | 
| +int iniparser_getnsec(dictionary * d); | 
| + | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get name for section n in a dictionary. | 
| +  @param    d   Dictionary to examine | 
| +  @param    n   Section number (from 0 to nsec-1). | 
| +  @return   Pointer to char string | 
| + | 
| +  This function locates the n-th section in a dictionary and returns | 
| +  its name as a pointer to a string statically allocated inside the | 
| +  dictionary. Do not free or modify the returned string! | 
| + | 
| +  This function returns NULL in case of error. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| + | 
| +char * iniparser_getsecname(dictionary * d, int n); | 
| + | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Save a dictionary to a loadable ini file | 
| +  @param    d   Dictionary to dump | 
| +  @param    f   Opened file pointer to dump to | 
| +  @return   void | 
| + | 
| +  This function dumps a given dictionary into a loadable ini file. | 
| +  It is Ok to specify @c stderr or @c stdout as output files. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| + | 
| +void iniparser_dump_ini(dictionary * d, FILE * f); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Dump a dictionary to an opened file pointer. | 
| +  @param    d   Dictionary to dump. | 
| +  @param    f   Opened file pointer to dump to. | 
| +  @return   void | 
| + | 
| +  This function prints out the contents of a dictionary, one element by | 
| +  line, onto the provided file pointer. It is OK to specify @c stderr | 
| +  or @c stdout as output files. This function is meant for debugging | 
| +  purposes mostly. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +void iniparser_dump(dictionary * d, FILE * f); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get the string associated to a key | 
| +  @param    d       Dictionary to search | 
| +  @param    key     Key string to look for | 
| +  @param    def     Default value to return if key not found. | 
| +  @return   pointer to statically allocated character string | 
| + | 
| +  This function queries a dictionary for a key. A key as read from an | 
| +  ini file is given as "section:key". If the key cannot be found, | 
| +  the pointer passed as 'def' is returned. | 
| +  The returned char pointer is pointing to a string allocated in | 
| +  the dictionary, do not free or modify it. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +char * iniparser_getstring(dictionary * d, char * key, char * def); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get the string associated to a key, convert to an int | 
| +  @param    d Dictionary to search | 
| +  @param    key Key string to look for | 
| +  @param    notfound Value to return in case of error | 
| +  @return   integer | 
| + | 
| +  This function queries a dictionary for a key. A key as read from an | 
| +  ini file is given as "section:key". If the key cannot be found, | 
| +  the notfound value is returned. | 
| + | 
| +  Supported values for integers include the usual C notation | 
| +  so decimal, octal (starting with 0) and hexadecimal (starting with 0x) | 
| +  are supported. Examples: | 
| + | 
| +  - "42"      ->  42 | 
| +  - "042"     ->  34 (octal -> decimal) | 
| +  - "0x42"    ->  66 (hexa  -> decimal) | 
| + | 
| +  Warning: the conversion may overflow in various ways. Conversion is | 
| +  totally outsourced to strtol(), see the associated man page for overflow | 
| +  handling. | 
| + | 
| +  Credits: Thanks to A. Becker for suggesting strtol() | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +int iniparser_getint(dictionary * d, char * key, int notfound); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get the string associated to a key, convert to a double | 
| +  @param    d Dictionary to search | 
| +  @param    key Key string to look for | 
| +  @param    notfound Value to return in case of error | 
| +  @return   double | 
| + | 
| +  This function queries a dictionary for a key. A key as read from an | 
| +  ini file is given as "section:key". If the key cannot be found, | 
| +  the notfound value is returned. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +double iniparser_getdouble(dictionary * d, char * key, double notfound); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Get the string associated to a key, convert to a boolean | 
| +  @param    d Dictionary to search | 
| +  @param    key Key string to look for | 
| +  @param    notfound Value to return in case of error | 
| +  @return   integer | 
| + | 
| +  This function queries a dictionary for a key. A key as read from an | 
| +  ini file is given as "section:key". If the key cannot be found, | 
| +  the notfound value is returned. | 
| + | 
| +  A true boolean is found if one of the following is matched: | 
| + | 
| +  - A string starting with 'y' | 
| +  - A string starting with 'Y' | 
| +  - A string starting with 't' | 
| +  - A string starting with 'T' | 
| +  - A string starting with '1' | 
| + | 
| +  A false boolean is found if one of the following is matched: | 
| + | 
| +  - A string starting with 'n' | 
| +  - A string starting with 'N' | 
| +  - A string starting with 'f' | 
| +  - A string starting with 'F' | 
| +  - A string starting with '0' | 
| + | 
| +  The notfound value returned if no boolean is identified, does not | 
| +  necessarily have to be 0 or 1. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +int iniparser_getboolean(dictionary * d, char * key, int notfound); | 
| + | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Set an entry in a dictionary. | 
| +  @param    ini     Dictionary to modify. | 
| +  @param    entry   Entry to modify (entry name) | 
| +  @param    val     New value to associate to the entry. | 
| +  @return   int 0 if Ok, -1 otherwise. | 
| + | 
| +  If the given entry can be found in the dictionary, it is modified to | 
| +  contain the provided value. If it cannot be found, -1 is returned. | 
| +  It is Ok to set val to NULL. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +int iniparser_set(dictionary * ini, char * entry, char * val); | 
| + | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Delete an entry in a dictionary | 
| +  @param    ini     Dictionary to modify | 
| +  @param    entry   Entry to delete (entry name) | 
| +  @return   void | 
| + | 
| +  If the given entry can be found, it is deleted from the dictionary. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +void iniparser_unset(dictionary * ini, char * entry); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Finds out if a given entry exists in a dictionary | 
| +  @param    ini     Dictionary to search | 
| +  @param    entry   Name of the entry to look for | 
| +  @return   integer 1 if entry exists, 0 otherwise | 
| + | 
| +  Finds out if a given entry exists in the dictionary. Since sections | 
| +  are stored as keys with NULL associated values, this is the only way | 
| +  of querying for the presence of sections in a dictionary. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +int iniparser_find_entry(dictionary * ini, char * entry) ; | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Parse an ini file and return an allocated dictionary object | 
| +  @param    ininame Name of the ini file to read. | 
| +  @return   Pointer to newly allocated dictionary | 
| + | 
| +  This is the parser for ini files. This function is called, providing | 
| +  the name of the file to be read. It returns a dictionary object that | 
| +  should not be accessed directly, but through accessor functions | 
| +  instead. | 
| + | 
| +  The returned dictionary must be freed using iniparser_freedict(). | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +dictionary * iniparser_load(char * ininame); | 
| + | 
| +/*-------------------------------------------------------------------------*/ | 
| +/** | 
| +  @brief    Free all memory associated to an ini dictionary | 
| +  @param    d Dictionary to free | 
| +  @return   void | 
| + | 
| +  Free all memory associated to an ini dictionary. | 
| +  It is mandatory to call this function before the dictionary object | 
| +  gets out of the current context. | 
| + */ | 
| +/*--------------------------------------------------------------------------*/ | 
| +void iniparser_freedict(dictionary * d); | 
| + | 
| +#endif | 
|  | 
| Property changes on: third_party/mozprocess/tests/iniparser/iniparser.h | 
| ___________________________________________________________________ | 
| Added: svn:eol-style | 
| + LF | 
|  | 
|  |