---
name: "globus_gsi_callback_data"
section: "3"
platform: "linux"
package: "libglobus-gsi-callback-doc"
version: "6.2-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_callback_data"
---

# globus\_gsi\_callback\_data(3)

Callback Data Functions - Callback Data Functions.

## NAME

globus\_gsi\_callback\_data - Callback Data Functions

 \- Callback Data Functions.

## SYNOPSIS

### Typedefs

typedef struct globus\_l\_gsi\_callback\_data\_s \* **globus\_gsi\_callback\_data\_t**\

### Functions

globus\_result\_t **globus\_gsi\_callback\_data\_init** (**globus\_gsi\_callback\_data\_t** \*callback\_data)\
 Initialize a callback data structure.  globus\_result\_t **globus\_gsi\_callback\_data\_destroy** (**globus\_gsi\_callback\_data\_t** callback\_data)\
 Initialize a callback data structure.  globus\_result\_t **globus\_gsi\_callback\_data\_copy** (**globus\_gsi\_callback\_data\_t** source, **globus\_gsi\_callback\_data\_t** \*dest)\
 Copy a callback data structure.  globus\_result\_t **globus\_gsi\_callback\_get\_cert\_depth** (**globus\_gsi\_callback\_data\_t** callback\_data, int \*cert\_depth)\
 Getting the certificate chain depth.  globus\_result\_t **globus\_gsi\_callback\_set\_cert\_depth** (**globus\_gsi\_callback\_data\_t** callback\_data, int cert\_depth)\
 Set the certificate chain depth.  globus\_result\_t **globus\_gsi\_callback\_get\_proxy\_depth** (**globus\_gsi\_callback\_data\_t** callback\_data, int \*proxy\_depth)\
 Get the 'proxy chain' depth.  globus\_result\_t **globus\_gsi\_callback\_set\_proxy\_depth** (**globus\_gsi\_callback\_data\_t** callback\_data, int proxy\_depth)\
 Set the 'proxy chain' depth.  globus\_result\_t **globus\_gsi\_callback\_get\_cert\_type** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_gsi\_cert\_utils\_cert\_type\_t \*cert\_type)\
 Get the certificate type.  globus\_result\_t **globus\_gsi\_callback\_set\_cert\_type** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_gsi\_cert\_utils\_cert\_type\_t cert\_type)\
 Set the certificate type.  globus\_result\_t **globus\_gsi\_callback\_get\_cert\_chain** (**globus\_gsi\_callback\_data\_t** callback\_data, STACK\_OF(X509) \*\*cert\_chain)\
 Get the certificate chain.  globus\_result\_t **globus\_gsi\_callback\_set\_cert\_chain** (**globus\_gsi\_callback\_data\_t** callback\_data, STACK\_OF(X509) \*cert\_chain)\
 Set the certificate chain.  globus\_result\_t **globus\_gsi\_callback\_get\_multiple\_limited\_proxy\_ok** (**globus\_gsi\_callback\_data\_t** callback\_data, int \*multiple\_limited\_proxy\_ok)\
 Get the limited proxy handling setting.  globus\_result\_t **globus\_gsi\_callback\_set\_multiple\_limited\_proxy\_ok** (**globus\_gsi\_callback\_data\_t** callback\_data, int multiple\_limited\_proxy\_ok)\
 Set the limited proxy handling setting.  globus\_result\_t **globus\_gsi\_callback\_get\_extension\_oids** (**globus\_gsi\_callback\_data\_t** callback\_data, void \*\*extension\_oids)\
 Get X.509 extension OIDs.  globus\_result\_t **globus\_gsi\_callback\_set\_extension\_oids** (**globus\_gsi\_callback\_data\_t** callback\_data, void \*extension\_oids)\
 Set X.509 extension OIDs.  globus\_result\_t **globus\_gsi\_callback\_get\_cert\_dir** (**globus\_gsi\_callback\_data\_t** callback\_data, char \*\*cert\_dir)\
 Get the trusted certificate directory.  globus\_result\_t **globus\_gsi\_callback\_set\_cert\_dir** (**globus\_gsi\_callback\_data\_t** callback\_data, char \*cert\_dir)\
 Set the trusted certificate directory.  globus\_result\_t **globus\_gsi\_callback\_get\_extension\_cb** (**globus\_gsi\_callback\_data\_t** callback\_data, **globus\_gsi\_extension\_callback\_t** \*extension\_cb)\
 Get the unknown X.509 extension callback.  globus\_result\_t **globus\_gsi\_callback\_set\_extension\_cb** (**globus\_gsi\_callback\_data\_t** callback\_data, **globus\_gsi\_extension\_callback\_t** extension\_cb)\
 globus\_result\_t **globus\_gsi\_callback\_get\_error** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_result\_t \*error)\
 Get error status.  globus\_result\_t **globus\_gsi\_callback\_set\_error** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_result\_t error)\
 Set error status.  globus\_result\_t **globus\_gsi\_callback\_get\_check\_policy\_for\_self\_signed\_certs** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_bool\_t \*check)\
 Get the self-signed policy checking flag.  globus\_result\_t **globus\_gsi\_callback\_set\_check\_policy\_for\_self\_signed\_certs** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_bool\_t check)\
 Set the self-signed policy checking flag.  globus\_result\_t **globus\_gsi\_callback\_get\_allow\_missing\_signing\_policy** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_bool\_t \*allow)\
 Get the 'allow missing signing policy' flag.  globus\_result\_t **globus\_gsi\_callback\_set\_allow\_missing\_signing\_policy** (**globus\_gsi\_callback\_data\_t** callback\_data, globus\_bool\_t allow)\
 Set the 'allow missing signing policy' flag.

