| #ifndef EXPOBJECT_H |
| #define EXPOBJECT_H |
| |
| #include "disman/expr/expExpression.h" |
| |
| /* |
| * Flags relating to the expression object table |
| */ |
| #define EXP_OBJ_FLAG_OWILD 0x01 /* for expObjectIDWildcard */ |
| #define EXP_OBJ_FLAG_DDISC 0x02 /* non-trivial expObjDiscontinuityID */ |
| #define EXP_OBJ_FLAG_DWILD 0x04 /* for expObjDiscontinuityIDWildcard */ |
| #define EXP_OBJ_FLAG_CWILD 0x08 /* for expObjConditionalWildcard */ |
| #define EXP_OBJ_FLAG_PREFIX 0x10 /* expExpressionPrefix object */ |
| #define EXP_OBJ_FLAG_ACTIVE 0x20 /* for expObjectEntryStatus */ |
| #define EXP_OBJ_FLAG_FIXED 0x40 /* for snmpd.conf persistence */ |
| #define EXP_OBJ_FLAG_VALID 0x80 /* for row creation/undo */ |
| |
| /* |
| * Standard lengths for various Expression-MIB OCTET STRING objects: |
| * short tags ( 32 characters) |
| * SnmpAdminString-style values (255 characters) |
| * "long" DisplayString values (1024 characters) |
| */ |
| #define EXP_STR1_LEN 32 |
| #define EXP_STR2_LEN 255 |
| #define EXP_STR3_LEN 1024 |
| |
| /* |
| * Data structure for an expObject row. |
| */ |
| struct expObject { |
| /* |
| * Index values |
| */ |
| char expOwner[ EXP_STR1_LEN+1 ]; |
| char expName[ EXP_STR1_LEN+1 ]; |
| u_long expObjectIndex; |
| |
| /* |
| * Column values |
| */ |
| oid expObjectID[ MAX_OID_LEN ]; |
| oid expObjDeltaD[ MAX_OID_LEN ]; |
| oid expObjCond[ MAX_OID_LEN ]; |
| size_t expObjectID_len; |
| size_t expObjDeltaD_len; |
| size_t expObjCond_len; |
| long expObjectSampleType; |
| long expObjDiscontinuityType; |
| |
| netsnmp_variable_list *vars, *old_vars; |
| netsnmp_variable_list *dvars, *old_dvars; |
| netsnmp_variable_list *cvars, *old_cvars; |
| |
| long flags; |
| }; |
| |
| /* |
| * Container structure for the expObjectTable, |
| * and initialisation routine to create this. |
| */ |
| extern netsnmp_tdata *expObject_table_data; |
| void init_expObject_table_data(void); |
| |
| /* |
| * function declarations |
| */ |
| void init_expObject(void); |
| struct expObject * expObject_createEntry( const char *, const char *, long, int ); |
| netsnmp_tdata_row * expObject_createRow( const char *, const char *, long, int ); |
| void expObject_removeEntry( netsnmp_tdata_row * ); |
| |
| netsnmp_tdata_row * expObject_getFirst( const char *, const char * ); |
| netsnmp_tdata_row * expObject_getNext( netsnmp_tdata_row * ); |
| void expObject_getData( struct expExpression *, |
| struct expObject * ); |
| #endif /* EXPOBJECT_H */ |