| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- /*
- * 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);
- NETSNMP_IMPORT
- 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 */
|