The configuration file used by MiniGUI have a similiar format as M$ Windows INI file, i.e. the file consists of sections, and the section consists of key-value pairs, like this:
More...
|
MG_EXPORT int GUIAPI | GetValueFromEtcFile (const char *pEtcFile, const char *pSection, const char *pKey, char *pValue, int iLen) |
| Get value from a configuration file. More...
|
|
MG_EXPORT int GUIAPI | GetIntValueFromEtcFile (const char *pEtcFile, const char *pSection, const char *pKey, int *value) |
| Get integer value from a configuration file. More...
|
|
MG_EXPORT int GUIAPI | SetValueToEtcFile (const char *pEtcFile, const char *pSection, const char *pKey, char *pValue) |
| Set a value in a configuration file. More...
|
|
MG_EXPORT int GUIAPI | RemoveSectionInEtcFile (const char *pEtcFile, const char *pSection) |
| Removes a section in an etc file. More...
|
|
MG_EXPORT int GUIAPI | SaveSectionToEtcFile (const char *pEtcFile, PETCSECTION psect) |
| Saves a section to an etc file. More...
|
|
MG_EXPORT GHANDLE GUIAPI | LoadEtcFile (const char *pEtcFile) |
| Loads an etc file into memory. More...
|
|
MG_EXPORT int GUIAPI | SaveEtcToFile (GHANDLE hEtc, const char *file_name) |
| Saves an ETC object into a file. More...
|
|
MG_EXPORT int GUIAPI | UnloadEtcFile (GHANDLE hEtc) |
| Unloads an etc file. More...
|
|
MG_EXPORT int GUIAPI | GetValueFromEtc (GHANDLE hEtc, const char *pSection, const char *pKey, char *pValue, int iLen) |
| Get value from a configuration etc object. More...
|
|
MG_EXPORT int GUIAPI | GetIntValueFromEtc (GHANDLE hEtc, const char *pSection, const char *pKey, int *pValue) |
| Get the integer value from a configuration etc object. More...
|
|
MG_EXPORT GHANDLE GUIAPI | FindSectionInEtc (GHANDLE hEtc, const char *pSection, BOOL bCreateNew) |
| Finds/Creates a section from an etc object. More...
|
|
MG_EXPORT int GUIAPI | GetValueFromEtcSec (GHANDLE hSect, const char *pKey, char *pValue, int iLen) |
| Get value from an etc section object. More...
|
|
MG_EXPORT int GUIAPI | GetIntValueFromEtcSec (GHANDLE hSect, const char *pKey, int *pValue) |
| Get an integer value from an etc section object. More...
|
|
MG_EXPORT int GUIAPI | SetValueToEtcSec (GHANDLE hSect, const char *pKey, char *pValue) |
| Set the value in the etc section object. More...
|
|
MG_EXPORT int GUIAPI | RemoveSectionInEtc (GHANDLE hEtc, const char *pSection) |
| Removes a section in etc object. More...
|
|
static int | GetMgEtcValue (const char *pSection, const char *pKey, char *pValue, int iLen) |
| Get value from MiniGUI configuration etc object. More...
|
|
The configuration file used by MiniGUI have a similiar format as M$ Windows INI file, i.e. the file consists of sections, and the section consists of key-value pairs, like this:
[system]
# GAL engine
gal_engine=fbcon
# IAL engine
ial_engine=console
mdev=/dev/mouse
mtype=PS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
display=0
Assume that the configuration file named my.cfg, if you want get the value of mdev in system section, you can call GetValueFromEtcFile in the following way:
Example:
#define APP_INFO_FILE "mginit.rc"
static BOOL get_app_info (
void)
{
int i;
APPITEM* item;
if (app_info.nr_apps <= 0)
if (app_info.autostart >= app_info.nr_apps || app_info.autostart < 0)
app_info.autostart = 0;
if ((app_info.app_items = (APPITEM*)calloc (app_info.nr_apps, sizeof (APPITEM))) ==
NULL) {
}
item = app_info.app_items;
for (i = 0; i < app_info.nr_apps; i++, item++) {
char section [10];
sprintf (section, "app%d", i);
goto error;
goto error;
goto error;
goto error;
strsubchr (item->tip, '&', ' ');
goto error;
goto error;
}
error:
free_app_info ();
}
◆ ETC_FILEIOFAILED
#define ETC_FILEIOFAILED -5 |
IO operation failed to etc file.
Definition at line 2888 of file minigui.h.
◆ ETC_FILENOTFOUND
#define ETC_FILENOTFOUND -1 |
◆ ETC_INTCONV
Convert the value string to an integer failed.
Definition at line 2893 of file minigui.h.
◆ ETC_INVALIDOBJ
#define ETC_INVALIDOBJ -7 |
Invalid object to etc file.
Definition at line 2898 of file minigui.h.
◆ ETC_KEYNOTFOUND
#define ETC_KEYNOTFOUND -3 |
No found key in etc file.
Definition at line 2878 of file minigui.h.
◆ ETC_MAXLINE
The max line number of etc file.
Definition at line 2862 of file minigui.h.
◆ ETC_OK
Operate success to etc file.
Definition at line 2908 of file minigui.h.
◆ ETC_READONLYOBJ
#define ETC_READONLYOBJ -8 |
Read only to etc file.
Definition at line 2903 of file minigui.h.
◆ ETC_SECTIONNOTFOUND
#define ETC_SECTIONNOTFOUND -2 |
No found section in etc file.
Definition at line 2873 of file minigui.h.
◆ ETC_TMPFILEFAILED
#define ETC_TMPFILEFAILED -4 |
Create tmpfile failed.
Definition at line 2883 of file minigui.h.
◆ SetValueToEtc
#define SetValueToEtc |
( |
|
hEtc, |
|
|
|
pSection, |
|
|
|
pKey, |
|
|
|
pValue |
|
) |
| GetValueFromEtc(hEtc, pSection, pKey, pValue, -1) |
◆ ETC_S
ETC_S The current config file information
◆ ETCSECTION
Etc The current config section information
◆ PETCSECTION
Data type of pointer to a ETCSECTION
Definition at line 2925 of file minigui.h.
◆ FindSectionInEtc()
Finds/Creates a section from an etc object.
This function look for a section named pSection from the etc object hEtc. If there is no such section in the etc object and bCreateNew is TRUE, the function will create an empty section.
- Parameters
-
hEtc | Handle to the etc object. |
pSection | The name of the section. |
bCreateNew | Indicate whether to create a new section. |
- Returns
- The handle to the section, 0 if not found or creatation failed.
- See also
- GetValueFromEtcSec, GetIntValueFromEtcSec, SetValueInEtcSec
◆ GetIntValueFromEtc()
int GUIAPI GetIntValueFromEtc |
( |
GHANDLE |
hEtc, |
|
|
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
int * |
pValue |
|
) |
| |
◆ GetIntValueFromEtcFile()
int GUIAPI GetIntValueFromEtcFile |
( |
const char * |
pEtcFile, |
|
|
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
int * |
value |
|
) |
| |
Get integer value from a configuration file.
This function gets the integer value of the key pKey in the section pSection of the configuration file pEtcFile, and returns the integer value through the buffer pointed to by value.
- Parameters
-
pEtcFile | The path name of the configuration file. |
pSection | The section name in which the value located. |
pKey | The key name of the value. |
value | The integer value will be saved in this buffer. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_FILENOTFOUND | Can not find the specified configuration file. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the configuration file. |
ETC_KEYNOTFOUND | Can not find the specified key in the section. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
ETC_INTCONV | Can not convert the value string to an integer. |
- Note
- MiniGUI uses strtol to convert the string value to an integer, and pass the base as 0. Thus, the valid string value can be converted to integer should be in the following forms:
- [+|-]0x[0-9|A-F]*
Will be read in base 16.
- [+|-]0[0-7]*
Will be read in base 8.
- [+|-][1-9][0-9]*
Will be read in base 10.
- See also
- GetValueFromEtcFile, SetValueToEtcFile, strtol(3)
◆ GetIntValueFromEtcSec()
int GUIAPI GetIntValueFromEtcSec |
( |
GHANDLE |
hSect, |
|
|
const char * |
pKey, |
|
|
int * |
pValue |
|
) |
| |
Get an integer value from an etc section object.
This function gets an integer value from an etc section object, similar to GetIntValueFromEtc. It gets the value of the key pKey in the section hSect, and saves the value to the buffer pointed to by pValue.
- Parameters
-
hSect | The handle to the section. |
pKey | The key name of the value. |
pValue | The value will be saved in this buffer. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_INVALIDOBJ | Invalid etc object. |
ETC_KEYNOTFOUND | Can not find the specified key in the section. |
ETC_INTCONV | Can not convert the value string to an integer. |
- See also
- GetValueFromEtcFile, GetValueFromEtc, FindSectionInEtc
◆ GetMgEtcValue()
static inline int GetMgEtcValue |
( |
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
char * |
pValue, |
|
|
int |
iLen |
|
) |
| |
|
inlinestatic |
Get value from MiniGUI configuration etc object.
This fuctions gets the value from MiniGUi configuration etc object, somewhat similiar to GetValueFromEtcFile and GetValueFromEtc
- See also
- GetValueFromEtcFile
-
GetValueFromEtc.
Definition at line 3328 of file minigui.h.
◆ GetValueFromEtc()
int GUIAPI GetValueFromEtc |
( |
GHANDLE |
hEtc, |
|
|
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
char * |
pValue, |
|
|
int |
iLen |
|
) |
| |
Get value from a configuration etc object.
This function gets value from an etc object, similar to GetValueFromEtcFile. This function gets the value of the key pKey in the section pSection of the etc object hEtc, and saves the value to the buffer pointed to by pValue.
- Parameters
-
hEtc | Handle to the etc object. |
pSection | The section name in which the value located. |
pKey | The key name of the value. |
pValue | The value will be saved in this buffer. |
iLen | The length in bytes of the buffer. This function will set value if the iLen is less than 1. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_INVALIDOBJ | Invalid etc object. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the configuration file. |
ETC_KEYNOTFOUND | Can not find the specified key in the section. |
ETC_READONLYOBJ | The etc object is read-only. |
- See also
- GetValueFromEtcFile, LoadEtcFile, UnloadEtcFile
◆ GetValueFromEtcFile()
int GUIAPI GetValueFromEtcFile |
( |
const char * |
pEtcFile, |
|
|
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
char * |
pValue, |
|
|
int |
iLen |
|
) |
| |
Get value from a configuration file.
This function gets the value of the key pKey in the section pSection of the configuration file pEtcFile, and saves the value to the buffer pointed to by pValue.
- Parameters
-
pEtcFile | The path name of the configuration file. |
pSection | The section name in which the value located. |
pKey | The key name of the value. |
pValue | The value will be saved in this buffer. |
iLen | The length in bytes of the buffer. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_FILENOTFOUND | Can not find the specified configuration file. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the configuration file. |
ETC_KEYNOTFOUND | Can not find the specified key in the section. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
- Note
- MiniGUI use strncpy to copy actual value to pValue. Thus, if the length of the actual value is larger than iLen, the result copied to pValue will NOT be null-terminated.
- See also
- GetIntValueFromEtcFile, SetValueToEtcFile, strncpy(3)
◆ GetValueFromEtcSec()
int GUIAPI GetValueFromEtcSec |
( |
GHANDLE |
hSect, |
|
|
const char * |
pKey, |
|
|
char * |
pValue, |
|
|
int |
iLen |
|
) |
| |
Get value from an etc section object.
This function gets value from an etc section object, similar to GetValueFromEtc. It gets the value of the key pKey in the section hSect, and saves the value to the buffer pointed to by pValue.
- Parameters
-
hSect | The handle to the section. |
pKey | The key name of the value. |
pValue | The value will be saved in this buffer. |
iLen | The length in bytes of the buffer. This function will set value if the iLen is less than 1. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_INVALIDOBJ | Invalid etc object. |
ETC_KEYNOTFOUND | Can not find the specified key in the section. |
ETC_READONLYOBJ | The section object is read-only. |
- See also
- GetValueFromEtcFile, GetValueFromEtc, FindSectionInEtc
◆ LoadEtcFile()
GHANDLE GUIAPI LoadEtcFile |
( |
const char * |
pEtcFile | ) |
|
Loads an etc file into memory.
This function loads the content of an etc file into the memory, later, you can visit the content using GetValueFromEtc function.
- Parameters
-
pEtcFile | The path name of the configuration file. If pEtcFile is NULL, the function will create an empty ETC object. |
- Returns
- Handle of the etc object on success, NULL on error.
- See also
- UnloadEtcFile, GetValueFromEtc
◆ RemoveSectionInEtc()
int GUIAPI RemoveSectionInEtc |
( |
GHANDLE |
hEtc, |
|
|
const char * |
pSection |
|
) |
| |
Removes a section in etc object.
This function removes a section named pSection from the etc object hEtc.
- Parameters
-
hEtc | The handle to the etc object. |
pSection | The name of the pSection; |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_INVALIDOBJ | Invalid etc object. |
ETC_READONLYOBJ | The etc object is read-only. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the etc object. |
- See also
- RemoveSectionInEtcFile
◆ RemoveSectionInEtcFile()
int GUIAPI RemoveSectionInEtcFile |
( |
const char * |
pEtcFile, |
|
|
const char * |
pSection |
|
) |
| |
Removes a section in an etc file.
This function removes a section named pSection from the etc file named pEtcFile.
- Parameters
-
pEtcFile | The name of the etc file. |
pSection | The name of the pSection; |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the etc object. |
- See also
- RemoveSectionInEtc
◆ SaveEtcToFile()
int GUIAPI SaveEtcToFile |
( |
GHANDLE |
hEtc, |
|
|
const char * |
file_name |
|
) |
| |
Saves an ETC object into a file.
This function saves the etc object into the file named file_name;
- Parameters
-
hEtc | Handle to the etc object. |
file_name | The name of the target file. |
- Returns
- ETC_OK on success, 0 < on error.
- Return values
-
ETC_OK | Set the etc object successfullly. |
ETC_INVALIDOBJ | Invalid etc object. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
- See also
- LoadEtcFile
◆ SaveSectionToEtcFile()
int GUIAPI SaveSectionToEtcFile |
( |
const char * |
pEtcFile, |
|
|
PETCSECTION |
psect |
|
) |
| |
Saves a section to an etc file.
This function saves a section named psect to the etc file named pEtcFile.
- Parameters
-
pEtcFile | The name of the etc file. |
psect | The name of the psect; |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Get value successfullly. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
ETC_SECTIONNOTFOUND | Can not find the specified section in the etc object. |
◆ SetValueToEtcFile()
int GUIAPI SetValueToEtcFile |
( |
const char * |
pEtcFile, |
|
|
const char * |
pSection, |
|
|
const char * |
pKey, |
|
|
char * |
pValue |
|
) |
| |
Set a value in a configuration file.
This function sets the value of the key pKey in the section pSection of the configuration file pEtcFile to be the string pointed to by pValue.
- Parameters
-
pEtcFile | The path name of the configuration file. |
pSection | The section name in which the value located. |
pKey | The key name of the value. |
pValue | The null-terminated value string. |
- Returns
- ETC_OK on success, < 0 on error.
- Return values
-
ETC_OK | Set value successfullly. |
ETC_FILEIOFAILED | File I/O operation error occurred. |
ETC_TMPFILEFAILED | Can not create temporary file. |
- Note
- If the specified configuration file does not exist, MiniGUI will try to create this file.
- See also
- GetValueFromEtcFile, GetIntValueFromEtcFile
◆ SetValueToEtcSec()
int GUIAPI SetValueToEtcSec |
( |
GHANDLE |
hSect, |
|
|
const char * |
pKey, |
|
|
char * |
pValue |
|
) |
| |
◆ UnloadEtcFile()
GUIAPI UnloadEtcFile |
( |
GHANDLE |
hEtc | ) |
|
Unloads an etc file.
This function unloads the etc object generated by using
- See also
- LoadEtcFile function.
- Parameters
-
hEtc | Handle of the etc object. |
- Returns
- Returns 0 on success, -1 on error.
- See also
- LoadEtcFile, GetValueFromEtc
◆ ETCFILEPATH
The path name of MiniGUI configuration file.
By default, the configuration file of MiniGUI must be installed in /etc, /usr/local/etc or your home directory. When you install it in your home directory, the name should be ".MiniGUI.cfg".
MiniGUI will try to use MiniGUI.cfg in the current directory, ~/.MiniGUI.cfg, then /usr/local/etc/MiniGUI.cfg, and /etc/MiniGUI.cfg last.
If MiniGUI can not find any MiniGUI.cfg file, or find a bad formated configure file, the initialzation of MiniGUI will be canceled.
MG_EXPORT int GUIAPI GetIntValueFromEtcFile(const char *pEtcFile, const char *pSection, const char *pKey, int *value)
Get integer value from a configuration file.
MG_EXPORT int GUIAPI GetValueFromEtcFile(const char *pEtcFile, const char *pSection, const char *pKey, char *pValue, int iLen)
Get value from a configuration file.