74#include <sys/socket.h>
77#include <netinet/in.h>
113 printf(
"VARS: Creating.\n");
140 printf(
"VARS: Copying name, size (%d)\n", Len);
145 memcpy((
char *) New->
name, (
char *) Name, Len *
sizeof(
oid));
170 printf(
"VARS: Cloning.\n");
179 printf(
"VARS: Copying entire variable list. (Size %d)\n",
183 memcpy((
char *) Dest, (
char *) Src,
sizeof(
struct variable_list));
193 printf(
"VARS: Copying name OID. (Size %d)\n", Src->
name_length);
195 memcpy((
char *) Dest->
name, (
char *) Src->
name,
209 printf(
"VARS: Copying value (Size %d)\n", Src->
val_len);
214 printf(
"VARS: Cloned %x.\n", (
unsigned int) Dest);
217 printf(
"VARS: Cloned (%x)\n", (
unsigned int) Dest);
218 printf(
"VARS: Name is (%x)\n", (
unsigned int) Dest->
name);
267 int FakeArg = *BufLenP;
281 if (HeaderEnd ==
NULL)
294 switch (Vars->
type) {
357 if (HeaderEnd ==
NULL)
380 int AllVarLen = *BufLen;
385 printf(
"VARS: Decoding buffer of length %d\n", *BufLen);
398 printf(
"VARS: All Variable length %d\n", AllVarLen);
401#define PARSE_ERROR { snmp_var_free(Var); return(NULL); }
404 while ((
int) AllVarLen > 0) {
412 ThisVarLen = AllVarLen;
420 AllVarLen = AllVarLen - (ThisVarLen + (tmp - bufp));
429 printf(
"VARS: Header type 0x%x (%d bytes left)\n", VarBindType, ThisVarLen);
445 printf(
"VARS: Decoded OBJID (%d bytes). (%d bytes left)\n",
451 DataLen = ThisVarLen;
457 ThisVarLen = DataLen;
460 printf(
"VARS: Data type %d\n", Var->
type);
465 switch ((
short) Var->
type) {
478 printf(
"VARS: Decoded integer '%d' (%d bytes left)\n",
497 printf(
"VARS: Decoded timeticks '%d' (%d bytes left)\n",
505 Var->
val_len = ThisVarLen >= 0 ? ThisVarLen : 0;
516 printf(
"VARS: Decoded string '%s' (length %d) (%d bytes left)\n",
536 printf(
"VARS: Decoded OBJID (length %d) (%d bytes left)\n",
562 printf(
"VARS: Adding to list.\n");
u_char * asn_build_header(u_char *, int *, u_char, int)
u_char * asn_build_unsigned_int(u_char *, int *, u_char, u_int *, int)
u_char * asn_parse_unsigned_int(u_char *, int *, u_char *, u_int *, int)
u_char * asn_build_objid(u_char *, int *, u_char, oid *, int)
u_char * asn_build_null(u_char *, int *, u_char)
u_char * asn_parse_int(u_char *, int *, u_char *, int *, int)
u_char * asn_parse_objid(u_char *, int *, u_char *, oid *, int *)
u_char * asn_parse_string(u_char *, int *, u_char *, u_char *, int *)
u_char * asn_build_int(u_char *, int *, u_char, int *, int)
u_char * asn_build_exception(u_char *, int *, u_char)
u_char * asn_parse_header(u_char *, int *, u_char *)
u_char * asn_build_string(u_char *, int *, u_char, u_char *, int)
void snmp_set_api_error(int)
#define SNMPERR_PDU_PARSE
#define SNMPERR_UNSUPPORTED_TYPE
SQUIDCEXTERN void snmplib_debug(int, const char *,...) PRINTF_FORMAT_ARG2
struct variable_list * snmp_var_new(oid *Name, int Len)
struct variable_list * snmp_var_clone(struct variable_list *Src)
void snmp_var_free(struct variable_list *Ptr)
struct variable_list * snmp_var_new_integer(oid *Name, int Len, int ival, unsigned char type)
u_char * snmp_var_DecodeVarBind(u_char *Buffer, int *BufLen, struct variable_list **VarP, int Version)
u_char * snmp_var_EncodeVarBind(u_char *Buffer, int *BufLenP, variable_list *VarList, int Version)
#define SMI_NOSUCHINSTANCE
struct variable_list * next_variable
union variable_list::@0 val