Heartbeat client query program 1 /* taken from api_test.c in the heartbeat package, with thanx */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 int 18 main(int argc, char ** argv) 19 { 20 unsigned fmask; 21 ll_cluster_t* hb; 22 (void)_heartbeat_h_Id; 23 (void)_ha_msg_h_Id; 24 hb = ll_cluster_new("heartbeat"); 25 if (hb->llc_ops->signon(hb, NULL)!= HA_OK) { 26 fprintf(stderr, "Cannot sign on with heartbeat\n"); 27 fprintf(stderr, "REASON: %s\n", hb->llc_ops->errmsg(hb)); 28 exit(1); 29 } 30 /* here is where we ask for status */ 31 fprintf(stdout, "%s\n" ,hb->llc_ops->node_status(hb, "slave5")); 32 33 if (hb->llc_ops->signoff(hb) != HA_OK) { 34 fprintf(stderr, "Cannot sign off from heartbeat.\n"); 35 fprintf(stderr, "REASON: %s\n", hb->llc_ops->errmsg(hb)); 36 exit(10); 37 } 38 if (hb->llc_ops->delete(hb) != HA_OK) { 39 fprintf(stderr, "REASON: %s\n", hb->llc_ops->errmsg(hb)); 40 fprintf(stderr, "Cannot delete API object.\n"); 41 fprintf(stderr, "REASON: %s\n", hb->llc_ops->errmsg(hb)); 42 exit(11); 43 } 44 return 0; 45 }