added files
[bcm963xx.git] / userapps / opensource / net-snmp / include / net-snmp / library / default_store.h
1 /*
2  * default_store.h: storage space for defaults 
3  */
4 #ifndef DEFAULT_STORE_H
5 #define DEFAULT_STORE_H
6
7 #ifdef __cplusplus
8 extern          "C" {
9 #endif
10
11 #define NETSNMP_DS_MAX_IDS 3
12 #define NETSNMP_DS_MAX_SUBIDS 32        /* needs to be a multiple of 8 */
13
14     /*
15      * begin storage definitions 
16      */
17     /*
18      * These definitions correspond with the "storid" argument to the API 
19      */
20 #define NETSNMP_DS_LIBRARY_ID     0
21 #define NETSNMP_DS_APPLICATION_ID 1
22 #define NETSNMP_DS_TOKEN_ID       2
23
24     /*
25      * These definitions correspond with the "which" argument to the API,
26      * when the storeid argument is NETSNMP_DS_LIBRARY_ID 
27      */
28     /*
29      * library booleans 
30      */
31 #define NETSNMP_DS_LIB_MIB_ERRORS          0
32 #define NETSNMP_DS_LIB_SAVE_MIB_DESCRS     1
33 #define NETSNMP_DS_LIB_MIB_COMMENT_TERM    2
34 #define NETSNMP_DS_LIB_MIB_PARSE_LABEL     3
35 #define NETSNMP_DS_LIB_DUMP_PACKET         4
36 #define NETSNMP_DS_LIB_LOG_TIMESTAMP       5
37 #define NETSNMP_DS_LIB_DONT_READ_CONFIGS   6
38 #define NETSNMP_DS_LIB_MIB_REPLACE         7    /* replace objects from latest module */
39 #define NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM  8    /* print only numeric enum values */
40 #define NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS  9    /* print only numeric enum values */
41 #define NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS 10   /* dont print oid indexes specially */
42 #define NETSNMP_DS_LIB_ALARM_DONT_USE_SIG  11   /* don't use the alarm() signal */
43 #define NETSNMP_DS_LIB_PRINT_FULL_OID      12   /* print fully qualified oids */
44 #define NETSNMP_DS_LIB_QUICK_PRINT         13   /* print very brief output for parsing */
45 #define NETSNMP_DS_LIB_RANDOM_ACCESS       14   /* random access to oid labels */
46 #define NETSNMP_DS_LIB_REGEX_ACCESS        15   /* regex matching to oid labels */
47 #define NETSNMP_DS_LIB_DONT_CHECK_RANGE    16   /* don't check values for ranges on send */
48 #define NETSNMP_DS_LIB_NO_TOKEN_WARNINGS   17   /* no warn about unknown config tokens */
49 #define NETSNMP_DS_LIB_NUMERIC_TIMETICKS   18   /* print timeticks as a number */
50 #define NETSNMP_DS_LIB_ESCAPE_QUOTES       19   /* shell escape quote marks in oids */
51 #define NETSNMP_DS_LIB_REVERSE_ENCODE      20   /* encode packets from back to front */
52 #define NETSNMP_DS_LIB_PRINT_BARE_VALUE    21   /* just print value (not OID = value) */
53 #define NETSNMP_DS_LIB_EXTENDED_INDEX      22   /* print extended index format [x1][x2] */
54 #define NETSNMP_DS_LIB_PRINT_HEX_TEXT      23   /* print ASCII text along with hex strings */
55 #define NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID 24   /* print OID's using the UCD-style prefix suppression */
56 #define NETSNMP_DS_LIB_READ_UCD_STYLE_OID  25   /* require top-level OIDs to be prefixed with a dot */
57 #define NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG 26       /* have the pre-mib parsing config tokens been processed */
58 #define NETSNMP_DS_LIB_HAVE_READ_CONFIG    27   /* have the config tokens been processed */
59 #define NETSNMP_DS_LIB_QUICKE_PRINT        28   
60 #define NETSNMP_DS_LIB_DONT_PRINT_UNITS    29 /* don't print UNITS suffix */
61 #define NETSNMP_DS_LIB_NO_DISPLAY_HINT     30 /* don't apply DISPLAY-HINTs */
62 #define NETSNMP_DS_LIB_16BIT_IDS           31   /* restrict requestIDs, etc to 16-bit values */
63
64     /*
65      * library integers 
66      */
67 #define NETSNMP_DS_LIB_MIB_WARNINGS  0
68 #define NETSNMP_DS_LIB_SECLEVEL      1
69 #define NETSNMP_DS_LIB_SNMPVERSION   2
70 #define NETSNMP_DS_LIB_DEFAULT_PORT  3
71 #define NETSNMP_DS_LIB_OID_OUTPUT_FORMAT  4
72 #define NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY  NETSNMP_DS_LIB_OID_OUTPUT_FORMAT
73 #define NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT 5
74
75     /*
76      * special meanings for the default SNMP version slot (NETSNMP_DS_LIB_SNMPVERSION) 
77      */
78 #define NETSNMP_DS_SNMP_VERSION_1    128        /* bogus */
79 #define NETSNMP_DS_SNMP_VERSION_2c   1  /* real */
80 #define NETSNMP_DS_SNMP_VERSION_3    3  /* real */
81
82
83     /*
84      * library strings 
85      */
86 #define NETSNMP_DS_LIB_SECNAME           0
87 #define NETSNMP_DS_LIB_CONTEXT           1
88 #define NETSNMP_DS_LIB_PASSPHRASE        2
89 #define NETSNMP_DS_LIB_AUTHPASSPHRASE    3
90 #define NETSNMP_DS_LIB_PRIVPASSPHRASE    4
91 #define NETSNMP_DS_LIB_OPTIONALCONFIG    5
92 #define NETSNMP_DS_LIB_APPTYPE           6
93 #define NETSNMP_DS_LIB_COMMUNITY         7
94 #define NETSNMP_DS_LIB_PERSISTENT_DIR    8
95 #define NETSNMP_DS_LIB_CONFIGURATION_DIR 9
96 #define NETSNMP_DS_LIB_SECMODEL          10
97 #define NETSNMP_DS_LIB_MIBDIRS           11
98
99     /*
100      * end storage definitions 
101      */
102
103     int             netsnmp_ds_set_boolean(int storeid, int which, int value);
104     int             netsnmp_ds_get_boolean(int storeid, int which);
105     int             netsnmp_ds_toggle_boolean(int storeid, int which);
106     int             netsnmp_ds_set_int(int storeid, int which, int value);
107     int             netsnmp_ds_get_int(int storeid, int which);
108     int             netsnmp_ds_set_string(int storeid, int which,
109                                   const char *value);
110     char           *netsnmp_ds_get_string(int storeid, int which);
111     int             netsnmp_ds_set_void(int storeid, int which, void *value);
112     void           *netsnmp_ds_get_void(int storeid, int which);
113     int             netsnmp_ds_register_config(u_char type, const char *ftype,
114                                        const char *token, int storeid,
115                                        int which);
116     int             netsnmp_ds_register_premib(u_char type, const char *ftype,
117                                        const char *token, int storeid,
118                                        int which);
119     void            netsnmp_ds_shutdown(void);
120
121 #ifdef __cplusplus
122 }
123 #endif
124 #endif                          /* DEFAULT_STORE_H */