|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Note: this file was created to separate storage from MIB implementation
|
|
Packit |
fcad23 |
*
|
|
Packit |
fcad23 |
* Portions of this file are copyrighted by:
|
|
Packit |
fcad23 |
* Copyright (c) 2016 VMware, Inc. All rights reserved.
|
|
Packit |
fcad23 |
* Use is subject to license terms specified in the COPYING file
|
|
Packit |
fcad23 |
* distributed with the Net-SNMP package.
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
#ifndef SNMPNOTIFYFILTERTABLE_DATA_STORAGE_H
|
|
Packit |
fcad23 |
#define SNMPNOTIFYFILTERTABLE_DATA_STORAGE_H
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifdef __cplusplus
|
|
Packit |
fcad23 |
extern "C" {
|
|
Packit |
fcad23 |
#endif
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#include <net-snmp/library/asn1.h>
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifndef SNMPNOTIFYFILTERTYPE_ENUMS
|
|
Packit |
fcad23 |
#define SNMPNOTIFYFILTERTYPE_ENUMS
|
|
Packit |
fcad23 |
#define SNMPNOTIFYFILTERTYPE_INCLUDED 1
|
|
Packit |
fcad23 |
#define SNMPNOTIFYFILTERTYPE_EXCLUDED 2
|
|
Packit |
fcad23 |
#endif /* SNMPNOTIFYFILTERTYPE_ENUMS */
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* BE VERY CAREFUL TO TAKE INTO ACCOUNT THE MAXIMUM
|
|
Packit |
fcad23 |
* POSSIBLE LENGHT FOR EVERY VARIABLE LENGTH INDEX!
|
|
Packit |
fcad23 |
* Guessing 128 - col/entry(2) - oid len(9)
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
#define MAX_snmpNotifyFilterTable_IDX_LEN 117
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
typedef struct snmpNotifyFilterTable_data_storage_s {
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/** this must be first for container compare to work */
|
|
Packit |
fcad23 |
netsnmp_index oid_idx;
|
|
Packit |
fcad23 |
oid oid_tmp[MAX_snmpNotifyFilterTable_IDX_LEN];
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* snmpNotifyFilterProfileName(1)
|
|
Packit |
fcad23 |
* SnmpAdminString/ASN_OCTET_STR/u_char(u_char)//L/A/W/e/R/d/H
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
u_char snmpNotifyFilterProfileName[32];
|
|
Packit |
fcad23 |
size_t snmpNotifyFilterProfileName_len;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* snmpNotifyFilterSubtree(1)
|
|
Packit |
fcad23 |
* OBJECTID/ASN_OBJECT_ID/oid(oid)//L/a/w/e/r/d/h
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
/** 128 - 1(other indexes) - oid length(11) = 115 */
|
|
Packit |
fcad23 |
oid snmpNotifyFilterSubtree[115];
|
|
Packit |
fcad23 |
size_t snmpNotifyFilterSubtree_len;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/** END OF INDEXES */
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* snmpNotifyFilterMask(2)
|
|
Packit |
fcad23 |
* OCTETSTR/ASN_OCTET_STR/char(u_char)//L/A/W/e/R/D/h
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
u_char snmpNotifyFilterMask[16];
|
|
Packit |
fcad23 |
size_t snmpNotifyFilterMask_len;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* snmpNotifyFilterType(3)
|
|
Packit |
fcad23 |
* INTEGER/ASN_INTEGER/long(u_long)//l/A/W/E/r/D/h
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
u_long snmpNotifyFilterType;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
} snmpNotifyFilter_data_storage;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
*********************************************************************
|
|
Packit |
fcad23 |
* function declarations
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
void init_snmpNotifyFilterTable_data_storage(void);
|
|
Packit |
fcad23 |
void shutdown_snmpNotifyFilterTable_data_storage(void);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
snmpNotifyFilter_data_storage*
|
|
Packit |
fcad23 |
snmpNotifyFilter_storage_create(const u_char *snmpNotifyFilterProfileName,
|
|
Packit |
fcad23 |
size_t snmpNotifyFilterProfileName_len,
|
|
Packit |
fcad23 |
const oid *snmpNotifyFilterSubtree,
|
|
Packit |
fcad23 |
size_t snmpNotifyFilterSubtree_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void
|
|
Packit |
fcad23 |
snmpNotifyFilter_storage_dispose(snmpNotifyFilter_data_storage *data);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int
|
|
Packit |
fcad23 |
snmpNotifyFilter_storage_insert(snmpNotifyFilter_data_storage *data);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
snmpNotifyFilter_data_storage *
|
|
Packit |
fcad23 |
snmpNotifyFilter_storage_add(const u_char *profile, size_t profile_len,
|
|
Packit |
fcad23 |
const oid *filterSubtree,
|
|
Packit |
fcad23 |
size_t filterSubtree_len, u_char *filterMask,
|
|
Packit |
fcad23 |
size_t filterMask_len, u_long filterType);
|
|
Packit |
fcad23 |
int
|
|
Packit |
fcad23 |
snmpNotifyFilter_storage_remove(snmpNotifyFilter_data_storage *data);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
struct vacm_viewEntry *
|
|
Packit |
fcad23 |
snmpNotifyFilter_vacm_view_subtree(const char *profile);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifdef __cplusplus
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
#endif
|
|
Packit |
fcad23 |
#endif /* SNMPNOTIFYFILTERTABLE_DATA_STORAGE_H */
|
|
Packit |
fcad23 |
/** @} */
|
|
Packit |
fcad23 |
|