10 #include <sys/types.h>
13 typedef struct _gsi_socket GSI_SOCKET;
18 #define GSI_SOCKET_SUCCESS 0
19 #define GSI_SOCKET_ERROR -1
20 #define GSI_SOCKET_TRUNCATED -2
21 #define GSI_SOCKET_UNAUTHORIZED -3
22 #define GSI_SOCKET_UNTRUSTED -4
31 GSI_SOCKET *GSI_SOCKET_new(
int sock);
39 void GSI_SOCKET_destroy(GSI_SOCKET *gsi_socket);
56 int GSI_SOCKET_get_error_string(GSI_SOCKET *gsi_socket,
65 void GSI_SOCKET_clear_error(GSI_SOCKET *gsi_socket);
78 int GSI_SOCKET_authentication_init(GSI_SOCKET *gsi_socket,
79 gss_name_t accepted_peer_names[]);
91 int GSI_SOCKET_use_creds(GSI_SOCKET *gsi_socket,
101 int GSI_SOCKET_check_creds(GSI_SOCKET *gsi_socket);
110 int GSI_SOCKET_authentication_accept(GSI_SOCKET *gsi_socket);
127 int GSI_SOCKET_get_peer_name(GSI_SOCKET *gsi_socket,
138 char *GSI_SOCKET_get_peer_hostname(GSI_SOCKET *gsi_socket);
148 int GSI_SOCKET_get_peer_fqans(GSI_SOCKET *gsi_socket,
char ***fqans);
158 int GSI_SOCKET_write_buffer(GSI_SOCKET *gsi_socket,
174 int GSI_SOCKET_read_token(GSI_SOCKET *gsi_socket,
175 unsigned char **buffer,
183 void GSI_SOCKET_free_token(
unsigned char *buffer);
204 int GSI_SOCKET_delegation_init_ext(GSI_SOCKET *gsi_socket,
205 const char *source_credentials,
207 const char *passphrase);
211 #define GSI_SOCKET_DELEGATION_FLAGS_DEFAULT 0x0000
216 #define GSI_SOCKET_DELEGATION_LIFETIME_MAXIMUM 0x0000
221 #define GSI_SOCKET_DELEGATION_RESTRICTIONS_DEFAULT NULL
232 int GSI_SOCKET_delegation_accept(GSI_SOCKET *gsi_socket,
233 unsigned char **delegated_credentials,
234 int *delegated_credentials_len,
250 int GSI_SOCKET_delegation_accept_ext(GSI_SOCKET *gsi_socket,
251 char *delegated_credentials,
252 int delegated_credentials_len,
266 GSI_SOCKET_delegation_set_certreq(GSI_SOCKET *gsi_socket,
280 GSI_SOCKET_credentials_accept_ext(GSI_SOCKET *
self,
282 int credentials_len);
285 GSI_SOCKET_get_creds(GSI_SOCKET *
self,
286 const char *source_credentials);
289 GSI_SOCKET_credentials_init_ext(GSI_SOCKET *
self,
290 const char *source_credentials);
300 int GSI_SOCKET_allow_anonymous(GSI_SOCKET *
self,
const int value);
308 int GSI_SOCKET_peer_used_limited_proxy(GSI_SOCKET *
self);
318 int GSI_SOCKET_set_peer_limited_proxy(GSI_SOCKET *
self,
int flag);
327 int GSI_SOCKET_set_max_token_len(GSI_SOCKET *
self,
int bytes);
337 int GSI_SOCKET_context_established(GSI_SOCKET *
self);
345 int GSI_SOCKET_get_errno(GSI_SOCKET *
self);