Annotation of embedaddon/ntp/ntpsnmpd/ntpSnmpSubagentObject.h, revision 1.1
1.1 ! misho 1: /*****************************************************************************
! 2: *
! 3: * ntpSnmpSubAgentObject.h
! 4: *
! 5: * Definitions and macros for ntpSnmpSubAgentObject.c
! 6: *
! 7: ****************************************************************************/
! 8:
! 9:
! 10: #ifndef NTPSNMPSUBAGENTOBJECT_H
! 11: #define NTPSNMPSUBAGENTOBJECT_H
! 12:
! 13: /* Function Prototypes */
! 14: size_t ntpsnmpd_parse_string(const char *string, char *field, size_t
! 15: fieldsize, char *value, size_t valuesize);
! 16: size_t ntpsnmpd_cut_string(const char *string, char *dest, char delim,
! 17: int fieldnumber, size_t maxsize);
! 18: size_t read_ntp_value(const char *variable, char *value,
! 19: size_t valuesize);
! 20:
! 21: /* Initialization */
! 22: void init_ntpSnmpSubagentObject(void);
! 23:
! 24: /* MIB Section 1 Callback Functions*/
! 25: Netsnmp_Node_Handler get_ntpEntSoftwareName;
! 26: Netsnmp_Node_Handler get_ntpEntSoftwareVersion;
! 27: Netsnmp_Node_Handler get_ntpEntSoftwareVendor;
! 28: Netsnmp_Node_Handler get_ntpEntSystemType;
! 29: Netsnmp_Node_Handler get_ntpEntTimeResolution;
! 30: Netsnmp_Node_Handler get_ntpEntTimePrecision;
! 31: Netsnmp_Node_Handler get_ntpEntTimeDistance;
! 32:
! 33: /* MIB Section 2 Callback Functions (TODO) */
! 34: Netsnmp_Node_Handler get_ntpEntStatusCurrentMode;
! 35: Netsnmp_Node_Handler get_ntpEntStatusCurrentModeVal;
! 36: Netsnmp_Node_Handler get_ntpEntStatusStratum;
! 37: Netsnmp_Node_Handler get_ntpEntStatusActiveRefSourceId;
! 38: Netsnmp_Node_Handler get_ntpEntStatusActiveRefSourceName;
! 39: Netsnmp_Node_Handler get_ntpEntStatusActiveOffset;
! 40:
! 41: #define NTPV4_OID 1,3,6,1,2,1,197 /* mib-2 197 */
! 42:
! 43:
! 44: /*
! 45: * The following macros simplify the registration of the callback
! 46: * functions and register the name and OID of either read-only (RO) or
! 47: * read-write (RW) functions.
! 48: */
! 49:
! 50: #define SETUP_OID_RO(oidname, ...) \
! 51: static oid oidname##_oid [] = { __VA_ARGS__ }; \
! 52: { \
! 53: netsnmp_register_read_only_instance( \
! 54: netsnmp_create_handler_registration( \
! 55: "#oidname", \
! 56: get_##oidname, \
! 57: oidname##_oid, \
! 58: OID_LENGTH \
! 59: ( oidname##_oid ), \
! 60: HANDLER_CAN_RONLY)); \
! 61: }
! 62:
! 63: #define SETUP_OID_RW(oidname, ...) \
! 64: static oid oidname##_oid [] = { __VA_ARGS__ }; \
! 65: { \
! 66: netsnmp_register_instance( \
! 67: netsnmp_create_handler_registration( \
! 68: "#oidname", \
! 69: do_##oidname, \
! 70: oidname##_oid, \
! 71: OID_LENGTH \
! 72: ( oidname##_oid ), \
! 73: HANDLER_CAN_RWRITE)); \
! 74: }
! 75:
! 76: #define NTP_OID_RO(oidname, w, x, y, z) \
! 77: SETUP_OID_RO(oidname, NTPV4_OID, w, x, y, z)
! 78: #define NTP_OID_RW(oidname, w, x, y, z) \
! 79: SETUP_OID_RW(oidname, NTPV4_OID, w, x, y, z)
! 80:
! 81: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>