net-snmp 5.7
Defines | Typedefs | Functions
tools.h File Reference

Go to the source code of this file.

Defines

#define SNMP_MAXPATH   1024
#define SNMP_MAXBUF   (1024 * 4)
#define SNMP_MAXBUF_MEDIUM   1024
#define SNMP_MAXBUF_SMALL   512
#define SNMP_MAXBUF_MESSAGE   1500
#define SNMP_MAXOID   64
#define SNMP_MAX_CMDLINE_OIDS   128
#define SNMP_FILEMODE_CLOSED   0600
#define SNMP_FILEMODE_OPEN   0644
#define BYTESIZE(bitsize)   ((bitsize + 7) >> 3)
#define ROUNDUP8(x)   ( ( (x+7) >> 3 ) * 8 )
#define SNMP_STRORNULL(x)   ( x ? x : "(null)")
#define SNMP_FREE(s)   do { if (s) { free((void *)s); s=NULL; } } while(0)
 Frees a pointer only if it is !NULL and sets its value to NULL.
#define SNMP_SWIPE_MEM(n, s)   do { if (n) free((void *)n); n = s; s=NULL; } while(0)
 Frees pointer n only if it is !NULL, sets n to s and sets s to NULL.
#define SNMP_MALLOC_STRUCT(s)   (struct s *) calloc(1, sizeof(struct s))
 Mallocs memory of sizeof(struct s), zeros it and returns a pointer to it.
#define SNMP_MALLOC_TYPEDEF(td)   (td *) calloc(1, sizeof(td))
 Mallocs memory of sizeof(t), zeros it and returns a pointer to it.
#define SNMP_ZERO(s, l)   do { if (s) memset(s, 0, l); } while(0)
 Zeros l bytes of memory starting at s.
#define NETSNMP_REMOVE_CONST(t, e)   ((t)(uintptr_t)(e))
 Cast away constness without that gcc -Wcast-qual prints a compiler warning, similar to const_cast<> in C++.
#define TOUPPER(c)   (c >= 'a' && c <= 'z' ? c - ('a' - 'A') : c)
#define TOLOWER(c)   (c >= 'A' && c <= 'Z' ? c + ('a' - 'A') : c)
#define HEX2VAL(s)   ((isalpha(s) ? (TOLOWER(s)-'a'+10) : (TOLOWER(s)-'0')) & 0xf)
#define VAL2HEX(s)   ( (s) + (((s) >= 10) ? ('a'-10) : '0') )
#define SNMP_MAX(a, b)   ((a) > (b) ? (a) : (b))
 Computers the maximum of a and b.
#define SNMP_MIN(a, b)   ((a) > (b) ? (b) : (a))
 Computers the minimum of a and b.
#define SNMP_MACRO_VAL_TO_STR(s)   SNMP_MACRO_VAL_TO_STR_PRIV(s)
 Expands to string with value of the s.
#define SNMP_MACRO_VAL_TO_STR_PRIV(s)   #s
#define FALSE   0
#define TRUE   1
#define QUITFUN(e, l)
#define DIFFTIMEVAL(now, then, diff)
#define NETSNMP_TIMERADD(a, b, res)
 Compute res = a + b.
#define NETSNMP_TIMERSUB(a, b, res)
 Compute res = a - b.
#define USM_LENGTH_OID_TRANSFORM   10
#define ISTRANSFORM(ttype, toid)
#define ENGINETIME_MAX   2147483647
#define ENGINEBOOT_MAX   2147483647
#define snmp_cstrcat(b, l, o, a, s)   snmp_strcat(b,l,o,a,(const u_char *)s)

Typedefs

typedef void * marker_t
 A pointer to an opaque time marker value.
typedef const void * const_marker_t

Functions

NETSNMP_IMPORT int snmp_realloc (u_char **buf, size_t *buf_len)
 This function increase the size of the buffer pointed at by *buf, which is initially of size *buf_len.
void free_zero (void *buf, size_t size)
 zeros memory before freeing it.
u_char * malloc_random (size_t *size)
 Returns pointer to allocaed & set buffer on success, size contains number of random bytes filled.
u_char * malloc_zero (size_t size)
NETSNMP_IMPORT int memdup (u_char **to, const void *from, size_t size)
 Duplicates a memory block.
void netsnmp_check_definedness (const void *packet, size_t length)
 When running under Valgrind, check whether all bytes in the range [packet, packet+length) are defined.
NETSNMP_IMPORT u_int netsnmp_binary_to_hex (u_char **dest, size_t *dest_len, int allow_realloc, const u_char *input, size_t len)
 converts binary to hexidecimal
NETSNMP_IMPORT u_int binary_to_hex (const u_char *input, size_t len, char **output)
 converts binary to hexidecimal
int netsnmp_hex_to_binary (u_char **buf, size_t *buf_len, size_t *offset, int allow_realloc, const char *hex, const char *delim)
 convert an ASCII hex string (with specified delimiters) to binary
NETSNMP_IMPORT int snmp_hex_to_binary (u_char **buf, size_t *buf_len, size_t *offset, int allow_realloc, const char *hex)
 convert an ASCII hex string to binary
NETSNMP_IMPORT int hex_to_binary2 (const u_char *input, size_t len, char **output)
 hex_to_binary2
NETSNMP_IMPORT int snmp_decimal_to_binary (u_char **buf, size_t *buf_len, size_t *out_len, int allow_realloc, const char *decimal)
NETSNMP_IMPORT int snmp_strcat (u_char **buf, size_t *buf_len, size_t *out_len, int allow_realloc, const u_char *s)
NETSNMP_IMPORT char * netsnmp_strdup_and_null (const u_char *from, size_t from_len)
 copies a (possible) unterminated string of a given length into a new buffer and null terminates it as well (new buffer MAY be one byte longer to account for this
NETSNMP_IMPORT void dump_chunk (const char *debugtoken, const char *title, const u_char *buf, int size)
char * dump_snmpEngineID (const u_char *buf, size_t *buflen)
NETSNMP_IMPORT marker_t atime_newMarker (void)
 create a new time marker.
NETSNMP_IMPORT void atime_setMarker (marker_t pm)
 set a time marker.
NETSNMP_IMPORT long atime_diff (const_marker_t first, const_marker_t second)
 Returns the difference (in msec) between the two markers.
u_long uatime_diff (const_marker_t first, const_marker_t second)
 Returns the difference (in u_long msec) between the two markers.
NETSNMP_IMPORT u_long uatime_hdiff (const_marker_t first, const_marker_t second)
 Returns the difference (in u_long 1/100th secs) between the two markers (functionally this is what sysUpTime needs)
NETSNMP_IMPORT int atime_ready (const_marker_t pm, int deltaT)
 Test: Has (marked time plus delta) exceeded current time (in msec) ? Returns 0 if test fails or cannot be tested (no marker).
int uatime_ready (const_marker_t pm, unsigned int deltaT)
 Test: Has (marked time plus delta) exceeded current time (in msec) ? Returns 0 if test fails or cannot be tested (no marker).
int marker_tticks (const_marker_t pm)
 Return the number of timeTicks since the given marker.
int timeval_tticks (const struct timeval *tv)
char * netsnmp_getenv (const char *name)
 Non Windows: Returns a pointer to the desired environment variable or NULL if the environment variable does not exist.
int netsnmp_addrstr_hton (char *ptr, size_t len)
NETSNMP_IMPORT int netsnmp_string_time_to_secs (const char *time_string)
 Takes a time string like 4h and converts it to seconds.

Detailed Description

Definition in file tools.h.