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 (*globus_gfs_acl_cb_t)(
20 globus_gfs_acl_object_desc_t * object,
21 globus_gfs_acl_action_t action,
23 globus_result_t result);
26 globus_gfs_acl_add_module(
27 globus_gfs_acl_module_t * module);
30 globus_gfs_acl_authorize(
31 struct globus_i_gfs_acl_handle_s * acl_handle,
32 globus_gfs_acl_action_t action,
33 globus_gfs_acl_object_desc_t *
object,
34 globus_result_t * out_res,
35 globus_gfs_acl_cb_t cb,
39 globus_i_gfs_acl_init(
40 struct globus_i_gfs_acl_handle_s * acl_handle,
41 const gss_ctx_id_t context,
43 const char * username,
44 const char * password,
46 globus_result_t * out_res,
47 globus_gfs_acl_cb_t cb,
51 globus_i_gfs_acl_destroy(
52 struct globus_i_gfs_acl_handle_s * acl_handle);
56 struct globus_i_gfs_acl_handle_s * acl_handle,
57 globus_gfs_acl_action_t action,
58 globus_gfs_acl_object_desc_t *
object,
61 typedef struct globus_i_gfs_acl_handle_s
65 globus_i_gfs_acl_type_t type;
69 globus_gfs_acl_cb_t cb;
71 globus_list_t * module_list;
72 globus_list_t * current_list;
73 globus_result_t cached_res;
75 globus_gfs_acl_action_t auth_action;
76 globus_gfs_acl_object_desc_t auth_object;
77 globus_gfs_acl_info_t acl_info;
78 } globus_i_gfs_acl_handle_t;