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

NAME

       globus_gram_protocol_pack - Message Packing

        - Message Packing.

SYNOPSIS

   Functions
       int globus_gram_protocol_pack_job_request (int job_state_mask, const char *callback_url, const char *rsl,
           globus_byte_t **query, globus_size_t *querysize)
           Pack a GRAM Job Request.
       int globus_gram_protocol_pack_job_request_reply (int status, const char *job_contact, globus_byte_t
           **reply, globus_size_t *replysize)
           Pack a GRAM reply message.
       int globus_gram_protocol_pack_job_request_reply_with_extensions (int status, const char *job_contact,
           globus_hashtable_t *extensions, globus_byte_t **reply, globus_size_t *replysize)
           Pack a GRAM reply message with extension attributes.
       int globus_gram_protocol_pack_status_request (const char *status_request, globus_byte_t **query,
           globus_size_t *querysize)
           Pack a GRAM query message.
       int globus_gram_protocol_pack_status_reply (int job_status, int failure_code, int job_failure_code,
           globus_byte_t **reply, globus_size_t *replysize)
           Pack a GRAM query reply message.
       int globus_gram_protocol_pack_status_reply_with_extensions (int job_status, int failure_code, int
           job_failure_code, globus_hashtable_t *extensions, globus_byte_t **reply, globus_size_t *replysize)
           Pack a GRAM query reply message with extensions.
       int globus_gram_protocol_pack_status_update_message (char *job_contact, int status, int failure_code,
           globus_byte_t **reply, globus_size_t *replysize)
           Pack a GRAM status update message.
       int globus_gram_protocol_pack_status_update_message_with_extensions (char *job_contact, int status, int
           failure_code, globus_hashtable_t *extensions, globus_byte_t **reply, globus_size_t *replysize)
           Pack a GRAM status update message with extensions.
       int globus_gram_protocol_pack_version_request (char **request, size_t *requestsize)
           Pack a GRAM version request message.

Detailed Description

       Message Packing.

