diff options
Diffstat (limited to 'agent/mibgroup/disman/schedule/schedCore.h')
-rw-r--r-- | agent/mibgroup/disman/schedule/schedCore.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/agent/mibgroup/disman/schedule/schedCore.h b/agent/mibgroup/disman/schedule/schedCore.h new file mode 100644 index 0000000..35866d7 --- /dev/null +++ b/agent/mibgroup/disman/schedule/schedCore.h @@ -0,0 +1,85 @@ +#ifndef SCHEDCORE_H +#define SCHEDCORE_H + +config_require(utilities/iquery) + + /* + * Values for schedType field + */ +#define SCHED_TYPE_PERIODIC 1 +#define SCHED_TYPE_CALENDAR 2 +#define SCHED_TYPE_ONESHOT 3 + + /* + * Schedule flags + */ +#define SCHEDULE_FLAG_ENABLED 0x01 /* for schedAdminStatus */ +#define SCHEDULE_FLAG_ACTIVE 0x02 /* for schedRowStatus */ +#define SCHEDULE_FLAG_VALID 0x04 /* for row creation/undo */ + + /* + * All Schedule-MIB OCTET STRING objects are either short (32-char) + * tags, or SnmpAdminString values (i.e. 255 characters) + */ +#define SCHED_STR1_LEN 32 +#define SCHED_STR2_LEN 255 + + /* + * Data structure for a schedTable row entry + */ +struct schedTable_entry { + /* + * Index values + */ + char schedOwner[SCHED_STR1_LEN+1]; + char schedName[ SCHED_STR1_LEN+1]; + + /* + * Column values - schedule actions + */ + char schedDescr[SCHED_STR2_LEN+1]; + u_long schedInterval; + char schedWeekDay; + char schedMonth[2]; + char schedDay[4+4]; + char schedHour[3]; + char schedMinute[8]; + char schedContextName[SCHED_STR1_LEN+1]; + oid schedVariable[ MAX_OID_LEN ]; + size_t schedVariable_len; + long schedValue; + + /* + * Column values - schedule control + */ + long schedType; + u_long schedFailures; + long schedLastFailure; + time_t schedLastFailed; + long schedStorageType; + u_long schedTriggers; + + /* + * Supporting values + */ + time_t schedLastRun; + time_t schedNextRun; + unsigned int schedCallbackID; + netsnmp_session *session; + long flags; +}; + +/* + * function declarations + */ +extern netsnmp_tdata *schedule_table; +void init_schedule_container(void); +void init_schedCore(void); + +netsnmp_tdata_row * + schedTable_createEntry(const char *schedOwner, const char *schedName); +void schedTable_removeEntry(netsnmp_tdata_row *row); +void sched_nextTime( struct schedTable_entry *entry ); +void sched_nextRowTime( netsnmp_tdata_row *row ); + +#endif /* SCHEDCORE_H */ |