globus_gram_client(3)

πŸ’– globus_gram_client β€” the GRAM Client API πŸ’–

okay so bestie, sit down, hydrate, because we're reading globus_gram_client(3) from the Library Functions Manual and it's genuinely giving library-core. This is the GRAM Client API β€” the whole thing β€” and I'm gonna walk you through every single function like we're doing each other's nails. no skimming, no skipping. periodt. πŸ’…


✨ NAME ✨

globus_gram_client β€” GRAM Client API

- GRAM Client API. yeah that's it. that's the vibe. πŸ¦‹


🌈 SYNOPSIS 🌈

πŸŽ€ Topics πŸŽ€

the little themed friend-groups this API rolls with:

  • Job state callbacks β€” Job state callbacks.
  • GRAM Job Functions β€” GRAM Job Functions.
  • GRAM Client Attribute Functions β€” GRAM Client Attribute Functions.

🧚 Functions 🧚

here's the whole roster, no one left out, every signature copied exactly because we do NOT freestyle signatures in this house:

  • void globus_gram_client_debug (void) β€” Enable GRAM debugging.
  • 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.
  • const char * globus_gram_client_error_string (int error_code) β€” Get a description of a a GRAM error code.
  • int globus_gram_client_job_contact_free (char *job_contact) β€” Free a job contact string.
  • 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. iconic. showstopping. never been done before.

so the resource management API? it gives you functions for asking that a job be started or terminated, and also for asking for information about the status of a job. that's the whole deal. that's the assignment. 🫢


πŸ‘‘ Function Documentation πŸ‘‘

πŸ’œ void globus_gram_client_debug (void )

Enable GRAM debugging. πŸ›βœ¨

the globus_gram_client_debug() function turns on the displaying of internal GRAM debug messages to standard output. most of the info this debugging system prints is about errors that happen while GRAM Client API functions are running. and lowkey important: the messages printed to standard output are not structured in any way. it's giving raw. it's giving unfiltered. it's giving printf-core. πŸ’€


πŸ’œ const char * globus_gram_client_error_string (int error_code)

Get a description of a a GRAM error code. πŸ”

the globus_gram_client_error_string() function takes a GRAM error code value and hands you back the associated error code string. that string is statically allocated by the Globus GRAM Client library, so bestie β€” do not modify it, do not free it. it is not yours, it's the library's, and it's staying. πŸ™ˆ

the string is meant to complete a sentence of the form:

[operation] failed because ...

Parameters

  • error_code β€” The error code to translate into a string.

Returns

the globus_gram_client_error_string() function returns a static string containing an explanation of the error. πŸŽ€


πŸ’œ int globus_gram_client_job_contact_free (char * job_contact)

Free a job contact string. 🧹

the globus_gram_client_job_contact_free() function frees a job contact string that was allocated by a call to one of the functions in the globus_gram_client_job_request() family. and ngl, the free() function can be used in place of this function β€” so if that's your moment, live your truth. ✨

⚠️ after this function returns, the string pointed to by the job_contact parameter has an undefined value. do not go looking at it afterwards, it's gone, it's in the group chat archive, let it rest. πŸ’€

Parameters

  • job_contact β€” Pointer to a job contact string returned by a GRAM client API function.

Returns

this function always returns GLOBUS_SUCCESS. always. no exceptions, no drama.

Return values

  • GLOBUS_SUCCESS β€” Success

πŸ’œ 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. 🫧

the globus_gram_client_job_info_destroy() function frees data pointed to by the extensions and job_contact fields of the globus_gram_client_job_info_t structure pointed to by the info parameter. clean up your room, bestie, it's called self-care. πŸ’…

Parameters

  • info β€” A structure containing data to free.

πŸ’œ int globus_gram_client_set_credentials (gss_cred_id_t new_credentials)

Set the default GRAM credential. πŸ”

the globus_gram_client_set_credentials() function makes subsequent GRAM operations use the GSSAPI credential new_credentials. and which operations are we talking about, exactly? job requests, job signals, callback registration, and job state callbacks. the whole squad. πŸ‘‘

⚠️ after this function returns, the caller must not use the credential, because it may be freed by GRAM when it is no longer needed. so like… hand it over and let go. it's not yours anymore. 🫢

Parameters

  • new_credentials β€” New GSSAPI credential to use.

Returns

upon success, globus_gram_client_set_credentials() returns GLOBUS_SUCCESS. there are no error values returned by this fucntion. (that's the original's spelling, not mine, but the energy is: it just works or it just… works.) 😭

Return values

  • GLOBUS_SUCCESS β€” Success

πŸ’œ int globus_gram_client_version (void )

Return GRAM protocol version. πŸ”’

the globus_gram_client_version() function returns the version of the GRAM protocol understood by this implementation. vibe check: which protocol revision are we speaking? this function knows.

Returns

the integer protocol revision. ⭐


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for globus_gram_client from the source code. not a human, not a girlie, just a doc generator doing its little thing. πŸŽ€


and that's the whole page, bestie, every flag, every param, every return value, every warning β€” nothing dropped. πŸ’–

sign-off time: this was globus_gram_client, Version 14.7, living in section 3 of the manual (that's globus_gram_client(3) for the girlies keeping score). mwah. slay. go free your strings. πŸ’…βœ¨πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from