---
name: "globus_rls_client_rli_operation"
section: "3"
platform: "linux"
package: "libglobus-rls-client-doc"
version: "5.2-8"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_rls_client_rli_operation"
---

# globus\_rls\_client\_rli\_operation(3)

## NAME

RLI Operations -

### Data Structures

struct **globus\_rls\_sender\_info\_t**\
 *Information about server sending updates to an rli, returned by* **globus\_rls\_client\_rli\_sender\_list()***.*

### Functions

globus\_result\_t **globus\_rls\_client\_rli\_exists** (**globus\_rls\_handle\_t** \*h, char \*key, **globus\_rls\_obj\_type\_t** objtype)\
 globus\_result\_t **globus\_rls\_client\_rli\_exists\_bulk** (**globus\_rls\_handle\_t** \*h, globus\_list\_t \*keylist, **globus\_rls\_obj\_type\_t** objtype, globus\_list\_t \*\*str2bulk\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_get\_lrc** (**globus\_rls\_handle\_t** \*h, char \*lfn, int \*offset, int reslimit, globus\_list\_t \*\*str2\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_get\_lrc\_bulk** (**globus\_rls\_handle\_t** \*h, globus\_list\_t \*lfnlist, globus\_list\_t \*\*str2bulk\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_get\_lrc\_wc** (**globus\_rls\_handle\_t** \*h, char \*lfn\_pattern, **globus\_rls\_pattern\_t** type, int \*offset, int reslimit, globus\_list\_t \*\*str2\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_sender\_list** (**globus\_rls\_handle\_t** \*h, globus\_list\_t \*\*senderinfo\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_lrc\_list** (**globus\_rls\_handle\_t** \*h, globus\_list\_t \*\*lrcinfo\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_mapping\_exists** (**globus\_rls\_handle\_t** \*h, char \*lfn, char \*lrc)\
 globus\_result\_t **globus\_rls\_client\_rli\_rli\_add** (**globus\_rls\_handle\_t** \*h, char \*rli\_url, char \*pattern)\
 globus\_result\_t **globus\_rls\_client\_rli\_rli\_delete** (**globus\_rls\_handle\_t** \*h, char \*rli\_url, char \*pattern)\
 globus\_result\_t **globus\_rls\_client\_rli\_rli\_get\_part** (**globus\_rls\_handle\_t** \*h, char \*rli\_url, char \*pattern, globus\_list\_t \*\*str2\_list)\
 globus\_result\_t **globus\_rls\_client\_rli\_rli\_list** (**globus\_rls\_handle\_t** \*h, globus\_list\_t \*\*rliinfo\_list)\

## Detailed Description

Functions to view and update data managed by a RLI server.

## Function Documentation

### globus\_result\_t globus\_rls\_client\_rli\_exists (globus\_rls\_handle\_t \*h, char \*key, globus\_rls\_obj\_type\_tobjtype)

Check if an object exists in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *key* LFN or LRC that identifies object.\
 *objtype* Type of object *key* refers to (**globus\_rls\_obj\_rli\_lfn** or **globus\_rls\_obj\_rli\_lrc**).

**Return values:**

*GLOBUS\_SUCCESS* Object exists.

### globus\_result\_t globus\_rls\_client\_rli\_exists\_bulk (globus\_rls\_handle\_t \*h, globus\_list\_t \*keylist, globus\_rls\_obj\_type\_tobjtype, globus\_list\_t \*\*str2bulk\_list)

Bulk check if objects exist in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *keylist* LFNs or LRCs that identify objects.\
 *objtype* Type of object *key* refers to (**globus\_rls\_obj\_rli\_lfn** or **globus\_rls\_obj\_rli\_lrc**).\
 *str2bulk\_list* Results of existence check. Each list datum will be a **globus\_rls\_string2\_bulk\_t** structure. **str2.s1** will be the LFN or LRC, and **str2.s2** empty, and **rc** will be the result code indicating existence.

### globus\_result\_t globus\_rls\_client\_rli\_get\_lrc (globus\_rls\_handle\_t \*h, char \*lfn, int \*offset, intreslimit, globus\_list\_t \*\*str2\_list)

Return LRCs mapped to LFN in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *lfn* LFN whose list of LRCs is desired.\
 *offset* Offset into result list. Used in conjunction with *reslimit* to retrieve results a few at a time. Use 0 to begin with first result.\
 *reslimit* Maximum number of results to return. Used in conjunction with *offset* to retrieve results a few at a time. Use 0 to retrieve all results.\
 *str2\_list* List of LRCs that *lfn* maps to. Each list datum will be a **globus\_rls\_string2\_t** structure. **s1** will be the LFN, and **s2** the LRC it maps to. *str2\_list* should be freed with **globus\_rls\_client\_free\_list()**.

**Return values:**

*GLOBUS\_SUCCESS* List of LRCs that map to *lfn* in *str2\_list*. See **Query Results**.

### globus\_result\_t globus\_rls\_client\_rli\_get\_lrc\_bulk (globus\_rls\_handle\_t \*h, globus\_list\_t \*lfnlist, globus\_list\_t \*\*str2bulk\_list)

Bulk return LRCs mapped to LFN in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *lfnlist* LFNs to search for.\
 *str2bulk\_list* Results of queries. Each list datum will be a **globus\_rls\_string2\_bulk\_t** structure. **str2.s1** will be the LFN, and **str2.s2** the LRC it maps to, and **rc** will be the result code from the query.

### globus\_result\_t globus\_rls\_client\_rli\_get\_lrc\_wc (globus\_rls\_handle\_t \*h, char \*lfn\_pattern, globus\_rls\_pattern\_ttype, int \*offset, intreslimit, globus\_list\_t \*\*str2\_list)

Return LRCs mapped to wildcarded LFN in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *lfn\_pattern* LFN pattern to search for.\
 *type* Identifies wildcard characters used in *lfn\_pattern*. Wildcard chars can be Unix file globbing chars (\* matches 0 or more characters, ? matches any single character) or SQL 'like' wildcard characters (% matches 0 or more charactes, \_ matches any single character).\
 *offset* Offset into result list. Used in conjunction with *reslimit* to retrieve results a few at a time. Use 0 to begin with first result.\
 *reslimit* Maximum number of results to return. Used in conjunction with *offset* to retrieve results a few at a time. Use 0 to retrieve all results.\
 *str2\_list* List of LRCs that map to *lfn\_pattern*. Each list datum will be a **globus\_rls\_string2\_t**. **s1** will be the LFN, and **s2** the LRC it maps to. *str2\_list* should be freed with **globus\_rls\_client\_free\_list()**.

**Return values:**

*GLOBUS\_SUCCESS* List of LRCs that map to *lfn\_pattern* in *str2\_list*. See **Query Results**.

### globus\_result\_t globus\_rls\_client\_rli\_sender\_list (globus\_rls\_handle\_t \*h, globus\_list\_t \*\*senderinfo\_list)

Get list of servers updating this RLI server. Similar to globus\_rls\_client\_rli\_get\_part() except no partition information is returned.

**Parameters:**

*h* Handle connected to an RLS server.\
 *senderinfo\_list* Datums in senderinfo\_list will be of type **globus\_rls\_sender\_info\_t**. *senderinfo\_list* should be freed with **globus\_rls\_client\_free\_list()**.

**Return values:**

*GLOBUS\_SUCCESS* List of LRCs updating RLI added to *senderinfo\_list*.

### globus\_result\_t globus\_rls\_client\_rli\_lrc\_list (globus\_rls\_handle\_t \*h, globus\_list\_t \*\*lrcinfo\_list)

Deprecated, use **globus\_rls\_client\_rli\_sender\_list()**. **Parameters:**

*h* Handle connected to an RLS server.\
 *lrcinfo\_list* Datums in lrcinfo\_list will be of type globus\_rls\_lrc\_info\_t. *lrcinfo\_list* should be freed with **globus\_rls\_client\_free\_list()**.

**Return values:**

*GLOBUS\_SUCCESS* List of LRCs updating RLI added to *lrcinfo\_list*.

### globus\_result\_t globus\_rls\_client\_rli\_mapping\_exists (globus\_rls\_handle\_t \*h, char \*lfn, char \*lrc)

Check if a mapping exists in the RLI database. **Parameters:**

*h* Handle connected to an RLS server.\
 *lfn* LFN of mapping.\
 *lrc* LRC of mapping.

**Return values:**

*GLOBUS\_SUCCESS* Mapping exists.

### globus\_result\_t globus\_rls\_client\_rli\_rli\_add (globus\_rls\_handle\_t \*h, char \*rli\_url, char \*pattern)

RLI servers send information about LFNs in their database to the the list of RLI servers in the database, added with the following function. Updates may be partitioned amongst multiple RLIs by specifying one or more patterns for an RLI.

**Parameters:**

*h* Handle connected to an RLS server.\
 *rli\_url* URL of RLI server that LRC should send updates to.\
 *pattern* If not NULL used to filter which LFNs are sent to *rli\_url*. Standard Unix wildcard characters (\*, ?) may be used to do wildcard matches.

**Return values:**

*GLOBUS\_SUCCESS* RLI (with pattern if not NULL) added to RLI database.

### globus\_result\_t globus\_rls\_client\_rli\_rli\_delete (globus\_rls\_handle\_t \*h, char \*rli\_url, char \*pattern)

Delete an entry from the RLI rli/partition tables. **Parameters:**

*h* Handle connected to an RLS server.\
 *rli\_url* URL of RLI server to remove from RLI partition table.\
 *pattern* If not NULL then only the specific *rli\_url/pattern* is removed, else all partition information for *rli\_url* is removed.

**Return values:**

*GLOBUS\_SUCCESS* RLI and pattern (if specified) removed from LRC partition table.

### globus\_result\_t globus\_rls\_client\_rli\_rli\_get\_part (globus\_rls\_handle\_t \*h, char \*rli\_url, char \*pattern, globus\_list\_t \*\*str2\_list)

Get RLI update partitions from RLI server. **Parameters:**

*h* Handle connected to an RLS server.\
 *rli\_url* If not NULL identifies RLI that partition data will be retrieved for. If NULL then all RLIs are retrieved.\
 *pattern* If not NULL returns only partitions with matching patterns, otherwise all patterns are retrieved.\
 *str2\_list* Results added to list. Datums in *str2\_list* are of type **globus\_rls\_string2\_t** structure. **s1** will be the rli url, **s2** an empty string or the pattern used to partition updates. See **Query Results**.

**Return values:**

*GLOBUS\_SUCCESS* Partition data retrieved from server, written to *str2\_list*.

### globus\_result\_t globus\_rls\_client\_rli\_rli\_list (globus\_rls\_handle\_t \*h, globus\_list\_t \*\*rliinfo\_list)

Return URLs of RLIs that RLI sends updates to. **Parameters:**

*h* Handle connected to an RLS server.\
 *rliinfo\_list* List of RLIs updated by this RLI returned in this list. Each list datum is of type **globus\_rls\_rli\_info\_t**. *rliinfo\_list* should be freed with **globus\_rls\_client\_free\_list()** when no longer needed.

**Return values:**

*GLOBUS\_SUCCESS* List of RLIs updated by this LRC returned in *rliinfo\_list*.

## Author

Generated automatically by Doxygen for globus rls client from the source code.
