globus_connect_gridftp_server  16.8
/build/globus-connect-gridftp-server-16.8/globus_i_gfs_acl.h
1 /*
2  * Copyright The University of Chicago
3  *
4  * All Rights Reserved.
5  */
6 
7 #ifndef GLOBUS_I_GFS_ACL_H
8 #define GLOBUS_I_GFS_ACL_H
9 
10 struct globus_i_gfs_acl_handle_s;
11 
12 typedef enum globus_l_gfs_acl_type_e
13 {
14  GLOBUS_L_GFS_ACL_TYPE_INIT,
15  GLOBUS_L_GFS_ACL_TYPE_AUTHORIZE
16 } globus_i_gfs_acl_type_t;
17 
18 typedef void
19 (*globus_gfs_acl_cb_t)(
20  globus_gfs_acl_object_desc_t * object,
21  globus_gfs_acl_action_t action,
22  void * user_arg,
23  globus_result_t result);
24 
25 void
26 globus_gfs_acl_add_module(
27  globus_gfs_acl_module_t * module);
28 
29 int
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,
36  void * user_arg);
37 
38 int
39 globus_i_gfs_acl_init(
40  struct globus_i_gfs_acl_handle_s * acl_handle,
41  const gss_ctx_id_t context,
42  const char * subject,
43  const char * username,
44  const char * password,
45  const char * ipaddr,
46  globus_result_t * out_res,
47  globus_gfs_acl_cb_t cb,
48  void * user_arg);
49 
50 void
51 globus_i_gfs_acl_destroy(
52  struct globus_i_gfs_acl_handle_s * acl_handle);
53 
54 void
55 globus_gfs_acl_audit(
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,
59  const char * msg);
60 
61 typedef struct globus_i_gfs_acl_handle_s
62 {
63  char * password;
64  char * ipaddr;
65  globus_i_gfs_acl_type_t type;
66  char * subject;
67  char * username;
68  char * hostname;
69  globus_gfs_acl_cb_t cb;
70  void * user_arg;
71  globus_list_t * module_list;
72  globus_list_t * current_list;
73  globus_result_t cached_res;
74  gss_ctx_id_t context;
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;
79 
80 
81 
82 #endif