#ifndef NET_SNMP_VARBIND_API_H #define NET_SNMP_VARBIND_API_H /** * Library API routines concerned with variable bindings and values. */ #include #ifdef __cplusplus extern "C" { #endif /* Creation */ NETSNMP_IMPORT netsnmp_variable_list * snmp_pdu_add_variable(netsnmp_pdu *pdu, const oid * name, size_t name_length, u_char type, const void * value, size_t len); NETSNMP_IMPORT netsnmp_variable_list * snmp_varlist_add_variable(netsnmp_variable_list ** varlist, const oid * name, size_t name_length, u_char type, const void * value, size_t len); NETSNMP_IMPORT netsnmp_variable_list * snmp_add_null_var(netsnmp_pdu *pdu, const oid * name, size_t name_length); NETSNMP_IMPORT netsnmp_variable_list * snmp_clone_varbind(netsnmp_variable_list * varlist); /* Setting Values */ NETSNMP_IMPORT int snmp_set_var_objid(netsnmp_variable_list * var, const oid * name, size_t name_length); NETSNMP_IMPORT int snmp_set_var_value(netsnmp_variable_list * var, const void * value, size_t len); NETSNMP_IMPORT int snmp_set_var_typed_value(netsnmp_variable_list * var, u_char type, const void * value, size_t len); NETSNMP_IMPORT int snmp_set_var_typed_integer(netsnmp_variable_list * var, u_char type, long val); /* Output */ NETSNMP_IMPORT void print_variable(const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); NETSNMP_IMPORT void fprint_variable(FILE * fp, const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); NETSNMP_IMPORT int snprint_variable(char *buf, size_t buf_len, const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); NETSNMP_IMPORT void print_value(const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); NETSNMP_IMPORT void fprint_value(FILE * fp, const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); NETSNMP_IMPORT int snprint_value(char *buf, size_t buf_len, const oid * objid, size_t objidlen, const netsnmp_variable_list * variable); /* See mib_api.h for {,f,sn}print_objid */ /* Deletion */ NETSNMP_IMPORT void snmp_free_var( netsnmp_variable_list *var); /* frees just this one */ NETSNMP_IMPORT void snmp_free_varbind(netsnmp_variable_list *varlist); /* frees all in list */ #ifdef __cplusplus } #endif /* * Having extracted the main ("public API") calls relevant * to this area of the Net-SNMP project, the next step is to * identify the related "public internal API" routines. * * In due course, these should probably be gathered * together into a companion 'library/varbind_api.h' header file. * [Or some suitable name] * * But for the time being, the expectation is that the * traditional headers that provided the above definitions * will probably also cover the relevant internal API calls. * Hence they are listed here: */ #include #include #include #endif /* NET_SNMP_VARBIND_API_H */