globus_gram_client_attr(3)
π NAME π
globus_gram_client_attr β GRAM Client Attribute Functions.
okay so real talk, this whole page is about GRAM client attributes: the little bundle of settings you attach to GRAM client operations when you don't want the defaults. The page header calls it globus_gram_client_attr(3) and it lives in the Library Functions Manual. And yes the name section literally just says "GRAM Client Attribute Functions" β twice, basically. We love a concise queen. π
β¨ SYNOPSIS β¨
π Macros
#define GLOBUS_GRAM_CLIENT_NO_ATTRβ Default GRAM client operation attribute.
π¦ Typedefs
typedef void * globus_gram_client_attr_tβ GRAM client operation attribute.
πΈ Functions
int globus_gram_client_attr_init (globus_gram_client_attr_t *attr)β Initialize a GRAM client attribute.int globus_gram_client_attr_destroy (globus_gram_client_attr_t *attr)β Destroy a GRAM client attribute.int globus_gram_client_attr_set_credential (globus_gram_client_attr_t attr, gss_cred_id_t credential)β Set a GRAM client attribute's security credential.int globus_gram_client_attr_get_credential (globus_gram_client_attr_t attr, gss_cred_id_t *credential)β Get a GRAM client attribute's security credential.int globus_gram_client_attr_set_delegation_mode (globus_gram_client_attr_t attr, globus_io_secure_delegation_mode_t mode)β Set a GRAM client attribute's delegation mode.int globus_gram_client_attr_get_delegation_mode (globus_gram_client_attr_t attr, globus_io_secure_delegation_mode_t *mode)β Get a GRAM client attribute's security credential.
π Detailed Description π
GRAM Client Attribute Functions.
like. that's it. that's the detailed description. iconic minimalism honestly. π«Ά
β Macro Definition Documentation β
#define GLOBUS_GRAM_CLIENT_NO_ATTR
Default GRAM client operation attribute. The GLOBUS_GRAM_CLIENT_NO_ATTR macro defines a constant for use when a user of the GRAM client API does not want to specify any non-default GRAM attributes.
tl;dr: you're not customizing anything, you just want the standard behavior? Pass this and vibe. π§
π Typedef Documentation π
typedef void* globus_gram_client_attr_t
GRAM client operation attribute. The globus_gram_client_attr_t type is an opaque type describing GRAM attributes. It can be accessed or modified by functions in the GRAM Client Attribute Functions documentation.
bestie it's opaque β meaning you don't poke at its insides directly, you go through the functions on this very page. hands off the goods, use the API. π
π₯ Function Documentation π₯
int globus_gram_client_attr_destroy (globus_gram_client_attr_t * attr)
Destroy a GRAM client attribute. The globus_gram_client_attr_destroy() function destroys and frees a GRAM client attribute.
After this function returns, the value pointed to by attr is no longer valid and must not be used. do NOT touch it. it's gone. it's in the wind. π
Parameters
attrβ A pointer to the attribute to destroy. All data associated with the attribute will be freed and it will be an invalid attribute.
Returns
Upon success, globus_gram_client_attr_destroy() destroys the attribute pointed to by the attr parameter and sets it to an invalid state. If an error occurs, globus_gram_client_attr_destroy() returns an integer error code and value of attr is unchanged.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ Invalid attribute
See also
globus_gram_client_attr_init()
int globus_gram_client_attr_get_credential (globus_gram_client_attr_t attr, gss_cred_id_t * credential)
Get a GRAM client attribute's security credential. The globus_gram_client_attr_get_credential() function gets the value of the credential in an attribute and modifies the credential parameter to point to it.
This is a shallow copy. not a deep copy, not a clone, just a lil pointer situation. noted. π
Parameters
attrβ The attribute set to query for its credential.credentialβ An output parameter that will be initialized to point to the GSSAPI credential which theattris currently using.
Returns
Upon success, globus_gram_client_attr_get_credential() modifies the the value pointed to by the credential parameter to be the same credential as that being used by the attribute named by the attr parameter and returns GLOBUS_SUCCESS. If an error occurs, globus_gram_client_attr_get_credential() returns an integer error code and the value pointed to by the credential parameter is undefined.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ Invalid attributeGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβ Null parameter
See also
globus_gram_client_attr_set_credential()
int globus_gram_client_attr_get_delegation_mode (globus_gram_client_attr_t attr, globus_io_secure_delegation_mode_t * mode)
Get a GRAM client attribute's security credential. The globus_gram_client_attr_get_delegation_mode() function gets the value of the delegation_mode in an attribute and modifies the mode parameter to point to its value.
not me pointing out that the short description literally says "security credential" for the delegation mode getter. that's what the docs say, bestie, I'm just the messenger π«
Parameters
attrβ The attribute set to query for itsdelegation_mode.modeβ An output parameter that will be set to point to the delegation mode which theattris currently using.
Returns
Upon success, globus_gram_client_attr_get_delegation_mode() modifies the the value pointed to by the mode parameter as described above and returns GLOBUS_SUCCESS. If an error occurs, globus_gram_client_attr_get_delegation_mode() returns an integer error code and the value pointed to by the mode parameter is undefined.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ Invalid attributeGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβ Null parameter
See also
globus_gram_client_attr_get_delegation_mode()
(and yes, it references itself. the doc said what it said, I'm not editing it. π)
int globus_gram_client_attr_init (globus_gram_client_attr_t * attr)
Initialize a GRAM client attribute. The globus_gram_client_attr_init() function creates a new opaque structure that can be used to specify custom attributes for performing GRAM client operations.
Parameters
attrβ An output parameter which will be set to the newly initialized attribute.
Returns
Upon success, globus_gram_client_attr_init() modifies the attr parameter to point to a new GRAM client attribute and returns GLOBUS_SUCCESS. If an error occurs, globus_gram_client_attr_init() returns an integer error code and value of attr is undefined.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ Invalid attributeGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memory
See also
globus_gram_client_attr_destroy()
int globus_gram_client_attr_set_credential (globus_gram_client_attr_t attr, gss_cred_id_t credential)
Set a GRAM client attribute's security credential. The globus_gram_client_attr_set_credential() function sets the value of the credential in an attribute to the GSSAPI credential named by the credential parameter.
This is done as a shallow copy, so the value of credential must not be freed until the attribute will no longer be used. do not free it early, I am begging you π
Parameters
attrβ The attribute set to modify to use the credential named by thecredentialparameter.credentialβ The GSSAPI credential to use with the attribute named by theattrparameter. This may beGSS_C_NO_CREDENTIALto set the attribute to use the default security credential.
Returns
Upon success, globus_gram_client_attr_set_credential() modifies the the attribute pointed to by the attr parameter to use the credential specified by the credential parameter and returns GLOBUS_SUCCESS. If an error occurs, globus_gram_client_attr_set_credential() returns an integer error code and the attribute named by attr is unchanged.
Return values
GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ An invalid attribute set was passed to this function.
See also
globus_gram_client_attr_get_credential()
int globus_gram_client_attr_set_delegation_mode (globus_gram_client_attr_t attr, globus_io_secure_delegation_mode_t mode)
Set a GRAM client attribute's delegation mode. The globus_gram_client_attr_set_delegation_mode() function sets the value of the delegation_mode in an attribute to the delegation mode in the mode parameter.
The GRAM client supports the following delegation modes:
GLOBUS_IO_SECURE_DELEGATION_MODE_LIMITED_PROXYGLOBUS_IO_SECURE_DELEGATION_MODE_FULL_PROXY
Parameters
attrβ The attribute set to modify to use the delegation mode in themodeparameter.modeβ The new value of the delegation mode.
Returns
Upon success, globus_gram_client_attr_set_delegation_mode() modifies the the attribute named by the attr parameter to use the delegation mode in the mode parameter and returns GLOBUS_SUCCESS. If an error occurs, globus_gram_client_attr_set_delegation_mode() returns an integer error code and the delegation_mode attribute value is unchanged.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTRβ Invalid attribute
See also
globus_gram_client_attr_get_delegation_mode()
π Author π
Generated automatically by Doxygen for globus_gram_client from the source code.
(so like, nobody hand-wrote this, a robot did it, and honestly? the robot ate. π)
okay bestie that's the whole page, every flag, every parameter, every return value, every see-also, all of it, no cap. this was globus_gram_client_attr(3) from globus_gram_client, Version 14.7, brought to you by the globus_gram_client manual. go forth and set your attributes responsibly. periodt. πβ¨ππ¦πΈπ
π«Ά
π¦ where this page comes from
- epel 10: globus-gram-client-doc 14.7-1.el10_2 Β· Apache-2.0
- fedora 43: globus-gram-client-doc 14.7-1.fc43 Β· Apache-2.0
- fedora 44: globus-gram-client-doc 14.7-2.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-gram-client-doc 14.7-1 Β· Apache-2.0
- ubuntu stonking: libglobus-gram-client-doc 14.7-2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms