⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_time.h

📁 net_snmp应用程序示例
💻 H
字号:
/* * lcd_time.h */#ifndef _LCD_TIME_H#define _LCD_TIME_H#ifdef __cplusplusextern          "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(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(u_char * engineID, u_int engineID_len,                                   u_int engine_boot, u_int engine_time,                                   u_int authenticated);                                                              Enginetime        search_enginetime_list(u_char * engineID, u_int engineID_len);    int             hash_engineID(u_char * engineID, u_int engineID_len);    void            dump_etimelist_entry(Enginetime e, int count);    void            dump_etimelist(void);    void            free_enginetime(unsigned char *engineID, size_t engineID_len);#ifdef __cplusplus}#endif#endif                          /* _LCD_TIME_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -