08 Oct, 2012
2 commits
-
Add a pair of utility functions to render OIDs as strings. The first takes an
encoded OID and turns it into a "a.b.c.d" form string:int sprint_oid(const void *data, size_t datasize,
char *buffer, size_t bufsize);The second takes an OID enum index and calls the first on the data held
therein:int sprint_OID(enum OID oid, char *buffer, size_t bufsize);
Signed-off-by: David Howells
Signed-off-by: Rusty Russell -
Implement a simple static OID registry that allows the mapping of an encoded
OID to an enum value for ease of use.The OID registry index enum appears in the:
linux/oid_registry.h
header file. A script generates the registry from lines in the header file
that look like:OID_foo,/*1.2.3.4*/
The actual OID is taken to be represented by the numbers with interpolated
dots in the comment.All other lines in the header are ignored.
The registry is queries by calling:
OID look_up_oid(const void *data, size_t datasize);
This returns a number from the registry enum representing the OID if found or
OID__NR if not.Signed-off-by: David Howells
Signed-off-by: Rusty Russell