---
name: "globus_gram_client.h"
section: "3"
platform: "linux"
package: "libglobus-gram-client-doc"
version: "14.6-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gram_client.h"
---

# globus\_gram\_client.h(3)

GRAM Client API.

## NAME

globus\_gram\_client.h - GRAM Client API.

## SYNOPSIS

`#include 'globus_common.h'`\
 `#include 'globus_io.h'`\
 `#include 'globus_gram_protocol_constants.h'`\

### Data Structures

struct **globus\_gram\_client\_job\_info\_s**\
 Extensible job information structure.

### Macros

\#define **GLOBUS\_GRAM\_CLIENT\_NO\_ATTR**\
 Default GRAM client operation attribute.

### Typedefs

typedef void(\* **globus\_gram\_client\_callback\_func\_t**) (void \*user\_callback\_arg, char \*job\_contact, int state, int errorcode)\
 Signature for GRAM state notification callback functions.  typedef struct **globus\_gram\_client\_job\_info\_s** **globus\_gram\_client\_job\_info\_t**\
 Extensible job information structure.  typedef void(\* **globus\_gram\_client\_info\_callback\_func\_t**) (void \*user\_callback\_arg, const char \*job\_contact, **globus\_gram\_client\_job\_info\_t** \*job\_info)\
 Signature for GRAM state notification callback functions with extension support.  typedef void \* **globus\_gram\_client\_attr\_t**\
 GRAM client operation attribute.  typedef void(\* **globus\_gram\_client\_nonblocking\_func\_t**) (void \*user\_callback\_arg, globus\_gram\_protocol\_error\_t operation\_failure\_code, const char \*job\_contact, globus\_gram\_protocol\_job\_state\_t job\_state, globus\_gram\_protocol\_error\_t job\_failure\_code)\
 Signature for callbacks signalling completion of non-blocking GRAM requests.

### Functions

