globus_connect_gridftp_server 16.16~rc1
Loading...
Searching...
No Matches
/build/globus-connect-gridftp-server-16.16~rc1/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
10struct globus_i_gfs_acl_handle_s;
11
12typedef 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
18typedef 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
25void
26globus_gfs_acl_add_module(
27 globus_gfs_acl_module_t * module);
28
29int
30globus_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
38int
39globus_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
50void
51globus_i_gfs_acl_destroy(
52 struct globus_i_gfs_acl_handle_s * acl_handle);
53
54void
55globus_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
61typedef 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