## Detailed Description

Callback Data Functions.

Functions that deal with the data structure that contains state associated with the path validation callback.

## Typedef Documentation

### typedef struct globus\_l\_gsi\_callback\_data\_s\* globus\_gsi\_callback\_data\_t

Callback data typedef

## Function Documentation

### globus\_result\_t globus\_gsi\_callback\_data\_copy (globus\_gsi\_callback\_data\_t source, globus\_gsi\_callback\_data\_t \* dest)

Copy a callback data structure. This function copies a globus\_gsi\_callback\_data\_t.

**Parameters**

*source* The structure to be copied \
 *dest* The destination of the copy

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_data\_destroy (globus\_gsi\_callback\_data\_t callback\_data)

Initialize a callback data structure. This function destroys a globus\_gsi\_callback\_data\_t.

**Parameters**

*callback\_data* The structure to be destroyed

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_data\_init (globus\_gsi\_callback\_data\_t \* callback\_data)

Initialize a callback data structure. This function initializes a globus\_gsi\_callback\_data\_t.

**Parameters**

*callback\_data* Reference to the structure to be initialized

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_allow\_missing\_signing\_policy (globus\_gsi\_callback\_data\_t callback\_data, globus\_bool\_t \* allow)

Get the 'allow missing signing policy' flag. This function gets the value of the 'allow missing signing policy' flag in the callback data. If this is TRUE then the CA signing policy need not be present.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the error from \
 *allow* Contains the value of the flag upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

**Since**

Globus Toolkit 5.2.0

### globus\_result\_t globus\_gsi\_callback\_get\_cert\_chain (globus\_gsi\_callback\_data\_t callback\_data, STACK\_OF(X509) \*\* cert\_chain)

Get the certificate chain. This function returns the certificate chain associated with the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the certificate chain from. \
 *cert\_chain* Contains the certificate chain upon successful return

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_cert\_depth (globus\_gsi\_callback\_data\_t callback\_data, int \* cert\_depth)

Getting the certificate chain depth. This function returns the certificate chain depth.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the depth from \
 *cert\_depth* The returned certificate chain depth

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_cert\_dir (globus\_gsi\_callback\_data\_t callback\_data, char \*\* cert\_dir)

Get the trusted certificate directory. This function gets the trusted certificate directory from the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the trusted certificates directory from. \
 *cert\_dir* Contains the path to the trusted certificate directory upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_cert\_type (globus\_gsi\_callback\_data\_t callback\_data, globus\_gsi\_cert\_utils\_cert\_type\_t \* cert\_type)

Get the certificate type. This function returns the certificate type of the certificate currently being processed

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the certificate type from \
 *cert\_type* Variable containing the certificate type on return

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_check\_policy\_for\_self\_signed\_certs (globus\_gsi\_callback\_data\_t callback\_data, globus\_bool\_t \* check)

Get the self-signed policy checking flag. This function gets the value of the 'check policy for self-signed certificates flag' in the callback data. If this is set than the CA signing policy for a self-signed certificate must include a policy line that allows it to sign itself.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the error from \
 *check* Contains the value of the flag upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

**Since**

Globus Toolkit 4.2.1

### globus\_result\_t globus\_gsi\_callback\_get\_error (globus\_gsi\_callback\_data\_t callback\_data, globus\_result\_t \* error)

Get error status. This function gets the error status stored in the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the error from \
 *error* Contains the error upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_extension\_cb (globus\_gsi\_callback\_data\_t callback\_data, globus\_gsi\_extension\_callback\_t \* extension\_cb)

Get the unknown X.509 extension callback. This function gets the callback that is called for unknown X.509 extensions

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the callback information from \
 *extension\_cb* Contains the extension callback upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_extension\_oids (globus\_gsi\_callback\_data\_t callback\_data, void \*\* extension\_oids)

