Provided by: libglobus-gram-protocol-doc_13.6-3build1_all bug

NAME

       globus_gram_protocol_unpack - Message Unpacking

        - Message Unpacking.

SYNOPSIS

   Functions
       int globus_gram_protocol_unpack_job_request (const globus_byte_t *query, globus_size_t
           querysize, int *job_state_mask, char **callback_url, char **description)
           Unpack a GRAM Job Request.
       int globus_gram_protocol_unpack_job_request_reply (const globus_byte_t *reply,
           globus_size_t replysize, int *status, char **job_contact)
           Unpack a GRAM reply message.
       int globus_gram_protocol_unpack_job_request_reply_with_extensions (const globus_byte_t
           *reply, globus_size_t replysize, int *status, char **job_contact, globus_hashtable_t
           *extensions)
           Unpack a GRAM reply message, parsing all extensions.
       int globus_gram_protocol_unpack_status_request (const globus_byte_t *query, globus_size_t
           querysize, char **status_request)
           Unpack a GRAM query message.
       int globus_gram_protocol_unpack_status_reply (const globus_byte_t *reply, globus_size_t
           replysize, int *job_status, int *failure_code, int *job_failure_code)
           Unpack a GRAM query reply.
       int globus_gram_protocol_unpack_status_reply_with_extensions (const globus_byte_t *reply,
           globus_size_t replysize, globus_hashtable_t *extensions)
           Unpack a GRAM query reply with extensions.
       int globus_gram_protocol_unpack_status_update_message (const globus_byte_t *reply,
           globus_size_t replysize, char **job_contact, int *status, int *failure_code)
           Unpack a GRAM status update message.
       int globus_gram_protocol_unpack_status_update_message_with_extensions (const globus_byte_t
           *reply, globus_size_t replysize, globus_hashtable_t *extensions)
           Unpack a GRAM status update message with extensions.
       void globus_gram_protocol_hash_destroy (globus_hashtable_t *message_hash)

Detailed Description

       Message Unpacking.

