/usr/include/net-snmp/agent/var_struct.h is in libsnmp-dev 5.4.3~dfsg-2.4ubuntu1.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #ifndef VAR_STRUCT_H
#define VAR_STRUCT_H
/*
* The subtree structure contains a subtree prefix which applies to
* all variables in the associated variable list.
*
* By converting to a tree of subtree structures, entries can
* now be subtrees of another subtree in the structure. i.e:
* 1.2
* 1.2.0
*/
#define UCD_REGISTRY_OID_MAX_LEN 128
/*
* subtree flags
*/
#define FULLY_QUALIFIED_INSTANCE 0x01
#define SUBTREE_ATTACHED 0x02
typedef struct netsnmp_subtree_s {
oid *name_a; /* objid prefix of registered subtree */
u_char namelen; /* number of subid's in name above */
oid *start_a; /* objid of start of covered range */
u_char start_len; /* number of subid's in start name */
oid *end_a; /* objid of end of covered range */
u_char end_len; /* number of subid's in end name */
struct variable *variables; /* pointer to variables array */
int variables_len; /* number of entries in above array */
int variables_width; /* sizeof each variable entry */
char *label_a; /* calling module's label */
netsnmp_session *session;
u_char flags;
u_char priority;
int timeout;
struct netsnmp_subtree_s *next; /* List of 'sibling' subtrees */
struct netsnmp_subtree_s *prev; /* (doubly-linked list) */
struct netsnmp_subtree_s *children; /* List of 'child' subtrees */
int range_subid;
oid range_ubound;
netsnmp_handler_registration *reginfo; /* new API */
int cacheid;
int global_cacheid;
size_t oid_off;
} netsnmp_subtree;
/*
* This is a new variable structure that doesn't have as much memory
* tied up in the object identifier. It's elements have also been re-arranged
* so that the name field can be variable length. Any number of these
* structures can be created with lengths tailor made to a particular
* application. The first 5 elements of the structure must remain constant.
*/
struct variable1 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[1]; /* object identifier of variable */
};
struct variable2 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[2]; /* object identifier of variable */
};
struct variable3 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[3]; /* object identifier of variable */
};
struct variable4 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[4]; /* object identifier of variable */
};
struct variable7 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[7]; /* object identifier of variable */
};
struct variable8 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[8]; /* object identifier of variable */
};
struct variable13 {
u_char magic; /* passed to function as a hint */
u_char type; /* type of variable */
u_short acl; /* access control list for variable */
FindVarMethod *findVar; /* function that finds variable */
u_char namelen; /* length of name below */
oid name[13]; /* object identifier of variable */
};
#endif /* VAR_STRUCT_H */
|