--- trunk/src/include/settings.h 2007/10/08 16:19:56 24 +++ trunk/src/include/settings.h 2007/10/08 16:20:58 32 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: settings.h,v 1.3 2006/05/05 21:52:21 debug Exp $ + * $Id: settings.h,v 1.8 2006/09/21 11:53:26 debug Exp $ */ #include @@ -39,22 +39,51 @@ /* Storage types: */ #define SETTINGS_TYPE_SUBSETTINGS 1 -#define SETTINGS_TYPE_INT 2 -#define SETTINGS_TYPE_INT32 3 -#define SETTINGS_TYPE_INT64 4 +#define SETTINGS_TYPE_STRING 2 +#define SETTINGS_TYPE_INT 3 +#define SETTINGS_TYPE_INT8 4 +#define SETTINGS_TYPE_INT16 5 +#define SETTINGS_TYPE_INT32 6 +#define SETTINGS_TYPE_INT64 7 +#define SETTINGS_TYPE_UINT 8 +#define SETTINGS_TYPE_UINT8 9 +#define SETTINGS_TYPE_UINT16 10 +#define SETTINGS_TYPE_UINT32 11 +#define SETTINGS_TYPE_UINT64 12 /* Presentation formats: */ #define SETTINGS_FORMAT_DECIMAL 1 /* -123 */ -#define SETTINGS_FORMAT_HEX 2 /* 0xffffffff80000000 */ -#define SETTINGS_FORMAT_BOOL 3 /* true, false */ -#define SETTINGS_FORMAT_YESNO 4 /* yes, no */ +#define SETTINGS_FORMAT_HEX8 2 /* 0x12 */ +#define SETTINGS_FORMAT_HEX16 3 /* 0x1234 */ +#define SETTINGS_FORMAT_HEX32 4 /* 0x80000000 */ +#define SETTINGS_FORMAT_HEX64 5 /* 0xffffffff80000000 */ +#define SETTINGS_FORMAT_BOOL 6 /* true, false */ +#define SETTINGS_FORMAT_YESNO 7 /* yes, no */ +#define SETTINGS_FORMAT_STRING 8 /* %s */ + + +/* + * settings.c: + */ -/* settings.c: */ struct settings *settings_new(void); void settings_destroy(struct settings *settings); + void settings_debugdump(struct settings *settings, const char *prefix, int recurse); + void settings_add(struct settings *settings, const char *name, int writable, int type, int format, void *ptr); +void settings_remove(struct settings *settings, const char *name); +void settings_remove_all(struct settings *settings); + +int settings_access(struct settings *settings, const char *fullname, + int writeflag, uint64_t *valuep); + +/* Result codes from settings_access: */ +#define SETTINGS_OK 1 +#define SETTINGS_NAME_NOT_FOUND 2 +#define SETTINGS_READONLY 3 + #endif /* SETTINGS_H */