Get X.509 extension OIDs. This function gets a list of X.509 extension OIDs that may be used by the extensions callback to allow or disallow certain extensions. \

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the array of extension OIDs from. \
 *extension\_oids* Contains the list of extension OIDs upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_multiple\_limited\_proxy\_ok (globus\_gsi\_callback\_data\_t callback\_data, int \* multiple\_limited\_proxy\_ok)

Get the limited proxy handling setting. This function gets the value of the limited proxy handling setting. This setting determines whether path validation will accept limited proxies that have been further delegated, i.e. certificate chains with a limited proxy followed by further proxies.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the limited proxy setting from \
 *multiple\_limited\_proxy\_ok* Contains the value of the setting upon successful return.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_get\_proxy\_depth (globus\_gsi\_callback\_data\_t callback\_data, int \* proxy\_depth)

Get the 'proxy chain' depth. This function returns the number of proxies in the certificate chain.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the depth from \
 *proxy\_depth* The returned 'proxy chain' depth

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_allow\_missing\_signing\_policy (globus\_gsi\_callback\_data\_t callback\_data, globus\_bool\_t allow)

Set the 'allow missing signing policy' flag. This function sets the value of the 'allow missing signing policy' flag in the callback data. If this is TRUE then the CA signing policy need not be present.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the error on \
 *allow* New value of the flag

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

**Since**

Globus Toolkit 5.2.0

### globus\_result\_t globus\_gsi\_callback\_set\_cert\_chain (globus\_gsi\_callback\_data\_t callback\_data, STACK\_OF(X509) \* cert\_chain)

Set the certificate chain. This function sets the certificate chain associated with the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the certificate chain on \
 *cert\_chain* The certificate chain

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_cert\_depth (globus\_gsi\_callback\_data\_t callback\_data, int cert\_depth)

Set the certificate chain depth. This function sets the certificate chain depth

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the depth from \
 *cert\_depth* The certificate chain depth

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_cert\_dir (globus\_gsi\_callback\_data\_t callback\_data, char \* cert\_dir)

Set the trusted certificate directory. This function sets the trusted certificate directory on the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the trusted certificates directory on. \
 *cert\_dir* The path to the trusted certificate directory

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_cert\_type (globus\_gsi\_callback\_data\_t callback\_data, globus\_gsi\_cert\_utils\_cert\_type\_t cert\_type)

Set the certificate type. This function sets the certificate type of the certificate currently being processed

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the certificate type on\
 *cert\_type* The certificate type

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_check\_policy\_for\_self\_signed\_certs (globus\_gsi\_callback\_data\_t callback\_data, globus\_bool\_t check)

Set the self-signed policy checking flag. This function sets the value of the 'check policy for self-signed certificates flag' in the callback data. If this is set than the CA signing policy for a self-signed certificate must include a policy line that allows it to sign itself.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the error on \
 *check* New value of the flag

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

**Since**

Globus Toolkit 4.2.1

### globus\_result\_t globus\_gsi\_callback\_set\_error (globus\_gsi\_callback\_data\_t callback\_data, globus\_result\_t error)

Set error status. This function sets the error status stored in the callback data.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the error on \
 *error* The error

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_extension\_cb (globus\_gsi\_callback\_data\_t callback\_data, globus\_gsi\_extension\_callback\_t extension\_cb)

Set the unknown X.509 extension callback

This function sets the callback that is called for unknown X.509 extensions.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the callback information on \
 *extension\_cb* The extension callback

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_extension\_oids (globus\_gsi\_callback\_data\_t callback\_data, void \* extension\_oids)

Set X.509 extension OIDs. This function sets a list of X.509 extension OIDs that may be used by the extensions callback to allow or disallow certain extensions.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to get the array of extension OIDs from. \
 *extension\_oids* The list of extension OIDs

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_multiple\_limited\_proxy\_ok (globus\_gsi\_callback\_data\_t callback\_data, int multiple\_limited\_proxy\_ok)

Set the limited proxy handling setting. This function sets the value of the limited proxy handling setting. This setting determines whether path validation will accept limited proxies that have been further delegated, i.e. certificate chains with a limited proxy followed by further proxies.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to set the limited proxy setting on \
 *multiple\_limited\_proxy\_ok* The value of the setting

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### globus\_result\_t globus\_gsi\_callback\_set\_proxy\_depth (globus\_gsi\_callback\_data\_t callback\_data, int proxy\_depth)

Set the 'proxy chain' depth. This function sets the number of proxies in the certificate chain.

**Parameters**

*callback\_data* The globus\_gsi\_callback\_data\_t to retrieve the depth from \
 *proxy\_depth* The 'proxy chain' depth

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

## Author

Generated automatically by Doxygen for globus\_gsi\_callback from the source code.
