typedef struct mib_entry { /* << SNMP-MIB Entry Info >> */ U8 Type; /* Object Type */ U8 OidLen; /* Object ID length */ U8 Oid[MIB_OIDSZ]; /* Object ID value */ U8 ValSz; /* Size of a Variable */ void *Val; /* Pointer to a variable */ void (*cb_func)(int mode); } MIB_ENTRY;
Why OID has type unsigned char? Numbers in OID can be more than 256.
mib_entry->Type is the type of a MIB object: MIB_INTEGER, MIB_OCTET_STR, MIB_OBJECT_ID, MIB_IP_ADDR, etc...
But the type is what the type of the value accessed by the OID. It doesn't tell if the OID (the address) should be stored as an ASCII string or in any other format.
Thanks. It is a pity there is no simple interface that most not to code it manual.