Using RAD Struct Types in C
The zonemgr
module defines a property struct, which represents an individual zone configuration property. The structure has the following members, name
, type
, value
, listValue
, and complexValue
. Like enumerations, structures are defined in the binding header and follow similar naming conventions.
To free a structure, free functions module_structure_free
() are provided by the binding to ensure proper cleanup of any memory held in the nested data.
Example 2-10 C Language – zonemgr
Property Struct Definition and Its Free Function
typedef enum zonemgr_PropertyValueType { ZPVT_PROP_SIMPLE = 0, ZPVT_PROP_LIST = 1, ZPVT_PROP_COMPLEX = 2, } zonemgr_PropertyValueType_t; typedef struct zonemgr_Property { char * zp_name; char * zp_value; zonemgr_PropertyValueType_t zp_type; char * * zp_listvalue; int zp_listvalue_count; char * * zp_complexvalue; int zp_complexvalue_count; } zonemgr_Property_t; void zonemgr_Property_free(zonemgr_Property_t *);