/usr/include/net-snmp/library/lcd_time.h is in libsnmp-dev 5.7.3+dfsg-1.7+deb9u1.
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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | /*
* lcd_time.h
*/
#ifndef _LCD_TIME_H
#define _LCD_TIME_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* undefine to enable time synchronization only on authenticated packets
*/
#define LCD_TIME_SYNC_OPT 1
/*
* Macros and definitions.
*/
#define ETIMELIST_SIZE 23
typedef struct enginetime_struct {
u_char *engineID;
u_int engineID_len;
u_int engineTime;
u_int engineBoot;
/*
* Time & boots values received from last authenticated
* * message within the previous time window.
*/
time_t lastReceivedEngineTime;
/*
* Timestamp made when engineTime/engineBoots was last
* * updated. Measured in seconds.
*/
#ifdef LCD_TIME_SYNC_OPT
u_int authenticatedFlag;
#endif
struct enginetime_struct *next;
} enginetime , *Enginetime;
/*
* Macros for streamlined engineID existence checks --
*
* e is char *engineID,
* e_l is u_int engineID_len.
*
*
* ISENGINEKNOWN(e, e_l)
* Returns:
* TRUE If engineID is recoreded in the EngineID List;
* FALSE Otherwise.
*
* ENSURE_ENGINE_RECORD(e, e_l)
* Adds the given engineID to the EngineID List if it does not exist
* already. engineID is added with a <enginetime, engineboots>
* tuple of <0,0>. ALWAYS succeeds -- except in case of a
* fatal internal error.
* Returns:
* SNMPERR_SUCCESS On success;
* SNMPERR_GENERR Otherwise.
*
* MAKENEW_ENGINE_RECORD(e, e_l)
* Returns:
* SNMPERR_SUCCESS If engineID already exists in the EngineID List;
* SNMPERR_GENERR Otherwise -and- invokes ENSURE_ENGINE_RECORD()
* to add an entry to the EngineID List.
*
* XXX Requres the following declaration in modules calling ISENGINEKNOWN():
* static u_int dummy_etime, dummy_eboot;
*/
#define ISENGINEKNOWN(e, e_l) \
( (get_enginetime(e, e_l, \
&dummy_eboot, &dummy_etime, TRUE) == SNMPERR_SUCCESS) \
? TRUE \
: FALSE )
#define ENSURE_ENGINE_RECORD(e, e_l) \
( (set_enginetime(e, e_l, 0, 0, FALSE) == SNMPERR_SUCCESS) \
? SNMPERR_SUCCESS \
: SNMPERR_GENERR )
#define MAKENEW_ENGINE_RECORD(e, e_l) \
( (ISENGINEKNOWN(e, e_l) == TRUE) \
? SNMPERR_SUCCESS \
: (ENSURE_ENGINE_RECORD(e, e_l), SNMPERR_GENERR) )
/*
* Prototypes.
*/
int get_enginetime(const u_char * engineID, u_int engineID_len,
u_int * engine_boot,
u_int * engine_time,
u_int authenticated);
int get_enginetime_ex(u_char * engineID,
u_int engineID_len,
u_int * engine_boot,
u_int * engine_time,
u_int * last_engine_time,
u_int authenticated);
int set_enginetime(const u_char * engineID, u_int engineID_len,
u_int engine_boot, u_int engine_time,
u_int authenticated);
Enginetime
search_enginetime_list(const u_char * engineID, u_int engineID_len);
int hash_engineID(const u_char * engineID, u_int engineID_len);
void dump_etimelist_entry(Enginetime e, int count);
void dump_etimelist(void);
void free_etimelist(void);
void free_enginetime(unsigned char *engineID, size_t engineID_len);
#ifdef __cplusplus
}
#endif
#endif /* _LCD_TIME_H */
|