Function Documentation

   void globus_gram_protocol_hash_destroy (globus_hashtable_t * message_hash)
       Destroy message attribute hash

       Parameters
           message_hash Hashtable of globus_gram_protocol_extension_t * values to destroy

   int globus_gram_protocol_unpack_job_request (const globus_byte_t * query, globus_size_t
       querysize, int * job_state_mask, char ** callback_url, char ** description)
       Unpack a GRAM Job Request. The globus_gram_protocol_unpack_job_request() function parses
       the job request message packed in the query message and returns copies of the standard
       message attributes in the job_state_mask, callback_url, and description parameters.

       Parameters
           query The unframed job request message to parse.
           querysize The length of the job request message string.
           job_state_mask A pointer to an integer to be set to the job state mask from the job
           request.
           callback_url A pointer to be set with a copy of the URL of the callback contact to be
           registered for this job request. The caller must free this memory by calling free().
           description A pointer to be set to a copy of the job description RSL string for this
           job request. The caller must free this memory by calling free().

       Returns
           Upon success, globus_gram_protocol_unpack_job_request() will return GLOBUS_SUCCESS and
           modify the job_state_mask, callback_url, and description parameters to values
           extracted from the message in query. If an error occurs, an integer error code will be
           returned and the values of job_state_mask, callback_url, and description will be
           undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_job_request_reply (const globus_byte_t * reply, globus_size_t
       replysize, int * status, char ** job_contact)
       Unpack a GRAM reply message. The globus_gram_protocol_unpack_job_request_reply() function
       parses the reply message packed in the reply message and returns copies of the standard
       message attributes in the status and job_contact parameters.

       Parameters
           reply The unframed job reply message to parse.
           replysize The length of the reply string.
           status A pointer to an integer to be set to the failure code associated with the job
           request. This may be GLOBUS_SUCCESS, if the job request was successful.
           job_contact A pointer to a string to be set to the job contact string. This may set to
           NULL if the job request failed. If globus_gram_protocol_unpack_job_request_reply()
           returns GLOBUS_SUCCESS, then the caller must free this string using free().

       Returns
           Upon success, globus_gram_protocol_unpack_job_request_reply() returns GLOBUS_SUCCESS
           and modifies the status and job_contact parameters to point to the values described
           above. If an error occurs, an integer error code is returned and the values pointed to
           by status and job_contact are undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAN_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_job_request_reply_with_extensions (const globus_byte_t *
       reply, globus_size_t replysize, int * status, char ** job_contact, globus_hashtable_t *
       extensions)
       Unpack a GRAM reply message, parsing all extensions. The
       globus_gram_protocol_unpack_job_request_reply_with_extensions() function parses the reply
       message packed in the reply message parameter and returns copies of the standard message
       attributes in the status and job_contact parameters, and all other extension attributes in
       the hashtable pointed to by extensions. Each entry in the hashtable will be keyed by the
       attribute name and the value will be a pointer to a globus_gram_protocol_extension_t
       structure.

       Parameters
           status A pointer to an integer to be set to the failure code associated with the job
           request. This may be GLOBUS_SUCCESS, if the job request was successful.
           job_contact A pointer to a string to be set to the job contact string. This may set to
           NULL if the job request failed. If
           globus_gram_protocol_unpack_job_request_reply_with_extensions() returns
           GLOBUS_SUCCESS, then the caller must free this string using free().
           extensions A pointer to be set to a hash table containing the names and values of all
           protocol extensions present in the response message. If
           globus_gram_protocol_unpack_job_request_reply_with_extensions() returns
           GLOBUS_SUCCESS, the caller must free this hash table and its values by calling
           globus_gram_protocol_hash_destroy().
           reply The unframed job reply message to parse.
           replysize The length of the reply string.

       Returns
           Upon success, globus_gram_protocol_unpack_job_request_reply_with_extensions() returns
           GLOBUS_SUCCESS and modifies the status, job_contact, and extensions to point to the
           values described above. If an error occurs, an integer error code is returned and the
           values pointed to by status, job_contact, and extensions are undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAN_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_status_reply (const globus_byte_t * reply, globus_size_t
       replysize, int * job_status, int * failure_code, int * job_failure_code)
       Unpack a GRAM query reply. The globus_gram_protocol_unpack_status_reply() function parses
       the message packed in the reply parameter and sets the current job state, protocol failure
       code, and job failure code values in its output parameters.

       Parameters
           reply The unframed reply message to parse.
           replysize The length of the reply message.
           job_status A pointer to an integer to be set to the job's current job state.
           failure_code A pointer to an integer to be set to the failure code associated with the
           query request. This may be GLOBUS_SUCCESS, if the request was successful.
           job_failure_code A pointer to an integer to be set to the failure code for the job, if
           the job_status is GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED.

       Returns
           Upon success, globus_gram_protocol_unpack_status_reply() returns GLOBUS_SUCCESS and
           modifies the job_status, failure_code, and job_failure_code parameters to point to the
           value described above. If an error occurs, an integer error code is returned and the
           values pointed to by job_status, failure_code, and job_failure_code are undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter

   int globus_gram_protocol_unpack_status_reply_with_extensions (const globus_byte_t * reply,
       globus_size_t replysize, globus_hashtable_t * extensions)
       Unpack a GRAM query reply with extensions. The
       globus_gram_protocol_unpack_status_reply_with_extensions() function parses the message
       packed in the reply parameter, storing all attributes and values in a hash table. The
       extensions parameter is modified to point to that hash table. The caller of
       globus_gram_protocol_unpack_status_reply_with_extensions() must free that hash table by
       calling globus_gram_protocol_hash_destroy().

       Parameters
           reply The unframed reply message to parse.
           replysize The length of the reply message.
           extensions A pointer to be set to a hash table containing the names and values of all
           protocol attributes present in the reply message. If
           globus_gram_protocol_unpack_status_reply_with_extensions() returns GLOBUS_SUCCESS, the
           caller must free this hash table and its values by calling
           globus_gram_protocol_hash_destroy().

       Returns
           Upon success, globus_gram_protocol_unpack_status_reply_with_extensions() returns
           GLOBUS_SUCCESS and modifies the extensions parameter to point to the value described
           above. If an error occurs, an integer error code is returned and the value pointed to
           by extensions is undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_status_request (const globus_byte_t * query, globus_size_t
       querysize, char ** status_request)
       Unpack a GRAM query message. The globus_gram_protocol_unpack_status_request() function
       parses the message packed in the query parameter and returns a copy of the message in the
       status_request parameter.

       Parameters
           query The unframed query message to parse.
           querysize The length of the query string.
           status_request A pointer to a string to be set to the query value. The caller must
           free this string using free().

       Returns
           Upon success, globus_gram_protocol_unpack_status_request() returns GLOBUS_SUCCESS and
           modifies the status_request parameter to point to the value described above. If an
           error occurs, an integer error code is returned and the value pointed to by
           status_request is undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_status_update_message (const globus_byte_t * reply,
       globus_size_t replysize, char ** job_contact, int * status, int * failure_code)
       Unpack a GRAM status update message. The
       globus_gram_protocol_unpack_status_update_message() function parses the message packed in
       the reply parameter, storing the standard message attribute values in its return
       parameters job_contact, status, and failure_code. The caller is responsible for freeing
       the job_contact value.

       Parameters
           reply The unframed reply message to parse.
           replysize The length of the reply message.
           job_contact An output parameter to be set to the job contact string. If
           globus_gram_protocol_unpack_status_update_message() returns GLOBUS_SUCCESS, then the
           caller must free this string using free().
           status An output parameter to be set to the integer value of the job's current job
           state.
           failure_code An output parameter to be set to the integer failure code for the job if
           the job_status is GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED.

       Returns
           Upon success, globus_gram_protocol_unpack_status_update_message() returns
           GLOBUS_SUCCESS and modifies the job_contact, status, and failure_code parameters as
           described above. If an error occurs, an integer error code is returned and the values
           pointed to by the job_contact, status, and failure_code parameters are undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

   int globus_gram_protocol_unpack_status_update_message_with_extensions (const globus_byte_t *
       reply, globus_size_t replysize, globus_hashtable_t * extensions)
       Unpack a GRAM status update message with extensions. The
       globus_gram_protocol_unpack_status_update_message_with_extensions() function parses the
       message packed in the reply parameter, storing the message attribute values in its return
       parameter extensions. The caller is responsible for freeing the extensions hash table by
       calling globus_gram_protocol_hash_destroy().

       Parameters
           reply The unframed reply message to parse.
           replysize The length of the reply message.
           extensions An output parameter which will be initialized to a hashtable containing the
           message attributes. The caller must destroy this hashtable calling
           globus_gram_protocol_hash_destroy().

       Returns
           Upon success, globus_gram_protocol_unpack_status_update_message_with_extensions()
           returns GLOBUS_SUCCESS and modifies the extensions parameter as described above. If an
           error occurs, an integer error code is returned and the value pointed to by the
           extensions parameters is undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED Unpack failed
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Malloc failed
           GLOBUS_GRAM_PROTOCOL_ERROR_VERSION_MISMATCH Version mismatch

Author

       Generated automatically by Doxygen for globus_gram_protocol from the source code.