globus_xio_gsi.h(3)

πŸ“¦
version 5.4 Β· 5 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– 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) β€” sets req_flags.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS, OM_uint32 *req_flags) β€” gets req_flags back 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) β€” sets proxy_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) β€” sets authz_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) β€” reads authz_mode back.

πŸŽ€ 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) β€” sets delegation_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) β€” reads delegation_mode back.

⭐ 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) β€” sets ssl_mode.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_ANON, globus_bool_t anon_mode) β€” sets anon_mode.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_WRAP_MODE, globus_bool_t wrap_mode) β€” sets wrap_mode.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_WRAP_MODE, globus_bool_t *wrap_mode) β€” reads wrap_mode back.

πŸ’… buffer size πŸ’…

  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_BUFFER_SIZE, globus_size_t buffer_size) β€” sets buffer_size.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_BUFFER_SIZE, globus_size_t *buffer_size) β€” reads buffer_size back.

🌈 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) β€” sets protection_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 the context.
  • 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 delegated credential.
  • globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_PEER_NAME, gss_name_t *peer_name) β€” hands you back peer_name.
  • globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_GET_LOCAL_NAME, gss_name_t *local_name) β€” hands you back local_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, with credential, restriction_oids, restriction_buffers and time_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 a callback and callback_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, credential comes 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 the callback and callback_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) β€” sets server_mode.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY, globus_bool_t allow) β€” sets allow.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY, globus_bool_t *allow) β€” reads allow back.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR, const char *directory) β€” sets directory on the attr.
  • globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR, const char *directory) β€” sets directory on the handle.
  • globus_result_t globus_xio_gsi_attr_cntl (attr, driver, GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS, char **protocols) β€” sets protocols on the attr.
  • globus_result_t globus_xio_gsi_handle_cntl (handle, driver, GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS, char **protocols) β€” sets protocols on 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!! βœ¨πŸ‘‘