Function Documentation

   int globus_gram_protocol_pack_job_request (int job_state_mask, const char * callback_url, const char * rsl,
       globus_byte_t ** query, globus_size_t * querysize)
       Pack a GRAM Job Request. The globus_gram_protocol_pack_job_request() function combines its parameters
       into a GRAM job request message body. The caller may frame and send the resulting message by calling
       globus_gram_protocol_post() or just frame it by calling globus_gram_protocol_frame_request() and send it
       by some other mechanism. The globus_gram_protocol_pack_job_request() function returns the packed message
       by modifying the query parameter to point to a new string containing the message. The caller is
       responsible for freeing that string.

       Parameters
           job_state_mask The bitwise-or of the GRAM job states which the client would like to register for job
           state change callbacks.
           callback_url A callback contact string which will be contacted when a job state change which matches
           the job_state_mask occurs. This may be NULL, if the client does not wish to register a callback
           contact with this job request. Typically, this value is returned in the url parameter to
           globus_gram_protocol_allow_attach().
           rsl An RSL string which contains the job request. This will be processed on the server side.
           query An output parameter which will be set to a new string containing the packed job request
           message. The caller must free this memory by calling free()
           querysize An output parameter which will be populated with the length of the job request message
           returned in query.

       Returns
           Upon success, globus_gram_protocol_pack_job_request() returns GLOBUS_SUCCESS and modifies the query
           and querysize parameters to point to the values described above.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter

   int globus_gram_protocol_pack_job_request_reply (int status, const char * job_contact, globus_byte_t **
       reply, globus_size_t * replysize)
       Pack a GRAM reply message. The globus_gram_protocol_pack_job_request_reply() function combines its
       parameters into a GRAM reply message body. The caller may frame and send the resulting message by calling
       globus_gram_protocol_reply() or just frame it by calling globus_gram_protocol_frame_reply() and send it
       by some other mechanism. The globus_gram_protocol_pack_job_request_reply() function returns the packed
       message by modifying the reply parameter to point to a new string containing the message. The caller is
       responsible for freeing that string.

       Parameters
           status The job's failure code if the job failed, or 0, if the job request was processed successfully.
           job_contact A string containing the job contact string. This may be NULL, if the job request was not
           successful.
           reply A pointer which will be set to the packed reply string The caller must free this string by
           calling free().
           replysize A pointer which will be set to the length of the reply string.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_job_request_reply_with_extensions (int status, const char * job_contact,
       globus_hashtable_t * extensions, globus_byte_t ** reply, globus_size_t * replysize)
       Pack a GRAM reply message with extension attributes. The
       globus_gram_protocol_pack_job_request_reply_with_extensions() function combines its parameters into a
       GRAM reply message body. The caller may frame and send the resulting message by calling
       globus_gram_protocol_reply() or just frame it by calling globus_gram_protocol_frame_reply() and send it
       by some other mechanism. The globus_gram_protocol_pack_job_request_reply_with_extensions() function
       returns the packed message by modifying the reply parameter to point to a new string containing the
       message. The caller is responsible for freeing that string.

       Parameters
           status The job's failure code if the job failed, or 0, if the job request was processed successfully.
           job_contact A string containing the job contact string. This may be NULL, if the job request was not
           successful.
           extensions A pointer to a hash table keyed on a string attribute name with the hash values being
           pointers to globus_gram_protocol_extension_t structures. These will be encoded in the reply message
           after the standard attributes.
           reply A pointer which will be set to the packed reply string The caller must free this string by
           calling free().
           replysize A pointer which will be set to the length of the reply string.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_status_reply (int job_status, int failure_code, int job_failure_code,
       globus_byte_t ** reply, globus_size_t * replysize)
       Pack a GRAM query reply message. The globus_gram_protocol_pack_status_reply() function combines its
       parameters into a GRAM status reply message body. The caller may frame and send the resulting message by
       calling globus_gram_protocol_reply() or just frame it by calling globus_gram_protocol_frame_reply() and
       send it by some other mechanism. The globus_gram_protocol_pack_status_reply() function returns the packed
       message by modifying the reply parameter to point to a new string containing the message. The caller is
       responsible for freeing that string.

       Parameters
           job_status The job's current job state.
           failure_code The error code generated by the query. This may be GLOBUS_SUCCESS if the query
           succeeded.
           job_failure_code The error code associated with the job if it has failed. This may be GLOBUS_SUCCESS
           if the job has not failed.
           reply An output parameter which will be set to a new string containing the packed reply message.
           replysize An output parameter which will be set to the length of the reply message returned in reply.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_status_reply_with_extensions (int job_status, int failure_code, int
       job_failure_code, globus_hashtable_t * extensions, globus_byte_t ** reply, globus_size_t * replysize)
       Pack a GRAM query reply message with extensions. The
       globus_gram_protocol_pack_status_reply_with_extensions() function combines its parameters into a GRAM
       status reply message body. The caller may frame and send the resulting message by calling
       globus_gram_protocol_reply() or just frame it by calling globus_gram_protocol_frame_reply() and send it
       by some other mechanism. The globus_gram_protocol_pack_status_reply_with_extensions() function returns
       the packed message by modifying the reply parameter to point to a new string containing the message. The
       caller is responsible for freeing that string.

       Parameters
           job_status The job's current job state.
           failure_code The error code generated by the query. This may be GLOBUS_SUCCESS if the query
           succeeded.
           job_failure_code The error code associated with the job if it has failed. This may be GLOBUS_SUCCESS
           if the job has not failed.
           extensions A pointer to a hash table containing the names and values of the protocol extensions to
           add to this message.
           reply An output parameter which will be set to a new string containing the packed reply message.
           replysize An output parameter which will be set to the length of the reply message returned in reply.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_status_request (const char * status_request, globus_byte_t ** query,
       globus_size_t * querysize)
       Pack a GRAM query message. The globus_gram_protocol_pack_status_request() function combines its
       parameters into a GRAM status query message body. The caller may frame and send the resulting message by
       calling globus_gram_protocol_post() or just frame it by calling globus_gram_protocol_frame_request() and
       send it by some other mechanism. The globus_gram_protocol_pack_status_request() function returns the
       packed message by modifying the query parameter to point to a new string containing the message. The
       caller is responsible for freeing that string.

       Parameters
           status_request A string containing the type of query message to send, including any query parameters.
           The valid strings supported by GRAM in GT5 are:

           • status

           • register

           • unregister

           • signal

           • renew

           • cancel

           query An output parameter which will be set to a new string containing the packed job query message.
           querysize  An  output  parameter which will be set to the length of the job query message returned in
           query.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Out of memory

   int  globus_gram_protocol_pack_status_update_message  (char  *  job_contact,  int  status,  int failure_code,
       globus_byte_t ** reply, globus_size_t * replysize)
       Pack  a  GRAM  status  update  message.  The  globus_gram_protocol_pack_status_update_message()  function
       combines  its  parameters  into  a  GRAM  status  update  message body. The caller may frame and send the
       resulting   message   by   calling   globus_gram_protocol_post()   or   just   frame   it   by    calling
       globus_gram_protocol_frame_request()     and     send     it     by    some    other    mechanism.    The
       globus_gram_protocol_pack_status_update_message() function returns the packed message  by  modifying  the
       reply  parameter  to  point to a new string containing the message. The caller is responsible for freeing
       that string.

       Parameters
           job_contact The job contact string associated with the job.
           status The job's current job state.
           failure_code  The   error   associated   with   this   job   request   if   the   status   value   is
           GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED.
           reply An output parameter which will be set to a new string containing the packed status message. The
           caller must free this memory by calling free()
           replysize  An  output  parameter  which  will  be set to the length of the status message returned in
           reply.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_status_update_message_with_extensions (char  *  job_contact,  int  status,  int
       failure_code, globus_hashtable_t * extensions, globus_byte_t ** reply, globus_size_t * replysize)
       Pack        a        GRAM        status       update       message       with       extensions.       The
       globus_gram_protocol_pack_status_update_message_with_extensions() function combines its parameters into a
       GRAM status update message body. The  caller  may  frame  and  send  the  resulting  message  by  calling
       globus_gram_protocol_post()  or just frame it by calling globus_gram_protocol_frame_request() and send it
       by some other mechanism. The  globus_gram_protocol_pack_status_update_message_with_extensions()  function
       returns  the  packed  message  by  modifying  the reply parameter to point to a new string containing the
       message. The caller is responsible for freeing that string.

       Parameters
           job_contact The job contact string associated with the job.
           status The job's current job state.
           failure_code  The   error   associated   with   this   job   request   if   the   status   value   is
           GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED.
           extensions  A  pointer  to  a  hash  table  keyed  by extension attribute names with the values being
           pointers to globus_gram_protocol_extension_t structures.
           reply An output parameter which will be set to a new string containing the packed status message. The
           caller must free this memory by calling free()
           replysize An output parameter which will be set to the length  of  the  status  message  returned  in
           reply.

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

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory

   int globus_gram_protocol_pack_version_request (char ** request, size_t * requestsize)
       Pack a GRAM version request message. The globus_gram_protocol_pack_job_request() function creates a  copy
       of  the  GRAM  version  request.  The  caller  may  frame  and  send  the  resulting  message  by calling
       globus_gram_protocol_post() or just frame it by calling globus_gram_protocol_frame_request() and send  it
       by  some  other  mechanism.  The  globus_gram_protocol_pack_version_request() function returns the packed
       message by modifying the request parameter to point to a new string containing the message. The caller is
       responsible for freeing that string.

       Parameters
           request An output parameter which will be set to a new string containing the packed  version  request
           message. The caller must free this memory by calling free().
           requestsize  An  output  parameter  which  will  be  populated with the length of the version request
           message returned in query.

       Returns
           Upon success, globus_gram_protocol_pack_job_request() returns GLOBUS_SUCCESS and modifies the request
           and  requestsize  parameters  to  point  to  the  values  described  above.  If  an   error   occurs,
           globus_gram_protocol_pack_version_request()  returns  an integer error code and the values pointed to
           by request and requestsize are undefined.

       Return values
           GLOBUS_SUCCESS Success
           GLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETER Null parameter
           GLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILED Out of memory

Author

       Generated automatically by Doxygen for globus_gram_protocol from the source code.

globus_gram_protocol                              Version 13.6                      globus_gram_protocol_pack(3)