net-snmp mib parsing and datatype manipulation routines.(3)
NAME
mib parsing and datatype manipulation routines. -
Data Structuresstruct _PrefixList
struct parse_hints
Typedefstypedef _PrefixList * PrefixListPtr
typedef _PrefixList PrefixList
Enumerationsenum inet_address_type { IPV4 = 1, IPV6 = 2, IPV4Z = 3,
IPV6Z = 4, DNS = 16 } Functionsint _sprint_hexstring_line (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const u_char *cp,
size_t line_len)
Prints a hexadecimal string into a buffer.int sprint_realloc_hexstring (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const u_char *cp,
size_t len)
int sprint_realloc_asciistring (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, const
u_char *cp, size_t len)
Prints an ascii string into a buffer.int sprint_realloc_octet_string (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const cha Prints an octet string into a buffer.int sprint_realloc_counter64 (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char * Prints a counter into a buffer.int sprint_realloc_opaque (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hin Prints an object identifier into a buffer.int sprint_realloc_object_identifier (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, cons Prints an object identifier into a buffer.int sprint_realloc_timeticks (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char * Prints a timetick variable into a buffer. Version 5.4.1 Last change: 27 Jul 2007 1net-snmp mib parsing and datatype manipulation routines.(3)
int sprint_realloc_hinted_integer (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, long val,
const char decimaltype, const char *hint, const char *units) Prints an integer according to the hint into a buffer.int sprint_realloc_integer (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hi Prints an integer into a buffer.int sprint_realloc_uinteger (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *h Prints an unsigned integer into a buffer.int sprint_realloc_gauge (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hint Prints a gauge value into a buffer.int sprint_realloc_counter (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hi Prints a counter value into a buffer.int sprint_realloc_networkaddress (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const c Prints a network address into a buffer.int sprint_realloc_ipaddress (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *Prints an ip-address into a buffer.
int sprint_realloc_null (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hint, Prints a null value into a buffer.int sprint_realloc_bitstring (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char * Prints a bit string into a buffer.int sprint_realloc_nsapaddress (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const charint sprint_realloc_badtype (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
Version 5.4.1 Last change: 27 Jul 2007 2net-snmp mib parsing and datatype manipulation routines.(3)
*enums, const char *hi Fallback routine for a bad type, prints 'Variable has bad type' into a buffer.int sprint_realloc_by_type (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const
netsnmp_variable_list *var, const struct enum_list
*enums, const char *hi Universal print routine, prints a variable into a buffer according to the variable type.tree * get_tree_head (void)
Retrieves the tree head.char * snmp_out_toggle_options (char *options)
void snmp_out_toggle_options_usage (const char *lead, FILE
*outf)char * snmp_in_options (char *optarg, int argc, char *const
*argv)char * snmp_in_toggle_options (char *options)
void snmp_in_toggle_options_usage (const char *lead, FILE
*outf) Prints out a help usage for the in* toggle options.void register_mib_handlers (void)
void netsnmp_set_mib_directory (const char *dir)
char * netsnmp_get_mib_directory (void)
void netsnmp_fixup_mib_directory (void)
void netsnmp_init_mib (void)
Initialises the mib reader.void init_mib (void)
void shutdown_mib (void)
Unloads all mibs.void print_mib (FILE *fp)
Prints the MIBs to the file fp.void print_ascii_dump (FILE *fp)
void set_function (struct tree *subtree)
Set's the printing function printomat in a subtree according it's type.int read_objid (const char *input, oid *output, size_t
*out_len)
Reads an object identifier from an input string into internal OID form.void netsnmp_sprint_realloc_objid (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, int
*buf_overflow, const oid *objid, size_t objidlen)
tree * netsnmp_sprint_realloc_objid_tree (u_char **buf,
size_t *buf_len, size_t *out_len, int allow_realloc, int
*buf_overflow, const oid *objid, size_t objidlen)
int sprint_realloc_objid (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const oid *objid,
size_t objidlen)
int snprint_objid (char *buf, size_t buf_len, const oid
*objid, size_t objidlen)
void print_objid (const oid *objid, size_t objidlen)
Prints an oid to stdout. Version 5.4.1 Last change: 27 Jul 2007 3net-snmp mib parsing and datatype manipulation routines.(3)
void fprint_objid (FILE *f, const oid *objid, size_t
objidlen) Prints an oid to a file descriptor.int sprint_realloc_variable (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const oid *objid,
size_t objidlen, const netsnmp_variable_list *variable)
int snprint_variable (char *buf, size_t buf_len, const oid
*objid, size_t objidlen, const netsnmp_variable_list
*variable)void print_variable (const oid *objid, size_t objidlen,
const netsnmp_variable_list *variable)
Prints a variable to stdout.void fprint_variable (FILE *f, const oid *objid, size_t
objidlen, const netsnmp_variable_list *variable)
Prints a variable to a file descriptor.int sprint_realloc_value (u_char **buf, size_t *buf_len,
size_t *out_len, int allow_realloc, const oid *objid,
size_t objidlen, const netsnmp_variable_list *variable)
int snprint_value (char *buf, size_t buf_len, const oid
*objid, size_t objidlen, const netsnmp_variable_list
*variable)void print_value (const oid *objid, size_t objidlen, const
netsnmp_variable_list *variable)
void fprint_value (FILE *f, const oid *objid, size_t
objidlen, const netsnmp_variable_list *variable)
int build_oid_segment (netsnmp_variable_list *var)
Takes the value in VAR and turns it into an OID segmentin var->name.
int build_oid_noalloc (oid *in, size_t in_len, size_t
*out_len, oid *prefix, size_t prefix_len,
netsnmp_variable_list *indexes)
int build_oid (oid **out, size_t *out_len, oid *prefix,
size_t prefix_len, netsnmp_variable_list *indexes)
int parse_oid_indexes (oid *oidIndex, size_t oidLen,
netsnmp_variable_list *data)
int parse_one_oid_index (oid **oidStart, size_t *oidLen,
netsnmp_variable_list *data, int complete)
int dump_realloc_oid_to_inetaddress (const int addr_type,
const oid *objid, size_t objidlen, u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, char
quotechar)int dump_realloc_oid_to_string (const oid *objid, size_t
objidlen, u_char **buf, size_t *buf_len, size_t
*out_len, int allow_realloc, char quotechar)
tree * get_tree (const oid *objid, size_t objidlen, struct
tree *subtree)void print_description (oid *objid, size_t objidlen, int
width) Prints on oid description on stdout.void fprint_description (FILE *f, oid *objid, size_t
objidlen, int width) Prints on oid description into a file descriptor. Version 5.4.1 Last change: 27 Jul 2007 4net-snmp mib parsing and datatype manipulation routines.(3)
int snprint_description (char *buf, size_t buf_len, oid
*objid, size_t objidlen, int width)
int sprint_realloc_description (u_char **buf, size_t
*buf_len, size_t *out_len, int allow_realloc, oid
*objid, size_t objidlen, int width)
int get_module_node (const char *fname, const char *module,
oid *objid, size_t *objidlen)
int get_wild_node (const char *name, oid *objid, size_t
*objidlen) See also:comments on find_best_tree_node for usage after first
time. "int get_node (const char *name, oid *objid, size_t *objidlen)
void clear_tree_flags (register struct tree *tp)
void print_oid_report (FILE *fp)
void print_oid_report_enable_labeledoid (void)
void print_oid_report_enable_oid (void)
void print_oid_report_enable_suffix (void)
void print_oid_report_enable_symbolic (void)
void print_oid_report_enable_mibchildoid (void)
char * uptime_string (u_long timeticks, char *buf)
Converts timeticks to hours, minutes, seconds string.char * uptime_string_n (u_long timeticks, char *buf, size_t
buflen)oid * snmp_parse_oid (const char *argv, oid *root, size_t
*rootlen) Given a string, parses an oid out of it (if possible).const char * parse_octet_hint (const char *hint, const char
*value, unsigned char **new_val, int *new_val_len)
u_char mib_to_asn_type (int mib_type)
int netsnmp_str2oid (const char *S, oid *O, int L)
Converts a string to its OID form.int netsnmp_oid2chars (char *C, int L, const oid *O)
Converts an OID to its character form.int netsnmp_oid2str (char *S, int L, oid *O)
Converts an OID to its string form.int snprint_by_type (char *buf, size_t buf_len,
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_hexstring (char *buf, size_t buf_len, const u_char
*cp, size_t len)
int snprint_asciistring (char *buf, size_t buf_len, const u_char
*cp, size_t len)
int snprint_octet_string (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_opaque (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_object_identifier (char *buf, size_t buf_len, const
Version 5.4.1 Last change: 27 Jul 2007 5net-snmp mib parsing and datatype manipulation routines.(3)
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_timeticks (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_hinted_integer (char *buf, size_t buf_len, long val,
const char *hint, const char *units)int snprint_integer (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_uinteger (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_gauge (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_counter (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_networkaddress (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_ipaddress (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_null (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_bitstring (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_nsapaddress (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_counter64 (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units)int snprint_badtype (char *buf, size_t buf_len, const
netsnmp_variable_list *var, const struct enum_list *enums,
const char *hint, const char *units) Variablestree * tree_head
tree * Miboid RFC1213_MIB [] = { 1, 3, 6, 1, 2, 1 }
PrefixList mib_prefixes []
Function Documentationint _sprint_hexstring_line (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const u_char * cp,
size_t line_len)
Version 5.4.1 Last change: 27 Jul 2007 6net-snmp mib parsing and datatype manipulation routines.(3)
Prints a hexadecimal string into a buffer. The characters pointed by *cp are encoded as hexadecimal string.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf address of the buffer to print to.buf_len address to an integer containing the size of
buf.out_len incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. cp the array of characters to encode.line_len the array length of cp.
Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 271 of file mib.c.References netsnmp_ds_get_boolean(), and snmp_realloc().
Referenced by sprint_realloc_hexstring().
int build_oid (oid ** out, size_t * out_len, oid * prefix,
size_t prefix_len, netsnmp_variable_list * indexes)
Definition at line 3569 of file mib.c.References build_oid_noalloc(), tree::indexes, and
snmp_clone_mem().
Referenced by _netsnmp_tdata_generate_index_oid(),
netsnmp_table_build_oid(), and
netsnmp_table_data_generate_index_oid().
int build_oid_segment (netsnmp_variable_list * var)
Takes the value in VAR and turns it into an OID segment invar->name.
Parameters: var The variable. Returns:SNMPERR_SUCCESS or SNMPERR_GENERR
Definition at line 3433 of file mib.c. Version 5.4.1 Last change: 27 Jul 2007 7net-snmp mib parsing and datatype manipulation routines.(3)
References netsnmp_vardata::integer, variable_list::name,
variable_list::name_length, variable_list::name_loc, NULL,
netsnmp_vardata::objid, SNMP_FREE, netsnmp_vardata::string,
variable_list::type, variable_list::val, and
variable_list::val_len.
Referenced by build_oid_noalloc().
void fprint_description (FILE * f, oid * objid, size_t
objidlen, int width) Prints on oid description into a file descriptor. Parameters: f The file descriptor to print to. objid The object identifier. objidlen The object id length. width Number of subidentifiers. Definition at line 4428 of file mib.c.References NULL, SNMP_FREE, and
sprint_realloc_description().
Referenced by print_description().
void fprint_objid (FILE * f, const oid * objid, size_t
objidlen) Prints an oid to a file descriptor. Parameters: f The file descriptor to print to. objid The oid to print objidlen The length of oidid. Definition at line 3161 of file mib.c.References netsnmp_sprint_realloc_objid_tree(), NULL, and
SNMP_FREE.
Referenced by print_objid().
void fprint_variable (FILE * f, const oid * objid, size_t
objidlen, const netsnmp_variable_list * variable)
Prints a variable to a file descriptor. Parameters: f The file descriptor to print to. objid The object id. objidlen The length of teh object id. variable The variable to print. Version 5.4.1 Last change: 27 Jul 2007 8net-snmp mib parsing and datatype manipulation routines.(3)
Definition at line 3308 of file mib.c.References NULL, SNMP_FREE, and sprint_realloc_variable().
Referenced by print_variable().
struct tree* get_tree_head (void)
Retrieves the tree head. Returns: the tree head. Definition at line 2015 of file mib.c.References tree_head.
Referenced by netsnmp_config_parse_table_set(), and
snmp_add_var().
int get_wild_node (const char * name, oid * objid, size_t *
objidlen) See also:comments on find_best_tree_node for usage after first
time. Definition at line 5448 of file mib.c.References get_node(), tree::label, NULL, and tree_head.
Referenced by snmp_parse_oid().
void netsnmp_fixup_mib_directory (void)
Definition at line 2477 of file mib.c.References netsnmp_get_mib_directory(), netsnmp_getenv(),
netsnmp_set_mib_directory(), NULL, and SNMP_FREE.
Referenced by netsnmp_init_mib().
char* netsnmp_get_mib_directory (void)
Definition at line 2430 of file mib.c.References netsnmp_ds_get_string(), netsnmp_getenv(),
netsnmp_set_mib_directory(), and NULL.
Referenced by netsnmp_fixup_mib_directory(), and
netsnmp_init_mib().
void netsnmp_init_mib (void)
Initialises the mib reader. Version 5.4.1 Last change: 27 Jul 2007 9net-snmp mib parsing and datatype manipulation routines.(3)
Reads in all settings from the environment. Definition at line 2524 of file mib.c.References tree::child_list, tree::label, _PrefixList::len,
Mib, mib_prefixes, netsnmp_fixup_mib_directory(),
netsnmp_get_mib_directory(), netsnmp_getenv(), NULL,
SNMP_FREE, _PrefixList::str, and tree_head.
Referenced by init_mib(), and init_snmp().
int netsnmp_oid2chars (char * C, int L, const oid * O)
Converts an OID to its character form. in example 5 . 1 . 2 . 3 . 4 . 5 = 12345 Parameters: C The character buffer. L The length of the buffer. O The oid. Returns: 0 on Sucess, 1 on failure. length Definition at line 6235 of file mib.c.Referenced by netsnmp_oid2str().
int netsnmp_oid2str (char * S, int L, oid * O)
Converts an OID to its string form. in example 5 . 'h' . 'e' . 'l' . 'l' . 'o' = 'hello\0' (null terminated) Parameters: S The character string buffer. L The length of the string buffer. O The oid. Returns: 0 on Sucess, 1 on failure. Definition at line 6263 of file mib.c.References netsnmp_oid2chars().
void netsnmp_set_mib_directory (const char * dir)
Definition at line 2375 of file mib.c. Version 5.4.1 Last change: 27 Jul 2007 10net-snmp mib parsing and datatype manipulation routines.(3)
References netsnmp_ds_get_string(), netsnmp_ds_set_string(),
NULL, and SNMP_FREE.
Referenced by netsnmp_fixup_mib_directory(), and
netsnmp_get_mib_directory().
int netsnmp_str2oid (const char * S, oid * O, int L)
Converts a string to its OID form. in example 'hello' = 5 . 'h' . 'e' . 'l' . 'l' . 'o' Parameters: S The string. O The oid. L The length of the oid. Returns: 0 on Sucess, 1 on failure. Definition at line 6200 of file mib.c.void print_description (oid * objid, size_t objidlen, int
width) Prints on oid description on stdout. See also:fprint_description
Definition at line 4412 of file mib.c.References fprint_description().
void print_mib (FILE * fp)
Prints the MIBs to the file fp. Parameters: fp The file descriptor to print to. Definition at line 2739 of file mib.c.References tree_head.
void print_objid (const oid * objid, size_t objidlen)
Prints an oid to stdout. Parameters: objid The oid to print objidlen The length of oidid. Definition at line 3147 of file mib.c. Version 5.4.1 Last change: 27 Jul 2007 11net-snmp mib parsing and datatype manipulation routines.(3)
References fprint_objid().
void print_variable (const oid * objid, size_t objidlen, const
netsnmp_variable_list * variable)
Prints a variable to stdout. Parameters: objid The object id. objidlen The length of teh object id. variable The variable to print. Definition at line 3292 of file mib.c.References fprint_variable().
int read_objid (const char * input, oid * output, size_t *
out_len)
Reads an object identifier from an input string into internal OID form.When called, out_len must hold the maximum length of the
output array. Parameters: input the input string. output the oid wirte.out_len number of subid's in output.
Returns: 1 if successful. If an error occurs, this function returns 0 and MAY setsnmp_errno. snmp_errno is NOT set if SET_SNMP_ERROR
evaluates to nothing. This can make multi-threaded use a
tiny bit more robust. Definition at line 2837 of file mib.c.References get_node(), netsnmp_ds_get_boolean(), NULL,
SNMP_FREE, and tree_head.
Referenced by read_config_read_objid(), and
snmp_parse_oid().
void set_function (struct tree * subtree)
Set's the printing function printomat in a subtree according it's type. Parameters: subtree The subtree to set. Version 5.4.1 Last change: 27 Jul 2007 12net-snmp mib parsing and datatype manipulation routines.(3)
Definition at line 2760 of file mib.c. References NULL, tree::printer, tree::printomat,sprint_realloc_bitstring(), sprint_realloc_by_type(),
sprint_realloc_counter(), sprint_realloc_counter64(),
sprint_realloc_gauge(), sprint_realloc_integer(),
sprint_realloc_ipaddress(), sprint_realloc_networkaddress(),
sprint_realloc_nsapaddress(), sprint_realloc_null(),
sprint_realloc_object_identifier(),
sprint_realloc_octet_string(), sprint_realloc_opaque(),
sprint_realloc_timeticks(), sprint_realloc_uinteger(), and
tree::type.void shutdown_mib (void)
Unloads all mibs. Definition at line 2714 of file mib.c.References tree::label, Mib, NULL, SNMP_FREE, and tree_head.
Referenced by snmp_shutdown().
void snmp_in_toggle_options_usage (const char * lead, FILE *
outf) Prints out a help usage for the in* toggle options. Parameters: lead The lead to print for every line. outf The file descriptor to write to. Definition at line 2287 of file mib.c.oid* snmp_parse_oid (const char * argv, oid * root, size_t *
rootlen) Given a string, parses an oid out of it (if possible). It will try to parse it based on predetermined configuration if present or by every method possible otherwise. If asuffix has been registered using NETSNMP_DS_LIB_OIDSUFFIX,
it will be appended to the input string before processing. Parameters: argv The OID to string parse root An OID array where the results are stored. rootlen The max length of the array going in and the data length coming out. Returns: The root oid pointer if successful, or NULL otherwise. Definition at line 5806 of file mib.c. Version 5.4.1 Last change: 27 Jul 2007 13net-snmp mib parsing and datatype manipulation routines.(3)
References clear_tree_flags(), get_node(), get_wild_node(),
netsnmp_ds_get_boolean(), netsnmp_ds_get_string(), NULL,
read_objid(), and tree_head.
Referenced by netsnmp_config_parse_table_set(), and
snmp_add_var().
int sprint_realloc_asciistring (u_char ** buf, size_t *
buf_len, size_t * out_len, int allow_realloc, const u_char *
cp, size_t len)
Prints an ascii string into a buffer. The characters pointed by *cp are encoded as an ascii string.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf address of the buffer to print to.buf_len address to an integer containing the size of
buf.out_len incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. cp the array of characters to encode. len the array length of cp. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 367 of file mib.c.References snmp_realloc().
Referenced by asn_build_string(), asn_parse_string(),
snprint_asciistring(), and sprint_realloc_octet_string().
int sprint_realloc_badtype (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Fallback routine for a bad type, prints 'Variable has bad type' into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
Version 5.4.1 Last change: 27 Jul 2007 14net-snmp mib parsing and datatype manipulation routines.(3)
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1900 of file mib.c.References snmp_strcat().
Referenced by snprint_badtype(), and
sprint_realloc_by_type().
int sprint_realloc_bitstring (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a bit string into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Version 5.4.1 Last change: 27 Jul 2007 15net-snmp mib parsing and datatype manipulation routines.(3)
Definition at line 1761 of file mib.c.References netsnmp_vardata::bitstring, enum_list::label,
netsnmp_ds_get_boolean(), enum_list::next, NULL,
snmp_strcat(), sprint_realloc_by_type(),
sprint_realloc_hexstring(), variable_list::type,
variable_list::val, variable_list::val_len, and
enum_list::value.
Referenced by set_function(), snprint_bitstring(), and
sprint_realloc_by_type().
int sprint_realloc_by_type (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Universal print routine, prints a variable into a buffer according to the variable type.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1935 of file mib.c.References sprint_realloc_badtype(),
sprint_realloc_bitstring(), sprint_realloc_counter(),
sprint_realloc_counter64(), sprint_realloc_gauge(),
sprint_realloc_integer(), sprint_realloc_ipaddress(),
sprint_realloc_null(), sprint_realloc_object_identifier(),
sprint_realloc_octet_string(), sprint_realloc_opaque(),
sprint_realloc_timeticks(), sprint_realloc_uinteger(), and
variable_list::type.
Version 5.4.1 Last change: 27 Jul 2007 16net-snmp mib parsing and datatype manipulation routines.(3)
Referenced by set_function(), snprint_by_type(),
sprint_realloc_bitstring(), sprint_realloc_counter(),
sprint_realloc_counter64(), sprint_realloc_gauge(),
sprint_realloc_integer(), sprint_realloc_ipaddress(),
sprint_realloc_networkaddress(),
sprint_realloc_nsapaddress(), sprint_realloc_null(),
sprint_realloc_object_identifier(),
sprint_realloc_octet_string(), sprint_realloc_opaque(),
sprint_realloc_timeticks(), sprint_realloc_uinteger(),
sprint_realloc_value(), sprint_realloc_variable(), and
table_helper_handler().
int sprint_realloc_counter (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a counter value into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1528 of file mib.c.References netsnmp_vardata::integer,
netsnmp_ds_get_boolean(), NULL, snmp_strcat(),
sprint_realloc_by_type(), variable_list::type, and
variable_list::val.
Referenced by set_function(), snprint_counter(), and
sprint_realloc_by_type().
int sprint_realloc_counter64 (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
Version 5.4.1 Last change: 27 Jul 2007 17net-snmp mib parsing and datatype manipulation routines.(3)
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a counter into a buffer. The variable var is encoded as a counter value.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 844 of file mib.c.References netsnmp_vardata::counter64,
netsnmp_ds_get_boolean(), NULL, snmp_cstrcat,
sprint_realloc_by_type(), variable_list::type, and
variable_list::val.
Referenced by set_function(), snprint_counter64(),
sprint_realloc_by_type(), and sprint_realloc_opaque().
int sprint_realloc_gauge (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a gauge value into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
Version 5.4.1 Last change: 27 Jul 2007 18net-snmp mib parsing and datatype manipulation routines.(3)
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1455 of file mib.c.References netsnmp_vardata::integer,
netsnmp_ds_get_boolean(), NULL, snmp_strcat(),
sprint_realloc_by_type(), sprint_realloc_hinted_integer(),
variable_list::type, and variable_list::val.
Referenced by set_function(), snprint_gauge(), and
sprint_realloc_by_type().
int sprint_realloc_hinted_integer (u_char ** buf, size_t *
buf_len, size_t * out_len, int allow_realloc, long val,
const char decimaltype, const char * hint, const char * units) Prints an integer according to the hint into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. val The variable to encode. decimaltype The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may _NOT_ be NULL.
units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Version 5.4.1 Last change: 27 Jul 2007 19net-snmp mib parsing and datatype manipulation routines.(3)
Definition at line 1181 of file mib.c.References snmp_strcat().
Referenced by snprint_hinted_integer(), and
sprint_realloc_gauge().
int sprint_realloc_integer (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints an integer into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1255 of file mib.c.References netsnmp_vardata::integer, enum_list::label,
netsnmp_ds_get_boolean(), enum_list::next, NULL,
snmp_strcat(), sprint_realloc_by_type(),
variable_list::type, variable_list::val, and
enum_list::value.
Referenced by set_function(), snprint_integer(), and
sprint_realloc_by_type().
int sprint_realloc_ipaddress (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units)Prints an ip-address into a buffer.
Version 5.4.1 Last change: 27 Jul 2007 20net-snmp mib parsing and datatype manipulation routines.(3)
If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1657 of file mib.c.References netsnmp_ds_get_boolean(), NULL, snmp_realloc(),
snmp_strcat(), sprint_realloc_by_type(),
netsnmp_vardata::string, variable_list::type, and
variable_list::val.
Referenced by set_function(), snprint_ipaddress(), and
sprint_realloc_by_type().
int sprint_realloc_networkaddress (u_char ** buf, size_t *
buf_len, size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a network address into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
Version 5.4.1 Last change: 27 Jul 2007 21net-snmp mib parsing and datatype manipulation routines.(3)
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1591 of file mib.c.References netsnmp_ds_get_boolean(), NULL, snmp_realloc(),
snmp_strcat(), sprint_realloc_by_type(),
netsnmp_vardata::string, variable_list::type,
variable_list::val, and variable_list::val_len.
Referenced by set_function(), and snprint_networkaddress().
int sprint_realloc_null (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a null value into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1717 of file mib.c.References netsnmp_ds_get_boolean(), NULL, snmp_strcat(),
sprint_realloc_by_type(), and variable_list::type.
Referenced by set_function(), snprint_null(), and
sprint_realloc_by_type().
Version 5.4.1 Last change: 27 Jul 2007 22net-snmp mib parsing and datatype manipulation routines.(3)
int sprint_realloc_object_identifier (u_char ** buf, size_t *
buf_len, size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints an object identifier into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1037 of file mib.c.References netsnmp_ds_get_boolean(),
netsnmp_sprint_realloc_objid_tree(), NULL,
netsnmp_vardata::objid, snmp_strcat(),
sprint_realloc_by_type(), variable_list::type,
variable_list::val, and variable_list::val_len.
Referenced by set_function(), snprint_object_identifier(),
and sprint_realloc_by_type().
int sprint_realloc_octet_string (u_char ** buf, size_t *
buf_len, size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints an octet string into a buffer. The variable var is encoded as octet string.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to. Version 5.4.1 Last change: 27 Jul 2007 23net-snmp mib parsing and datatype manipulation routines.(3)
buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 427 of file mib.c.References netsnmp_ds_get_boolean(), netsnmp_ds_get_int(),
NULL, snmp_cstrcat, snmp_realloc(),
sprint_realloc_asciistring(), sprint_realloc_by_type(),
sprint_realloc_hexstring(), sprint_realloc_octet_string(),
netsnmp_vardata::string, variable_list::type,
variable_list::val, and variable_list::val_len.
Referenced by set_function(), snprint_octet_string(),
sprint_realloc_by_type(), and sprint_realloc_octet_string().
int sprint_realloc_opaque (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints an object identifier into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Version 5.4.1 Last change: 27 Jul 2007 24net-snmp mib parsing and datatype manipulation routines.(3)
Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 947 of file mib.c.References netsnmp_ds_get_boolean(), NULL, snmp_cstrcat,
snmp_strcat(), sprint_realloc_by_type(),
sprint_realloc_counter64(), sprint_realloc_hexstring(),
netsnmp_vardata::string, variable_list::type,
variable_list::val, and variable_list::val_len.
Referenced by set_function(), snprint_opaque(), and
sprint_realloc_by_type().
int sprint_realloc_timeticks (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints a timetick variable into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1107 of file mib.c.References netsnmp_vardata::integer,
netsnmp_ds_get_boolean(), NULL, snmp_strcat(),
sprint_realloc_by_type(), variable_list::type, and
variable_list::val.
Referenced by set_function(), snprint_timeticks(), and
sprint_realloc_by_type().
Version 5.4.1 Last change: 27 Jul 2007 25net-snmp mib parsing and datatype manipulation routines.(3)
int sprint_realloc_uinteger (u_char ** buf, size_t * buf_len,
size_t * out_len, int allow_realloc, const
netsnmp_variable_list * var, const struct enum_list * enums,
const char * hint, const char * units) Prints an unsigned integer into a buffer.If allow_realloc is true the buffer will be (re)allocated to
fit in the needed size. (Note: *buf may change due to this.) Parameters: buf Address of the buffer to print to.buf_len Address to an integer containing the size of
buf.out_len Incremented by the number of characters printed.
allow_realloc if not zero reallocate the buffer to fit
the needed size. var The variable to encode. enums The enumeration ff this variable is enumerated. may be NULL.hint Contents of the DISPLAY-HINT clause of the MIB. See
RFC 1903 Section 3.1 for details. may be NULL. units Contents of the UNITS clause of the MIB. may be NULL. Returns: 1 on success, or 0 on failure (out of memory, or buffer to small when not allowed to realloc.) Definition at line 1358 of file mib.c.References netsnmp_vardata::integer, enum_list::label,
netsnmp_ds_get_boolean(), enum_list::next, NULL,
snmp_strcat(), sprint_realloc_by_type(),
variable_list::type, variable_list::val, and
enum_list::value.
Referenced by set_function(), snprint_uinteger(), and
sprint_realloc_by_type().
char* uptime_string (u_long timeticks, char * buf)
Converts timeticks to hours, minutes, seconds string. CMU compatible does not show centiseconds. Parameters: timeticks The timeticks to convert. buf Buffer to write to, has to be at least 40 Bytes large. Returns: The buffer Version 5.4.1 Last change: 27 Jul 2007 26net-snmp mib parsing and datatype manipulation routines.(3)
See also: uptimeString Definition at line 5771 of file mib.c.References uptime_string_n().
Variable DocumentationPrefixList mib_prefixes[]
Initial value: {{&Standard_Prefix[0]},
{'.iso.org.dod.internet.mgmt.mib-2'},
{'.iso.org.dod.internet.experimental'}, {'.iso.org.dod.internet.private'}, {'.iso.org.dod.internet.snmpParties'}, {'.iso.org.dod.internet.snmpSecrets'}, {NULL, 0} } Definition at line 160 of file mib.c.Referenced by netsnmp_init_mib(), and
netsnmp_sprint_realloc_objid_tree().
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:_______________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|____________________|__________________________________|_
| Availability | system/management/snmp/net-snmp|
|____________________|__________________________________|_
| Interface Stability| Volatile ||____________________|_________________________________|
NOTESSource for net-snmp is available on http://opensolaris.org.
Version 5.4.1 Last change: 27 Jul 2007 27