Accessing a Remote Property in RAD in C
This example shows how to access a remote property.
Example 2-12 C Language – Accessing a RAD Remote Property
#include <rad/radclient.h> #include <rad/radclient_basetypes.h> #include <rad/client/1/zonemgr.h> int main(int argc, char **argv) { rc_err_t status; rc_instance_t *zone_inst; char *name; zonemgr_Property_t **result; zonemgr_Result_t *error; int result_count; rc_conn_t *conn = rc_connect_unix(NULL, NULL); if (conn != NULL) { status = zonemgr_Zone__rad_lookup(conn, B_TRUE, &zone_inst, 1, "name", "test-0"); if (status == RCE_OK) { zonemgr_Resource_t global = { .zr_type = "global"}; status = zonemgr_Zone_getResourceProperties(zone_inst, &global, NULL, 0, &result, &result_count, &error); if (status == RCE_OK) { for (int i = 0; i < result_count; i++){ if (result[i]->zp_value != NULL && result[i]->zp_value[0] != '\0') { printf("%s=%s\n", result[i]->zp_name, result[i]->zp_value); } } zonemgr_Property_array_free(result, result_count); } rc_instance_rele(zone_inst); } } }
In this example, you have accessed the list of global resource properties of the Zone
and printed the name and value of every property that has a value.