7 #ifndef GLOBUS_I_GFS_ACL_H
8 #define GLOBUS_I_GFS_ACL_H
10 struct globus_i_gfs_acl_handle_s;
12 typedef enum globus_l_gfs_acl_type_e
14 GLOBUS_L_GFS_ACL_TYPE_INIT,
15 GLOBUS_L_GFS_ACL_TYPE_AUTHORIZE
16 } globus_i_gfs_acl_type_t;
19 enum globus_i_gfs_acl_action_internal_e
22 GFS_ACL_ACTION_INIT = 100,
26 GFS_ACL_ACTION_AUTHZ_ASSERT,
29 GFS_ACL_ACTION_COMMIT,
37 typedef struct globus_i_gfs_acl_object_desc_s
58 globus_gfs_op_info_t op_info;
59 } globus_i_gfs_acl_object_desc_t;
62 (*globus_gfs_acl_cb_t)(
63 globus_i_gfs_acl_object_desc_t * object,
66 globus_result_t result);
68 typedef globus_result_t
69 (*globus_gfs_acl_info_cb_t)(
75 globus_i_gfs_acl_add_module(
76 globus_gfs_acl_module_t * module);
79 globus_i_gfs_acl_authorize(
80 struct globus_i_gfs_acl_handle_s * acl_handle,
82 globus_i_gfs_acl_object_desc_t *
object,
83 globus_result_t * out_res,
84 globus_gfs_acl_cb_t cb,
88 globus_i_gfs_acl_init(
89 struct globus_i_gfs_acl_handle_s * acl_handle,
90 globus_result_t * out_res,
91 globus_gfs_acl_cb_t cb,
93 globus_gfs_acl_info_cb_t info_cb,
97 globus_i_gfs_acl_destroy(
98 struct globus_i_gfs_acl_handle_s * acl_handle);
100 typedef struct globus_i_gfs_acl_handle_s
104 globus_i_gfs_acl_type_t type;
108 globus_gfs_acl_cb_t cb;
110 globus_gfs_acl_info_cb_t info_cb;
112 globus_list_t * module_list;
113 globus_list_t * current_list;
114 globus_result_t cached_res;
115 gss_ctx_id_t context;
117 globus_i_gfs_acl_object_desc_t auth_object;
118 } globus_i_gfs_acl_handle_t;