---
name: "globus_gass_cache.h"
section: "3"
platform: "linux"
package: "libglobus-gass-cache-doc"
version: "10.3-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gass_cache.h"
---

# globus\_gass\_cache.h(3)

GASS Cache API.

## NAME

globus\_gass\_cache.h - GASS Cache API.

## SYNOPSIS

`#include 'globus_common.h'`\
 `#include <sys/param.h>`\

### Macros

\#define **GLOBUS\_GASS\_CACHE\_MODULE**   (&globus\_i\_gass\_cache\_module)\
 module\_descriptor

### Typedefs

typedef struct globus\_i\_gass\_cache\_t \* **globus\_gass\_cache\_t**\
 GASS Cache Handle.

### Functions

int **globus\_gass\_cache\_open** (const char \*cache\_directory\_path, **globus\_gass\_cache\_t** \*cache\_handle)\
 Open a GASS Cache.  int **globus\_gass\_cache\_close** (**globus\_gass\_cache\_t** \*cache\_handle)\
 Close a cache handle.  int **globus\_gass\_cache\_add** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, globus\_bool\_t create, unsigned long \*timestamp, char \*\*local\_filename)\
 Add a tag to an URL in the cache.  int **globus\_gass\_cache\_add\_done** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, unsigned long timestamp)\
 Complete adding a cache entry and unlock it.  int **globus\_gass\_cache\_query** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, globus\_bool\_t wait\_for\_lock, unsigned long \*timestamp, char \*\*local\_filename, globus\_bool\_t \*is\_locked)\
 Query the GASS Cache.  int **globus\_gass\_cache\_delete\_start** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, unsigned long \*timestamp)\
 Remove a cache tag.  int **globus\_gass\_cache\_delete** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, unsigned long timestamp, globus\_bool\_t is\_locked)\
 Remove one instance of the tag from the cache entry's tag list.  int **globus\_gass\_cache\_cleanup\_tag** (**globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag)\
 Remove a tag from a cache entry.  int **globus\_gass\_cache\_cleanup\_tag\_all** (**globus\_gass\_cache\_t** cache\_handle, char \*tag)\
 Remove a tag from all cache entries

Remove all instances of the tag from the cache entry's tag list. If there are no more tags in the tag list, then remove this cache entry and delete the associated local cache file. If the cache entry is locked with the same tag as is passed to this function, then the entry is unlocked after removing the tags. Otherwise, the cache entry's lock is left untouched. " int **globus\_gass\_cache\_mangle\_url** (const **globus\_gass\_cache\_t** cache\_handle, const char \*url, char \*\*mangled\_url, int \*length)\
 Convert a URL to a string suitable as a file path.  int **globus\_gass\_cache\_mangle\_tag** (const **globus\_gass\_cache\_t** cache\_handle, const char \*tag, char \*\*mangled\_tag, int \*length)\
 Convert a tag to a string suitable as a file path.  int **globus\_gass\_cache\_get\_dirs** (const **globus\_gass\_cache\_t** cache\_handle, const char \*url, const char \*tag, char \*\*global\_root, char \*\*local\_root, char \*\*tmp\_root, char \*\*log\_root, char \*\*global\_dir, char \*\*local\_dir)\
 Get the set of directories used by a GASS Cache.  int **globus\_gass\_cache\_get\_cache\_dir** (const **globus\_gass\_cache\_t** cache\_handle, char \*\*cache\_dir)\
 Get the GASS Cache's root directory.  int **globus\_gass\_cache\_get\_cache\_type\_string** (const **globus\_gass\_cache\_t** cache\_handle, char \*\*cache\_type)\
 Get the type of GASS Cache directory layout.  const char \* **globus\_gass\_cache\_error\_string** (int error\_code)\
 Look up the error string corresponding to a GASS Cache error.

## Detailed Description

GASS Cache API.

## Author

Generated automatically by Doxygen for globus\_gass\_cache from the source code.
