diff options
Diffstat (limited to 'include/net-snmp/library/snmp_client.h')
-rw-r--r-- | include/net-snmp/library/snmp_client.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/include/net-snmp/library/snmp_client.h b/include/net-snmp/library/snmp_client.h new file mode 100644 index 0000000..85c0aba --- /dev/null +++ b/include/net-snmp/library/snmp_client.h @@ -0,0 +1,111 @@ +/* + * snmp_client.h + */ +/*********************************************************** + Copyright 1988, 1989 by Carnegie Mellon University + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of CMU not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. +******************************************************************/ + +#ifndef SNMP_CLIENT_H +#define SNMP_CLIENT_H + +#ifdef __cplusplus +extern "C" { +#endif + + + struct snmp_pdu; + struct snmp_session; + struct variable_list; + + struct synch_state { + int waiting; + int status; + /* + * status codes + */ +#define STAT_SUCCESS 0 +#define STAT_ERROR 1 +#define STAT_TIMEOUT 2 + int reqid; + netsnmp_pdu *pdu; + }; + + int snmp_set_var_value(netsnmp_variable_list *, + const u_char *, size_t); + int snmp_set_var_objid(netsnmp_variable_list * vp, + const oid * objid, + size_t name_length); + int snmp_set_var_typed_value(netsnmp_variable_list * + newvar, u_char type, + const u_char * val_str, + size_t val_len); + int snmp_set_var_typed_integer(netsnmp_variable_list * newvar, + u_char type, long val); + void snmp_replace_var_types(netsnmp_variable_list * vbl, + u_char old_type, + u_char new_type); + void snmp_reset_var_buffers(netsnmp_variable_list * var); + void snmp_reset_var_types(netsnmp_variable_list * vbl, + u_char new_type); + int count_varbinds(netsnmp_variable_list * var_ptr); + int count_varbinds_of_type(netsnmp_variable_list * var_ptr, + u_char type); + netsnmp_variable_list *find_varbind_of_type(netsnmp_variable_list * + var_ptr, u_char type); + netsnmp_variable_list *find_varbind_in_list(netsnmp_variable_list *vblist, + oid *name, size_t len); + + netsnmp_variable_list *snmp_add_null_var(netsnmp_pdu *, const oid *, size_t); + netsnmp_pdu *snmp_pdu_create(int); + netsnmp_pdu *snmp_fix_pdu(netsnmp_pdu *, int); + netsnmp_pdu *snmp_clone_pdu(netsnmp_pdu *); + netsnmp_pdu *snmp_split_pdu(netsnmp_pdu *, int skipCount, + int copyCount); + + unsigned long snmp_varbind_len(netsnmp_pdu *pdu); + int snmp_clone_var(netsnmp_variable_list *, + netsnmp_variable_list *); + netsnmp_variable_list *snmp_clone_varbind(netsnmp_variable_list *); + const char *snmp_errstring(int); + int snmp_synch_response(netsnmp_session *, netsnmp_pdu *, + netsnmp_pdu **); + int snmp_synch_response_cb(netsnmp_session *, + netsnmp_pdu *, netsnmp_pdu **, + snmp_callback); + int snmp_clone_mem(void **, void *, unsigned); + + /* + * single session API - see snmp_api.h for full details + */ + int snmp_sess_synch_response(void *, netsnmp_pdu *, + netsnmp_pdu **); + +void netsnmp_query_set_default_session(netsnmp_session *); +netsnmp_session * netsnmp_query_get_default_session( void ); +int netsnmp_query_get( netsnmp_variable_list *, netsnmp_session *); +int netsnmp_query_getnext( netsnmp_variable_list *, netsnmp_session *); +int netsnmp_query_walk( netsnmp_variable_list *, netsnmp_session *); +int netsnmp_query_set( netsnmp_variable_list *, netsnmp_session *); + +#ifdef __cplusplus +} +#endif +#endif /* SNMP_CLIENT_H */ |