68 char *(*sa_legacy_format)(sa_group_t, int);
69 int (*sa_set_proto_prop)(sa_property_t); /* set a property */
70 sa_protocol_properties_t (*sa_get_proto_set)(); /* get properties */
71 char *(*sa_get_proto_status)();
72 char *(*sa_space_alias)(char *);
73 int (*sa_update_legacy)(sa_share_t);
74 int (*sa_delete_legacy)(sa_share_t);
75 int (*sa_change_notify)(sa_share_t);
76 int (*sa_enable_resource)(sa_resource_t);
77 int (*sa_disable_resource)(sa_resource_t);
78 uint64_t (*sa_features)(void);
79 int (*sa_get_transient_shares)(sa_handle_t); /* add transients */
80 int (*sa_notify_resource)(sa_resource_t);
81 int (*sa_rename_resource)(sa_handle_t, sa_resource_t, char *);
82 int (*sa_run_command)(int, int, char **); /* proto specific */
83 int (*sa_command_help)();
84 int (*sa_delete_proto_section)(char *);
85 };
86
87 struct sa_proto_handle {
88 int sa_num_proto;
89 char **sa_proto;
90 struct sa_plugin_ops **sa_ops;
91 };
92
93 typedef struct propertylist {
94 struct propertylist *pl_next;
95 int pl_type;
96 union propval {
97 sa_optionset_t pl_optionset;
98 sa_security_t pl_security;
99 void *pl_void;
100 } pl_value;
101 } property_list_t;
102
103 /* internal version of sa_handle_t */
104 typedef struct sa_handle_impl {
105 uint64_t flags;
106 scfutilhandle_t *scfhandle;
107 libzfs_handle_t *zfs_libhandle;
|
68 char *(*sa_legacy_format)(sa_group_t, int);
69 int (*sa_set_proto_prop)(sa_property_t); /* set a property */
70 sa_protocol_properties_t (*sa_get_proto_set)(); /* get properties */
71 char *(*sa_get_proto_status)();
72 char *(*sa_space_alias)(char *);
73 int (*sa_update_legacy)(sa_share_t);
74 int (*sa_delete_legacy)(sa_share_t);
75 int (*sa_change_notify)(sa_share_t);
76 int (*sa_enable_resource)(sa_resource_t);
77 int (*sa_disable_resource)(sa_resource_t);
78 uint64_t (*sa_features)(void);
79 int (*sa_get_transient_shares)(sa_handle_t); /* add transients */
80 int (*sa_notify_resource)(sa_resource_t);
81 int (*sa_rename_resource)(sa_handle_t, sa_resource_t, char *);
82 int (*sa_run_command)(int, int, char **); /* proto specific */
83 int (*sa_command_help)();
84 int (*sa_delete_proto_section)(char *);
85 };
86
87 struct sa_proto_handle {
88 int sa_ref_count;
89 int sa_num_proto;
90 char **sa_proto;
91 struct sa_plugin_ops **sa_ops;
92 };
93
94 typedef struct propertylist {
95 struct propertylist *pl_next;
96 int pl_type;
97 union propval {
98 sa_optionset_t pl_optionset;
99 sa_security_t pl_security;
100 void *pl_void;
101 } pl_value;
102 } property_list_t;
103
104 /* internal version of sa_handle_t */
105 typedef struct sa_handle_impl {
106 uint64_t flags;
107 scfutilhandle_t *scfhandle;
108 libzfs_handle_t *zfs_libhandle;
|