/* * This file was created to separate data storage from MIB implementation. * * Portions of this file are copyrighted by: * Copyright (c) 2016 VMware, Inc. All rights reserved. * Use is subject to license terms specified in the COPYING file * distributed with the Net-SNMP package. */ #ifndef _MIBGROUP_SNMPNOTIFYTABLE_DATA_H #define _MIBGROUP_SNMPNOTIFYTABLE_DATA_H /* * we may use header_complex from the header_complex module */ config_require(header_complex) config_require(target/target) config_require(snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_data_storage) #define NOTIFY_NAME_MAX 32 #define NOTIFY_TAG_MAX 255 /* * our storage structure(s) */ struct snmpNotifyTable_data { char *snmpNotifyName; size_t snmpNotifyNameLen; char *snmpNotifyTag; size_t snmpNotifyTagLen; long snmpNotifyType; long snmpNotifyStorageType; long snmpNotifyRowStatus; }; /* * enum definitions from the covered mib sections */ #define SNMPNOTIFYTYPE_TRAP 1 #define SNMPNOTIFYTYPE_INFORM 2 /* * function prototypes */ void init_snmpNotifyTable_data(void); void shutdown_snmpNotifyTable_data(void); int snmpNotifyTable_add(struct snmpNotifyTable_data *thedata); int snmpNotifyTable_remove(struct snmpNotifyTable_data *thedata); struct snmpNotifyTable_data * snmpNotifyTable_extract(struct snmpNotifyTable_data *thedata); void snmpNotifyTable_dispose(struct snmpNotifyTable_data *thedata); void snmpNotifyTable_unregister_notification(const char *, u_char); struct snmpNotifyTable_data *get_notifyTable2(const char *name, size_t len); struct snmpNotifyTable_data *find_row_notifyTable(struct variable *vp, oid * name, size_t * length, int exact, size_t * var_len, WriteMethod ** write_method); #endif /* _MIBGROUP_SNMPNOTIFYTABLE_DATA_H */