Obtaining a Remote Object Reference From a Name in C
The list function returns a name, in the form of a adr_name_t
reference. Once you retrieve a name, you can obtain a remote object reference as shown in the following example.
Example 2-5 C Language – Obtaining a Remote Object Reference From a Name
#include <rad/radclient.h> #include <rad/radclient_basetypes.h> #include<rad/client/1/zonemgr.h> rc_err_t status; adr_name_t **name_list; rc_instance_t *zone_inst; int name_count; rc_conn_t *conn = rc_connect_unix(NULL, NULL); if (conn != NULL) { status = zonemgr_Zone__rad_list(conn, B_TRUE, NS_GLOB, &name_list, &name_count, 0); if (status == RCE_OK) { status = rc_lookup(conn, name_list[0], NULL, B_TRUE, &zone_inst); if (status == RCE_OK) { char *name; status = zonemgr_Zone_get_name(zone_inst, &name); if (status == RCE_OK) printf("Zone name: %s\n", name); free(name); } name_array_free(name_list, name_count); } }