Loading...
Searching...
No Matches
GRAM Client Attribute Functions
GRAM Client API

GRAM Client Attribute Functions. More...

## 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.

## Macro Definition Documentation

## GLOBUS_GRAM_CLIENT_NO_ATTR

#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.

## Typedef Documentation

## globus_gram_client_attr_t

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.

## Function Documentation

## globus_gram_client_attr_destroy()

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.

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 | Success
  GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTR | Invalid attribute

See also
  globus_gram_client_attr_init()

## globus_gram_client_attr_get_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.

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.

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 the attr is 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 | Success
  GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTR | Invalid attribute
  GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER | Null parameter

See also
  globus_gram_client_attr_set_credential()

## globus_gram_client_attr_get_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.

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.

Parameters

  attr | The attribute set to query for its delegation_mode.
  mode | An output parameter that will be set to point to the delegation mode which the attr is 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 | Success
  GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTR | Invalid attribute
  GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER | Null parameter

See also
  globus_gram_client_attr_get_delegation_mode()

## globus_gram_client_attr_init()

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 | Success
  GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTR | Invalid attribute
  GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED | Out of memory

See also
  globus_gram_client_attr_destroy()

## globus_gram_client_attr_set_credential()

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.

Parameters

  attr | The attribute set to modify to use the credential named by the credential parameter.
  credential | The GSSAPI credential to use with the attribute named by the attr parameter. This may be GSS_C_NO_CREDENTIAL to 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()

## globus_gram_client_attr_set_delegation_mode()

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_PROXY
- GLOBUS_IO_SECURE_DELEGATION_MODE_FULL_PROXY

Parameters

  attr | The attribute set to modify to use the delegation mode in the mode parameter.
  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 | Success
  GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_ATTR | Invalid attribute

See also
  globus_gram_client_attr_get_delegation_mode()