]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/ndiscvt/inf.h
bsdinstall zfsboot: Don't override ZFSBOOT_FORCE_4K_SECTORS if it is null.
[FreeBSD/FreeBSD.git] / usr.sbin / ndiscvt / inf.h
1 /*
2  * $Id: inf.h,v 1.3 2003/11/30 21:58:16 winter Exp $
3  */
4
5 #define W_MAX   32
6
7 struct section {
8         const char *    name;
9
10         TAILQ_ENTRY(section)    link;
11 };
12 TAILQ_HEAD(section_head, section);
13
14 struct assign {
15         struct section  *section;
16
17         const char *    key;
18         const char *    vals[W_MAX];
19
20         TAILQ_ENTRY(assign)     link;
21 };
22 TAILQ_HEAD(assign_head, assign);
23
24 struct reg {
25         struct section *section;
26
27         const char *    root;
28         const char *    subkey;
29         const char *    key;
30         u_int           flags;
31         const char *    value;
32
33         TAILQ_ENTRY(reg)        link;
34 };
35 TAILQ_HEAD(reg_head, reg);
36
37 #define FLG_ADDREG_TYPE_SZ              0x00000000
38 #define FLG_ADDREG_BINVALUETYPE         0x00000001
39 #define FLG_ADDREG_NOCLOBBER            0x00000002
40 #define FLG_ADDREG_DELVAL               0x00000004
41 #define FLG_ADDREG_APPEND               0x00000008
42 #define FLG_ADDREG_KEYONLY              0x00000010
43 #define FLG_ADDREG_OVERWRITEONLY        0x00000020
44 #define FLG_ADDREG_64BITKEY             0x00001000
45 #define FLG_ADDREG_KEYONLY_COMMON       0x00002000
46 #define FLG_ADDREG_32BITKEY             0x00004000
47 #define FLG_ADDREG_TYPE_MULTI_SZ        0x00010000
48 #define FLG_ADDREG_TYPE_EXPAND_SZ       0x00020000
49 #define FLG_ADDREG_TYPE_DWORD           0x00010001
50 #define FLG_ADDREG_TYPE_NONE            0x00020001
51
52 extern void     section_add     (const char *);
53 extern void     assign_add      (const char *);
54 extern void     define_add      (const char *);
55 extern void     regkey_add      (const char *);
56
57 extern void     push_word       (const char *);
58 extern void     clear_words     (void);
59 extern int      inf_parse       (FILE *, FILE *);