16#include "ws_symbol_export.h"
126WS_DLL_PUBLIC
void oids_init(
const char* app_env_var_prefix);
310WS_DLL_PUBLIC
void oid_both(
wmem_allocator_t *scope,
unsigned oid_len, uint32_t *subids,
char** resolved_p,
char** numeric_p);
348WS_DLL_PUBLIC
oid_info_t*
oid_get(
unsigned oid_len, uint32_t *subids,
unsigned* matched_p,
unsigned* left_p);
383WS_DLL_PUBLIC
void oid_add(
const char*
name,
unsigned oid_len, uint32_t *subids);
412#define subid_t uint32_t
425extern char* oid_test_a2b(uint32_t num_subids, uint32_t* subids);
435#define add_oid_debug_subtree(a,b) ((void)0)
ftenum
Fundamental field value types used throughout the Wireshark dissector framework.
Definition ftypes.h:26
struct _oid_value_type_t oid_value_type_t
Describes the value syntax and BER encoding of an OID leaf node.
WS_DLL_PUBLIC unsigned oid_string2subid(wmem_allocator_t *scope, const char *oid_str, uint32_t **subids_p)
Return the number of sub-identifiers in a decoded OID string.
Definition oids.c:943
struct _oid_key_t oid_key_t
Describes a single index key component used to identify rows in an OID-indexed table.
WS_DLL_PUBLIC char * rel_oid_encoded2string(wmem_allocator_t *scope, const uint8_t *encoded, unsigned len)
Return the string representation of an encoded relative OID.
Definition oids.c:1189
void oid_pref_init(module_t *nameres)
Initialize OID-related preferences.
Definition oids.c:773
struct _oid_info_t oid_info_t
A node in the OID registry tree, representing one arc of an object identifier.
WS_DLL_PUBLIC unsigned oid_encoded2subid_sub(wmem_allocator_t *scope, const uint8_t *oid_bytes, int oid_len, uint32_t **subids_pi, bool is_first)
Return the number of sub-identifiers in a decoded OID, with support for partial (sub-) OID decoding.
Definition oids.c:995
WS_DLL_PUBLIC oid_info_t * oid_get(unsigned oid_len, uint32_t *subids, unsigned *matched_p, unsigned *left_p)
Retrieves an OID information structure from its encoded form.
Definition oids.c:1063
WS_DLL_PUBLIC char * oid_encoded2string(wmem_allocator_t *scope, const uint8_t *encoded, unsigned len)
Return the string representation of an encoded OID.
Definition oids.c:1174
WS_DLL_PUBLIC unsigned oid_encoded2subid(wmem_allocator_t *scope, const uint8_t *oid, int len, uint32_t **subids_p)
Return the number of sub-identifiers in a decoded OID.
Definition oids.c:992
WS_DLL_PUBLIC void oid_add_from_string(const char *name, const char *oid_str)
Add an OID to the OID database from a string.
Definition oids.c:178
WS_DLL_PUBLIC unsigned oid_subid2encoded(wmem_allocator_t *scope, unsigned len, uint32_t *subids, uint8_t **encoded_p)
Return length of encoded buffer.
Definition oids.c:1119
WS_DLL_PUBLIC char * oid_subid2string(wmem_allocator_t *scope, uint32_t *subids, unsigned len)
Convert a sequence of OID sub-identifiers to a human-readable string.
Definition oids.c:889
WS_DLL_PUBLIC char * rel_oid_resolved_from_encoded(wmem_allocator_t *scope, const uint8_t *oid, int len)
Resolve an OID from its encoded form.
Definition oids.c:1108
enum _oid_kind_t oid_kind_t
Semantic role of an OID node within a MIB or SMI object hierarchy.
WS_DLL_PUBLIC void oid_both_from_string(wmem_allocator_t *scope, const char *oid_str, char **resolved_p, char **numeric_p)
Resolve and convert an OID from its string representation to both resolved and numeric forms.
Definition oids.c:1276
WS_DLL_PUBLIC void oids_init(const char *app_env_var_prefix)
Initialize OID resolution and register related preferences.
enum _oid_key_type_t oid_key_type_t
Encoding type of a key sub-identifier in an OID index.
WS_DLL_PUBLIC char * oid_resolved(wmem_allocator_t *scope, unsigned len, uint32_t *subids)
Resolve an OID to its human-readable name.
WS_DLL_PUBLIC void oid_both(wmem_allocator_t *scope, unsigned oid_len, uint32_t *subids, char **resolved_p, char **numeric_p)
Resolve and convert an OID to both resolved and numeric representations.
Definition oids.c:1263
WS_DLL_PUBLIC char * oid_resolved_from_string(wmem_allocator_t *scope, const char *oid_str)
Resolves an OID string to its resolved form.
Definition oids.c:1218
WS_DLL_PUBLIC void oid_both_from_encoded(wmem_allocator_t *scope, const uint8_t *oid, int oid_len, char **resolved_p, char **numeric_p)
Resolve and convert an OID from its encoded form to both resolved and numeric representations.
Definition oids.c:1268
struct _oid_bits_info_t oid_bits_info_t
Describes the full set of named bit fields within a BITS-syntax OID value.
WS_DLL_PUBLIC void oid_add_from_encoded(const char *name, const uint8_t *oid, int oid_len)
Add an OID to the OID database from an encoded buffer.
Definition oids.c:191
WS_DLL_PUBLIC oid_info_t * oid_get_from_encoded(wmem_allocator_t *scope, const uint8_t *oid, int oid_len, uint32_t **subids, unsigned *matched, unsigned *left)
Retrieves an OID information structure from its encoded form.
Definition oids.c:1088
WS_DLL_PUBLIC char * oid_resolved_from_encoded(wmem_allocator_t *scope, const uint8_t *oid, int len)
Resolve an OID from its encoded form.
Definition oids.c:1098
WS_DLL_PUBLIC unsigned oid_string2encoded(wmem_allocator_t *scope, const char *oid_str, uint8_t **encoded_p)
Return length of encoded buffer.
Definition oids.c:1204
WS_DLL_PUBLIC oid_info_t * oid_get_from_string(wmem_allocator_t *scope, const char *oid_str, uint32_t **subids, unsigned *matched, unsigned *left)
Retrieves an OID information structure from a string representation.
Definition oids.c:1093
_oid_kind_t
Semantic role of an OID node within a MIB or SMI object hierarchy.
Definition oids.h:79
@ OID_KIND_ROW
Definition oids.h:84
@ OID_KIND_SCALAR
Definition oids.h:82
@ OID_KIND_GROUP
Definition oids.h:87
@ OID_KIND_TABLE
Definition oids.h:83
@ OID_KIND_NODE
Definition oids.h:81
@ OID_KIND_UNKNOWN
Definition oids.h:80
@ OID_KIND_NOTIFICATION
Definition oids.h:86
@ OID_KIND_COMPLIANCE
Definition oids.h:88
@ OID_KIND_CAPABILITIES
Definition oids.h:89
@ OID_KIND_COLUMN
Definition oids.h:85
WS_DLL_PUBLIC char * oid_get_default_mib_path(const char *app_env_var_prefix)
Fetch the default MIB/PIB path.
WS_DLL_PUBLIC void oids_cleanup(void)
Clean up OID-related resources.
Definition oids.c:881
WS_DLL_PUBLIC void oid_add(const char *name, unsigned oid_len, uint32_t *subids)
Add an OID to the OID database.
Definition oids.c:168
_oid_key_type_t
Encoding type of a key sub-identifier in an OID index.
Definition oids.h:47
@ OID_KEY_TYPE_IMPLIED_STRING
Definition oids.h:56
@ OID_KEY_TYPE_IPADDR
Definition oids.h:54
@ OID_KEY_TYPE_BYTES
Definition oids.h:52
@ OID_KEY_TYPE_IMPLIED_OID
Definition oids.h:55
@ OID_KEY_TYPE_STRING
Definition oids.h:51
@ OID_KEY_TYPE_NSAP
Definition oids.h:53
@ OID_KEY_TYPE_INTEGER
Definition oids.h:49
@ OID_KEY_TYPE_DATE_AND_TIME
Definition oids.h:59
@ OID_KEY_TYPE_IMPLIED_BYTES
Definition oids.h:57
@ OID_KEY_TYPE_WRONG
Definition oids.h:48
@ OID_KEY_TYPE_ETHER
Definition oids.h:58
@ OID_KEY_TYPE_OID
Definition oids.h:50
WS_DLL_PUBLIC char * rel_oid_subid2string(wmem_allocator_t *scope, uint32_t *subids, unsigned len, bool is_absolute)
Convert a sequence of OID subidentifiers to a human-readable string.
Definition oids.c:892
Maps a single bit offset within an OID value to a protocol tree field.
Definition oids.h:30
int hfid
Definition oids.h:32
unsigned offset
Definition oids.h:31
Describes the full set of named bit fields within a BITS-syntax OID value.
Definition oids.h:38
unsigned num
Definition oids.h:39
struct _oid_bit_t * data
Definition oids.h:41
int ett
Definition oids.h:40
A node in the OID registry tree, representing one arc of an object identifier.
Definition oids.h:108
wmem_tree_t * children
Definition oids.h:112
char * name
Definition oids.h:110
struct _oid_info_t * parent
Definition oids.h:117
oid_bits_info_t * bits
Definition oids.h:116
const oid_value_type_t * value_type
Definition oids.h:113
oid_key_t * key
Definition oids.h:115
int value_hfid
Definition oids.h:114
uint32_t subid
Definition oids.h:109
oid_kind_t kind
Definition oids.h:111
Describes a single index key component used to identify rows in an OID-indexed table.
Definition oids.h:95
int display
Definition oids.h:101
struct _oid_key_t * next
Definition oids.h:102
enum ftenum ft_type
Definition oids.h:100
oid_key_type_t key_type
Definition oids.h:98
int hfid
Definition oids.h:99
uint32_t num_subids
Definition oids.h:97
char * name
Definition oids.h:96
Describes the value syntax and BER encoding of an OID leaf node.
Definition oids.h:65
enum ftenum ft_type
Definition oids.h:66
int max_len
Definition oids.h:71
int min_len
Definition oids.h:70
oid_key_type_t keytype
Definition oids.h:72
int display
Definition oids.h:67
int8_t ber_class
Definition oids.h:68
int32_t ber_tag
Definition oids.h:69
int keysize
Definition oids.h:73
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
Internal representation of a wmem balanced tree.
Definition wmem_tree-int.h:81
Represents a preference module grouping related preferences under a named, hierarchical entry in the ...
Definition prefs-int.h:27