uci

Bibliothek

Projektuci
Librarylibuci.a
Includedateiuci.h

Beschreibung

Die Bibliothek uci dient zum Schreiben der Dateien für das PHP System UCI als universelles Konfigurationssystem. Es werden die 3 Dateitypem .uci, .def und .cfg unterstützt.

DateitypBeschreibung
uciAuflistung der verschiedenen Konfigseiten.
defBeschreibung einer Konfigseite.
cfgKonfigurationswerte einer Konfigseite.

Es wird immer zuerst die entsprechende UciOpen*() Funktion aufgerufen. Danach kann mit de UciWr*Hdr ein Header in die Datei geschrieen werden (wenn unterstützt). Anschließend werden mit den UciWr* Funktionen die Werte geschrieben. Und zum Schluß wird die Datei mit dem UciClose* Makro geschlossen.

Definitionen

Konstanten

Konstanten für die Dateierweiterung der verschiedenen UCI Dateien

#define UCI_UCI_EXTENSION ".uci"
#define UCI_CFG_EXTENSION ".cfg"
#define UCI_DEF_EXTENSION ".def"
#define UCI_HLP_EXTENSION ".hlp"

Konstanten für die verschiedenen UCI Datentypen

#define UCI_TYPE_STR "str"
#define UCI_TYPE_IP  "ip"
#define UCI_TYPE_INT "int"
#define UCI_TYPE_CB  "cb"
#define UCI_TYPE_STR "str"
#define UCI_TYPE_SEL "sel"
#define UCI_TYPE_RB  "rb"
#define UCI_TYPE_BIT "bits"
#define UCI_TYPE_TXT "txt"

Datentypen

Datentypen für den Typ der UCI Auswahl

typedef enum { UciSelTypeBut, UciSelTypeTab, UciSelTypeSel } UciSelType;

Makros

Makros zum Schlie&szig;en einer Datei

#define UciCloseUci(FilePointer) fclose(FilePointer)
#define UciCloseCfg(FilePointer) fclose(FilePointer)
#define UciCloseDef(FilePointer) fclose(FilePointer)

Funktionen

Die Parameter der UciOpen* Funktion sind immer wie folgt:

ParameterBeschreibung
PfadVerzeichnis, in dem die UCI Dateien liegen.
BaseNameName der UCI Datei ohne Extension. Die .uci Datei bekommt den Basisnamen, der auch in dem Link (Formular) auf dieses Verzeichnis eingetragen ist. Die .def und zugehörige .cfg Datei bekommt den Basisnamen, der auch in die .uci Datei als Konfigseite eingetragen ist.

Die Parameter der Schreibfunktionen entsprechen den Einträgen in den entsprechenden UCI Dateien.

Allgemeine Funktionen, normalerweise nur intern verwendet

FILE *UciOpenWr(char *Pfad, char *BaseName, char *Extension);

Funktionen für die UCI Datei

FILE *UciOpenUciWr(char *Pfad, char *BaseName);
void UciWrUciHdr(FILE *FilePointer, char *CfgName, UciSelType SelType);
void UciWrUciTab(FILE *FilePointer, char *TabName, char *SubDir, char *BaseName);

Funktionen für die CFG Datei

FILE *UciOpenCfgWr(char *Pfad, char *BaseName);
void UciWrCfgInt(FILE *FilePointer, char *Name, int Wert);
void UciWrCfgStr(FILE *FilePointer, char *Name, char *Wert);

Funktionen für die DEF Datei

FILE *UciOpenDefWr(char *Pfad, char *BaseName);
void UciWrDefHdr(FILE *FilePointer, char *BaseName);
void UciWrDefTxt(FILE *FilePointer, char *Name, unsigned int MinChars,
                 unsigned int MaxChars, char *HelpText);
void UciWrDefStr(FILE *FilePointer, char *Name, unsigned int MinChars,
                 unsigned int MaxChars, char *HelpText);
void UciWrDefInt(FILE *FilePointer, char *Name, int MinVal, int MaxVal,
                 char *HelpText);
void UciWrDefIp(FILE *FilePointer, char *Name, char *HelpText);
void UciWrDefCb(FILE *FilePointer, char *Name, char *HelpText);
void UciWrDefSel(FILE *FilePointer, char *Name, char *SelText, char *HelpText);
void UciWrDefRb(FILE *FilePointer, char *Name, char *RbText, char *HelpText);
void UciWrDefBits(FILE *FilePointer, char *Name, char *BitText, char *HelpText);


Zurück zur Modellbahn Startseite - Zurück zur Homepage