Writing Monitors for the Event Monitoring Service (December 1999)
162 Chapter5
Writing a Target Application
Processing a Restart Notiļ¬cation Object
Sample Code
/*****************************************************************************/
/* Name: format_restart_object */
/* */
/* Description: Extracts, formats and prints various fields of a restart */
/* object. Assumes object passed in is restart object. */
/* */
/* Parameters: obj restart object */
/* */
/* Return: None. */
/*****************************************************************************/
void format_restart_object (rm_object_addr restart_obj)
{
rm_object_addr res_entry;
rm_option_type restart_type;
rm_error_type error_code;
char *monitor_name;
char *monitor_path;
char *resource_name;
ubit32 num_resources;
char errbuf[200];
/*************************************************************************/
/* Extract and print fields from restart object */
/*************************************************************************/
if (rm_get(restart_obj, RmMonitorRestartType,&restart_type, &error_code)==-1)
{
rm_strerror(error_code, errbuf, sizeof(errbuf));
fprintf(stderr, "Could not get monitor restart type: %s", errbuf);
printf("Monitor Restart Type:???\n");
}
else if (restart_type == RM_REBOOT) {
printf("Monitor Restart Type:RM_REBOOT\n");
}
else if (restart_type == RM_RESTART) {
printf("Monitor Restart Type:RM_RESTART\n");
}
else {
printf("Monitor Restart Type:???\n");
}