7#ifndef GLOBUS_I_GFS_ACL_H
8#define GLOBUS_I_GFS_ACL_H
10struct globus_i_gfs_acl_handle_s;
12typedef 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;
19enum globus_i_gfs_acl_action_internal_e
22 GFS_ACL_ACTION_INIT = 100,
26 GFS_ACL_ACTION_AUTHZ_ASSERT,
29 GFS_ACL_ACTION_COMMIT,
37typedef 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);
68typedef globus_result_t
69(*globus_gfs_acl_info_cb_t)(
75globus_i_gfs_acl_add_module(
76 globus_gfs_acl_module_t * module);
79globus_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,
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,
97globus_i_gfs_acl_destroy(
98 struct globus_i_gfs_acl_handle_s * acl_handle);
100typedef 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;