int **globus\_gram\_client\_callback\_allow** (**globus\_gram\_client\_callback\_func\_t** callback\_func, void \*user\_callback\_arg, char \*\*callback\_contact)\
 Begin listening for job state change callbacks.  int **globus\_gram\_client\_info\_callback\_allow** (**globus\_gram\_client\_info\_callback\_func\_t** callback\_func, void \*user\_callback\_arg, char \*\*callback\_contact)\
 Begin listening for job state change callbacks.  int **globus\_gram\_client\_register\_job\_request** (const char \*resource\_manager\_contact, const char \*description, int job\_state\_mask, const char \*callback\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Send a job request to a GRAM service.  int **globus\_gram\_client\_job\_request** (const char \*resource\_manager\_contact, const char \*description, int job\_state\_mask, const char \*callback\_contact, char \*\*job\_contact)\
 Send a job request to a GRAM service.  int **globus\_gram\_client\_register\_job\_request\_with\_info** (const char \*resource\_manager\_contact, const char \*description, int job\_state\_mask, const char \*callback\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_info\_callback\_func\_t** callback, void \*callback\_arg)\
 Send a job request to a GRAM service with extensions-aware callback.  int **globus\_gram\_client\_job\_request\_with\_info** (const char \*resource\_manager\_contact, const char \*description, int job\_state\_mask, const char \*callback\_contact, char \*\*job\_contact, **globus\_gram\_client\_job\_info\_t** \*info)\
 Send a job request to a GRAM service and parse extensions in the response.  int **globus\_gram\_client\_register\_job\_cancel** (const char \*job\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Cancel a GRAM job.  int **globus\_gram\_client\_job\_cancel** (const char \*job\_contact)\
 Cancel a GRAM job.  int **globus\_gram\_client\_register\_job\_status** (const char \*job\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Send a status query to a GRAM job.  int **globus\_gram\_client\_register\_job\_status\_with\_info** (const char \*job\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_info\_callback\_func\_t** info\_callback, void \*callback\_arg)\
 Send a status query to a GRAM job.  int **globus\_gram\_client\_job\_refresh\_credentials** (char \*job\_contact, gss\_cred\_id\_t creds)\
 Delegate a new credential to a job.  int **globus\_gram\_client\_register\_job\_refresh\_credentials** (char \*job\_contact, gss\_cred\_id\_t creds, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Delegate a new credential to a job.  int **globus\_gram\_client\_job\_status** (const char \*job\_contact, int \*job\_status, int \*failure\_code)\
 Send a status query to a GRAM job.  int **globus\_gram\_client\_job\_status\_with\_info** (const char \*job\_contact, **globus\_gram\_client\_job\_info\_t** \*job\_info)\
 Send a status query to a GRAM job.  int **globus\_gram\_client\_register\_job\_signal** (const char \*job\_contact, globus\_gram\_protocol\_job\_signal\_t signal, const char \*signal\_arg, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Send a signal a GRAM job.  int **globus\_gram\_client\_job\_signal** (const char \*job\_contact, globus\_gram\_protocol\_job\_signal\_t signal, const char \*signal\_arg, int \*job\_status, int \*failure\_code)\
 Send a signal a GRAM job.  int **globus\_gram\_client\_register\_job\_callback\_registration** (const char \*job\_contact, int job\_state\_mask, const char \*callback\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Register a new callback contact to be notified for job state changes.  int **globus\_gram\_client\_job\_callback\_register** (const char \*job\_contact, int job\_state\_mask, const char \*callback\_contact, int \*job\_status, int \*failure\_code)\
 Register a new callback contact to be notified for job state changes.  int **globus\_gram\_client\_register\_job\_callback\_unregistration** (const char \*job\_contact, const char \*callback\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Unregister a callback contact to stop job state change notifications.  int **globus\_gram\_client\_job\_callback\_unregister** (const char \*job\_contact, const char \*callback\_contact, int \*job\_status, int \*failure\_code)\
 Unregister a callback contact to stop job state change notifications.  int **globus\_gram\_client\_callback\_disallow** (char \*callback\_contact)\
 Stop listening for job state change callbacks.  int **globus\_gram\_client\_job\_contact\_free** (char \*job\_contact)\
 Free a job contact string.  const char \* **globus\_gram\_client\_error\_string** (int error\_code)\
 Get a description of a a GRAM error code.  int **globus\_gram\_client\_version** (void)\
 Return GRAM protocol version.  int **globus\_gram\_client\_set\_credentials** (gss\_cred\_id\_t new\_credentials)\
 Set the default GRAM credential.  int **globus\_gram\_client\_ping** (const char \*resource\_manager\_contact)\
 Send a ping request to a GRAM service.  int **globus\_gram\_client\_register\_ping** (const char \*resource\_manager\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_nonblocking\_func\_t** register\_callback, void \*register\_callback\_arg)\
 Send a ping request to a GRAM service.  int **globus\_gram\_client\_get\_jobmanager\_version** (const char \*resource\_manager\_contact, globus\_hashtable\_t \*extensions)\
 Get version information from a job manager.  int **globus\_gram\_client\_register\_get\_jobmanager\_version** (const char \*resource\_manager\_contact, **globus\_gram\_client\_attr\_t** attr, **globus\_gram\_client\_info\_callback\_func\_t** info\_callback, void \*callback\_arg)\
 Get version information from a job manager without blocking.  void **globus\_gram\_client\_debug** (void)\
 Enable GRAM debugging.  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.  void **globus\_gram\_client\_job\_info\_destroy** (**globus\_gram\_client\_job\_info\_t** \*info)\
 Free memory associated with a globus\_gram\_client\_job\_info\_t structure.

## Detailed Description

GRAM Client API.

This header file contains the exported client interface of the Resource Allocation Management System.

## Author

Generated automatically by Doxygen for globus\_gram\_client from the source code.
