globus_xio_gsi.h(3)
π globus_xio_gsi.h π
bestie. sit down. grab a snack π. this is the Library Functions Manual page for globus_xio_gsi.h, aka the XIO GSI Driver, and we are going to get so cozy with it. no cap.
β¨ NAME β¨
globus_xio_gsi.h β XIO GSI Driver. that's the whole vibe. π¦
π SYNOPSIS π
#include 'gssapi.h'
#include 'globus_common.h'
okay so here's everything that lives in this header, organized like my playlist folders π
π Macros π
#define globus_xio_gsi_attr_cntl globus_xio_attr_cntl
π¦ Typedefs π¦
these are the two callback shapes, literally just function pointer types, and yes we're keeping them character for character:
typedef void(* globus_xio_gsi_delegation_init_callback_t)
(globus_result_t result, void *user_arg)
typedef void(* globus_xio_gsi_delegation_accept_callback_t)
(globus_result_t result, gss_cred_id_t delegated_cred, OM_uint32
time_rec, void *user_arg)
π Enumerations π
six whole enums, each one iconic in its own way:
enum globus_xio_gsi_error_t:
GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL
GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI
GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME
GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME
GLOBUS_XIO_GSI_AUTHORIZATION_FAILED
GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
enum globus_xio_gsi_cmd_t β this one is long, it's giving main character energy, every single command in here:
GLOBUS_XIO_GSI_SET_CREDENTIAL
GLOBUS_XIO_GSI_GET_CREDENTIAL
GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS
GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS
GLOBUS_XIO_GSI_SET_PROXY_MODE
GLOBUS_XIO_GSI_GET_PROXY_MODE
GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE
GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE
GLOBUS_XIO_GSI_SET_DELEGATION_MODE
GLOBUS_XIO_GSI_GET_DELEGATION_MODE
GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE
GLOBUS_XIO_GSI_SET_ANON
GLOBUS_XIO_GSI_SET_WRAP_MODE
GLOBUS_XIO_GSI_GET_WRAP_MODE
GLOBUS_XIO_GSI_SET_BUFFER_SIZE
GLOBUS_XIO_GSI_GET_BUFFER_SIZE
GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL
GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL
GLOBUS_XIO_GSI_GET_TARGET_NAME
GLOBUS_XIO_GSI_SET_TARGET_NAME
GLOBUS_XIO_GSI_GET_CONTEXT
GLOBUS_XIO_GSI_GET_DELEGATED_CRED
GLOBUS_XIO_GSI_GET_PEER_NAME
GLOBUS_XIO_GSI_GET_LOCAL_NAME
GLOBUS_XIO_GSI_INIT_DELEGATION
GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION
GLOBUS_XIO_GSI_ACCEPT_DELEGATION
GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION
GLOBUS_XIO_GSI_FORCE_SERVER_MODE
GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY
GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY
GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR
GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS
enum globus_xio_gsi_protection_level_t:
GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE
GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY
GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
enum globus_xio_gsi_delegation_mode_t:
GLOBUS_XIO_GSI_DELEGATION_MODE_NONE
GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED
GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
enum globus_xio_gsi_proxy_mode_t:
GLOBUS_XIO_GSI_PROXY_MODE_FULL
GLOBUS_XIO_GSI_PROXY_MODE_LIMITED
GLOBUS_XIO_GSI_PROXY_MODE_MANY
enum globus_xio_gsi_authorization_mode_t:
GLOBUS_XIO_GSI_NO_AUTHORIZATION
GLOBUS_XIO_GSI_SELF_AUTHORIZATION
GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION
GLOBUS_XIO_GSI_HOST_AUTHORIZATION
π Functions π
okay so every single one of these returns globus_result_t, and there are a lot of them, and we are listing all of them because skipping even one would be a crime. the attr ones go through globus_xio_gsi_attr_cntl, the handle ones go through globus_xio_gsi_handle_cntl. π«Ά
π credential stuff π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_CREDENTIAL, gss_cred_id_t credential)β the SET_CREDENTIAL one, on the attr. π₯globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_SET_CREDENTIAL, gss_cred_id_t credential)β same command, but handle-level.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_CREDENTIAL, gss_cred_id_t *credential)β GET_CREDENTIAL, attr version, pointer out.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_CREDENTIAL, gss_cred_id_t *credential)β GET_CREDENTIAL, handle version, pointer out.
β¨ gssapi req flags β¨
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS, OM_uint32 req_flags)β setsreq_flags.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS, OM_uint32 *req_flags)β getsreq_flagsback through the pointer.
πΈ proxy mode πΈ
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_PROXY_MODE, globus_xio_gsi_proxy_mode_t proxy_mode)β setsproxy_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_PROXY_MODE, globus_xio_gsi_proxy_mode_t *proxy_mode)β reads it back.
π¦ authorization mode π¦
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE, globus_xio_gsi_authorization_mode_t authz_mode)β setsauthz_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE, globus_xio_gsi_authorization_mode_t *authz_mode)β readsauthz_modeback.
π delegation mode π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_DELEGATION_MODE, globus_xio_gsi_delegation_mode_t delegation_mode)β setsdelegation_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_DELEGATION_MODE, globus_xio_gsi_delegation_mode_t *delegation_mode)β readsdelegation_modeback.
β the boolean-ish ones β
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE, globus_bool_t ssl_mode)β setsssl_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_ANON, globus_bool_t anon_mode)β setsanon_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_WRAP_MODE, globus_bool_t wrap_mode)β setswrap_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_WRAP_MODE, globus_bool_t *wrap_mode)β readswrap_modeback.
π buffer size π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_BUFFER_SIZE, globus_size_t buffer_size)β setsbuffer_size.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_BUFFER_SIZE, globus_size_t *buffer_size)β readsbuffer_sizeback.
π protection level π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL, globus_xio_gsi_protection_level_t protection_level)β setsprotection_level.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL, globus_xio_gsi_protection_level_t *protection_level)β reads it back.
π target name π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_TARGET_NAME, gss_name_t *target_name)β GET_TARGET_NAME, pointer out.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_TARGET_NAME, gss_name_t target_name)β SET_TARGET_NAME, straight in.
π handle-only info (the gossip) π
globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_CONTEXT, gss_ctx_id_t *context)β hands you back thecontext.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_DELEGATED_CRED, gss_cred_id_t *credential)β hands you back the delegatedcredential.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_PEER_NAME, gss_name_t *peer_name)β hands you backpeer_name.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_LOCAL_NAME, gss_name_t *local_name)β hands you backlocal_name.
π§ delegation, the whole saga π§
globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_INIT_DELEGATION, gss_cred_id_t credential, gss_OID_set restriction_oids, gss_buffer_set_t restriction_buffers, OM_uint32 time_req)β INIT_DELEGATION, withcredential,restriction_oids,restriction_buffersandtime_req.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION, gss_cred_id_t credential, gss_OID_set restriction_oids, gss_buffer_set_t restriction_buffers, OM_uint32 time_req, globus_xio_gsi_delegation_init_callback_t callback, void *callback_arg)β same lineup plus acallbackandcallback_arg. β¨globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_ACCEPT_DELEGATION, gss_cred_id_t *credential, gss_OID_set restriction_oids, gss_buffer_set_t restriction_buffers, OM_uint32 time_req)β ACCEPT_DELEGATION,credentialcomes back as a pointer here.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION, gss_OID_set restriction_oids, gss_buffer_set_t restriction_buffers, OM_uint32 time_req, globus_xio_gsi_delegation_accept_callback_t callback, void *callback_arg)β no credential argument, but it does take thecallbackandcallback_arg.
π the rest, and yes they matter π
globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_FORCE_SERVER_MODE, globus_bool_t server_mode)β setsserver_mode.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY, globus_bool_t allow)β setsallow.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY, globus_bool_t *allow)β readsallowback.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR, const char *directory)β setsdirectoryon the attr.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR, const char *directory)β setsdirectoryon the handle.globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS, char **protocols)β setsprotocolson the attr.globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS, char **protocols)β setsprotocolson the handle.
π Detailed Description π
XIO GSI Driver.
Author
Sam Meder π
π Macro Definition Documentation π
π #define globus_xio_gsi_attr_cntl globus_xio_attr_cntl π
doxygen varargs filter stuff. that's it, that's the note. π«Ά
π Author π
Generated automatically by Doxygen for globus_xio_gsi_driver from the source code.
and that's the page, bestie!! π¦π this whole thing came to you courtesy of globus_xio_gsi_driver, Version 5.4, and the manual page globus_xio_gsi.h(3). go forth and slay your GSI stuff, ily, bye!! β¨π
π¦ where this page comes from
- epel 10: globus-xio-gsi-driver-doc 5.4-5.el10_0 Β· Apache-2.0
- fedora 43: globus-xio-gsi-driver-doc 5.4-10.fc43 Β· Apache-2.0
- fedora 44: globus-xio-gsi-driver-doc 5.4-11.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-xio-gsi-driver-doc 5.4-3build2 Β· Apache-2.0
- ubuntu stonking: libglobus-xio-gsi-driver-doc 5.4-3build2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms