// Values for the state of a resource - returned by the
VCSAgResOffline, // Resource is offline.
VCSAgResOnline, // Resource is online.
VCSAgResUnknown // Resource is neither online nor
// Values for the reason why the clean entry point
VCSAgCleanOfflineHung, // offline entry point did
VCSAgCleanOfflineIneffective, // offline entry point
VCSAgCleanOnlineHung, // online entry point did
VCSAgCleanOnlineIneffective, // online entry point
VCSAgCleanUnexpectedOffline, // the resource became
VCSAgCleanMonitorHung // monitor entry point did
Note On Windows, VCSAgCleanOfflineHung, VCSAgCleanOnlineHung, and VCSAgCleanMonitorHung do not apply. Entry point timeouts are not configurable parameters on Windows.
// Structure used to register the entry points.
void (*open)(const char *res_name, void **attr_val);
void (*close)(const char *res_name, void **attr_val);
VCSAgResState (*monitor)(const char *res_name,
void **attr_val, int, *conf_level);
unsigned int (*online)(const char *res_name,
unsigned int (*offline)(const char *res_name,
unsigned int (*action) (const char *res_name, const char
*action_token, void **attr_val, char
**action_args, char *action_output);
unsigned int (*info) (const char *res_name, VCSAgResInfoOp
resinfo_op, void **attr_val, char **info_output,
char ***opt_update_args, char ***opt_add_args);
void (*attr_changed)(const char *res_name,
const char *changed_res_name, const char
*changed_attr_name, void **new_val);
unsigned int (*clean)(const char *res_name,
VCSAgWhyClean reason, void **attr_val);
The structure VCSAgV40EntryPointStruct
consists of function pointers, one for each entry point except VCSAgStartup
. The VCSAgStartup
entry point is called by name, and therefore must be implemented using C++ and named VCSAgStartup
.