Header file:
#include <Csec_api.h>
On the client side:
int Csec_client_initContext(Csec_context_t *ctx, int service_type, Csec_protocol *protocols);
int Csec_client_establishContext(Csec_context_t *ctx, int socket);
int Csec_client_setSecurityOpts(Csec_context_t *ctx, int opt);
int Csec_client_setAuthorizationId(Csec_context_t *ctx, const char *mech, const char *name);
int Csec_client_setVOMS_data(Csec_context_t *ctx, const char *voname, char **fqan, int nbfqan);
On the server side:
int Csec_server_initContext(Csec_context_t *ctx, int service_type, Csec_protocol *protocols);
int Csec_server_reinitContext (Csec_context_t *ctx, int service_type, Csec_protocol *protocols);
int Csec_server_establishContext (Csec_context_t *ctx, int socket);
int Csec_server_getClientId(Csec_context_t *ctx, char **mech, char **name);
int Csec_server_getAuthorizationId(Csec_context_t *ctx, char **mech, char **name);
int Csec_server_getDelegatedCredentials(Csec_context_t *ctx, char **mech, void ** buf, size_t *size);
int Csec_server_setSecurityOpts(Csec_context_t *ctx, int opt);
char *Csec_server_get_client_ca(Csec_context_t *ctx);
char *Csec_server_get_client_vo(Csec_context_t *ctx);
char **Csec_server_get_client_fqans(Csec_context_t *ctx, int *nbfqan);
Common functions:
int Csec_clearContext(Csec_context_t *ctx);
int Csec_getErrorMessage();
int Csec_getErrorMessageSummary(size_t maxlen);
int Csec_mapToLocalUser(const char *mech, const char *name, char *username, size_t username_size, uid_t *uid, gid_t *gid);
Csec_context_t * Csec_get_default_context();