1123475Swpaul/* 2123475Swpaul * $Id: inf.h,v 1.3 2003/11/30 21:58:16 winter Exp $ 3123475Swpaul * 4123475Swpaul * $FreeBSD$ 5123475Swpaul */ 6123475Swpaul 7123475Swpaul#define W_MAX 16 8123475Swpaul 9123475Swpaulstruct section { 10123475Swpaul const char * name; 11123475Swpaul 12123475Swpaul TAILQ_ENTRY(section) link; 13123475Swpaul}; 14123475SwpaulTAILQ_HEAD(section_head, section); 15123475Swpaul 16123475Swpaulstruct assign { 17123475Swpaul struct section *section; 18123475Swpaul 19123475Swpaul const char * key; 20123475Swpaul const char * vals[W_MAX]; 21123475Swpaul 22123475Swpaul TAILQ_ENTRY(assign) link; 23123475Swpaul}; 24123475SwpaulTAILQ_HEAD(assign_head, assign); 25123475Swpaul 26123475Swpaulstruct reg { 27123475Swpaul struct section *section; 28123475Swpaul 29123475Swpaul const char * root; 30123475Swpaul const char * subkey; 31123475Swpaul const char * key; 32123475Swpaul u_int flags; 33123475Swpaul const char * value; 34123475Swpaul 35123475Swpaul TAILQ_ENTRY(reg) link; 36123475Swpaul}; 37123475SwpaulTAILQ_HEAD(reg_head, reg); 38123475Swpaul 39123475Swpaul#define FLG_ADDREG_TYPE_SZ 0x00000000 40123475Swpaul#define FLG_ADDREG_BINVALUETYPE 0x00000001 41123475Swpaul#define FLG_ADDREG_NOCLOBBER 0x00000002 42123475Swpaul#define FLG_ADDREG_DELVAL 0x00000004 43123475Swpaul#define FLG_ADDREG_APPEND 0x00000008 44123475Swpaul#define FLG_ADDREG_KEYONLY 0x00000010 45123475Swpaul#define FLG_ADDREG_OVERWRITEONLY 0x00000020 46123475Swpaul#define FLG_ADDREG_64BITKEY 0x00001000 47123475Swpaul#define FLG_ADDREG_KEYONLY_COMMON 0x00002000 48123475Swpaul#define FLG_ADDREG_32BITKEY 0x00004000 49123475Swpaul#define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 50123475Swpaul#define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000 51123475Swpaul#define FLG_ADDREG_TYPE_DWORD 0x00010001 52123475Swpaul#define FLG_ADDREG_TYPE_NONE 0x00020001 53123475Swpaul 54123475Swpaulextern void section_add (const char *); 55123475Swpaulextern void assign_add (const char *); 56123475Swpaulextern void define_add (const char *); 57123475Swpaulextern void regkey_add (const char *); 58123475Swpaul 59123475Swpaulextern void push_word (const char *); 60123475Swpaulextern void clear_words (void); 61123475Swpaulextern int inf_parse (FILE *, FILE *); 62