---
name: "globus_rls_client_miscellaneous"
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_miscellaneous"
---

# globus\_rls\_client\_miscellaneous(3)

## NAME

Miscellaneous -

### Data Structures

struct **globus\_rls\_attribute\_t**\
 *Object (LFN or PFN) attribute type.*  struct **globus\_rls\_stats\_t**\
 *Various configuration options and statistics about an RLS server returned in the following structures by* **globus\_rls\_client\_stats()***.*

### Defines

\#define **RLS\_LRCSERVER**   0x1\
 \#define **RLS\_RLISERVER**   0x2\
 \#define **RLS\_RCVLFNLIST**   0x4\
 \#define **RLS\_RCVBLOOMFILTER**   0x8\
 \#define **RLS\_SNDLFNLIST**   0x10\
 \#define **RLS\_SNDBLOOMFILTER**   0x20\
 \#define **RLS\_INITIALIZED**   0x40\

### Enumerations

enum **globus\_rls\_pattern\_t** { **rls\_pattern\_unix**, **rls\_pattern\_sql** }\
 enum **globus\_rls\_attr\_type\_t** { **globus\_rls\_attr\_type\_date**, **globus\_rls\_attr\_type\_flt**, **globus\_rls\_attr\_type\_int**, **globus\_rls\_attr\_type\_str** }\
 enum **globus\_rls\_obj\_type\_t** { **globus\_rls\_obj\_lrc\_lfn**, **globus\_rls\_obj\_lrc\_pfn**, **globus\_rls\_obj\_rli\_lfn**, **globus\_rls\_obj\_rli\_lrc** }\
 enum **globus\_rls\_attr\_op\_t** { **globus\_rls\_attr\_op\_all**, **globus\_rls\_attr\_op\_eq**, **globus\_rls\_attr\_op\_ne**, **globus\_rls\_attr\_op\_gt**, **globus\_rls\_attr\_op\_ge**, **globus\_rls\_attr\_op\_lt**, **globus\_rls\_attr\_op\_le**, **globus\_rls\_attr\_op\_btw**, **globus\_rls\_attr\_op\_like** }\
 enum **globus\_rls\_admin\_cmd\_t** { **globus\_rls\_admin\_cmd\_ping**, **globus\_rls\_admin\_cmd\_quit**, **globus\_rls\_admin\_cmd\_ssu** }\

### Functions

globus\_result\_t **globus\_rls\_client\_admin** (**globus\_rls\_handle\_t** \*h, **globus\_rls\_admin\_cmd\_t** cmd)\
 globus\_result\_t **globus\_rls\_client\_get\_configuration** (**globus\_rls\_handle\_t** \*h, char \*option, globus\_list\_t \*\*conf\_list)\
 globus\_result\_t **globus\_rls\_client\_set\_configuration** (**globus\_rls\_handle\_t** \*h, char \*option, char \*value)\
 globus\_result\_t **globus\_rls\_client\_stats** (**globus\_rls\_handle\_t** \*h, **globus\_rls\_stats\_t** \*rlsstats)\
 char \* **globus\_rls\_client\_attr2s** (**globus\_rls\_attribute\_t** \*attr, char \*buf, int buflen)\
 globus\_result\_t **globus\_rls\_client\_s2attr** (**globus\_rls\_attr\_type\_t** type, char \*sval, **globus\_rls\_attribute\_t** \*attr)\
 globus\_result\_t **globus\_rls\_client\_error\_info** (globus\_result\_t r, int \*rc, char \*buf, int buflen, globus\_bool\_t preserve)\
 int **globus\_list\_len** (globus\_list\_t \*len)\
 char \* **globus\_rls\_errmsg** (int rc, char \*specificmsg, char \*buf, int buflen)\

## Detailed Description

Miscellaneous functions and types.

## Define Documentation

### #define RLS\_LRCSERVER 0x1

Server is LRC server.

### #define RLS\_RLISERVER 0x2

Server is RLI server.

### #define RLS\_RCVLFNLIST 0x4

RLI accepts LFN list updates.

### #define RLS\_RCVBLOOMFILTER 0x8

RLI accepts Bloom filter updates.

### #define RLS\_SNDLFNLIST 0x10

LRC sends LFN list updates.

### #define RLS\_SNDBLOOMFILTER 0x20

LRC sends Bloom filter updates.

### #define RLS\_INITIALIZED 0x40

RLC is fully initialized.

## Enumeration Type Documentation

### enum globus\_rls\_pattern\_t

Wildcard character style.

**Enumerator:**

- *rls\_pattern\_unix*

  *Unix file globbing chars (\*, ?)*

- *rls\_pattern\_sql*

  *SQL 'like' wildcards (%, \_)*

### enum globus\_rls\_attr\_type\_t

*Attribute Value Types.*

**Enumerator:**

- *globus\_rls\_attr\_type\_date*

  *Date (time\_t).*

- *globus\_rls\_attr\_type\_flt*

  *Floating point (double).*

- *globus\_rls\_attr\_type\_int*

  *Integer (int).*

- *globus\_rls\_attr\_type\_str*

  *String (char \*).*

### enum globus\_rls\_obj\_type\_t

*Object types in LRC and RLI databases.*

**Enumerator:**

- *globus\_rls\_obj\_lrc\_lfn*

  *LRC Logical File Name.*

- *globus\_rls\_obj\_lrc\_pfn*

  *LRC Physical File Name.*

- *globus\_rls\_obj\_rli\_lfn*

  *RLI Logical File Name.*

- *globus\_rls\_obj\_rli\_lrc*

  *RLI LRC URL.*

### enum globus\_rls\_attr\_op\_t

*Attribute Value Query Operators.*

**Enumerator:**

- *globus\_rls\_attr\_op\_all*

  *All values returned.*

- *globus\_rls\_attr\_op\_eq*

  *Values matching operand 1 returned.*

- *globus\_rls\_attr\_op\_ne*

  *Values not matching operand 1.*

- *globus\_rls\_attr\_op\_gt*

  *Values greater than operand 1.*

- *globus\_rls\_attr\_op\_ge*

  *Values greater than or equal to op1.*

- *globus\_rls\_attr\_op\_lt*

  *Values less than operand 1.*

- *globus\_rls\_attr\_op\_le*

  *Values less than or equal to op1.*

- *globus\_rls\_attr\_op\_btw*

  *Values between operand1 and 2.*

- *globus\_rls\_attr\_op\_like*

  *Strings 'like' operand1 (SQL like)*

### enum globus\_rls\_admin\_cmd\_t

**globus\_rls\_client\_admin()** *commands.*

**Enumerator:**

- *globus\_rls\_admin\_cmd\_ping*

  *Verify RLS server responding.*

- *globus\_rls\_admin\_cmd\_quit*

  *Tell RLS server to exit.*

- *globus\_rls\_admin\_cmd\_ssu*

  *Tell LRC server to do softstate update.*

## Function Documentation

### globus\_result\_t globus\_rls\_client\_admin (globus\_rls\_handle\_t \*h, globus\_rls\_admin\_cmd\_tcmd)

*Miscellaneous administrative operations. Most operations require the admin privilege.*

**Parameters:**

*h Handle connected to RLS server.*\
 *cmd Command to be sent to RLS server.*

**Return values:**

*GLOBUS\_SUCCESS Command succeeded.*

### globus\_result\_t globus\_rls\_client\_get\_configuration (globus\_rls\_handle\_t \*h, char \*option, globus\_list\_t \*\*conf\_list)

*Get server configuration. Client needs admin privilege.*

**Parameters:**

*h Handle connected to RLS server.*\
 *option Configuration option to get. If NULL all options are retrieved.*

**Return values:**

*conf\_list List of configuration options.*\
 *GLOBUS\_SUCCESS List of retrieved config options returned in conf\_list, each datum is of type* **globus\_rls\_string2\_t***. conf\_list should be freed with* **globus\_rls\_client\_free\_list()***. There may be multiple 'acl' entries in the list, since the access control list can include more than one entry. Each acl configuration value is consists of a regular expression (matched against grid-mapfile users or DNs), a colon, and space separated list of permissions the matching users are granted.*

### globus\_result\_t globus\_rls\_client\_set\_configuration (globus\_rls\_handle\_t \*h, char \*option, char \*value)

*Set server configuration option. Client needs admin privilege.*

**Parameters:**

*h Handle connected to RLS server.*\
 *option Configuration option to set.*\
 *value New value for option.*

**Return values:**

*GLOBUS\_SUCCESS Option set on server.*

### globus\_result\_t globus\_rls\_client\_stats (globus\_rls\_handle\_t \*h, globus\_rls\_stats\_t \*rlsstats)

*Retrieve various statistics from RLS server. Requires stats privilege.*

**Parameters:**

*h Handle connected to RLS server.*\
 *rlsstats Stats returned here.*

**Return values:**

*GLOBUS\_SUCCESS Stats returned in rlsstats.*

### char\* globus\_rls\_client\_attr2s (globus\_rls\_attribute\_t \*attr, char \*buf, intbuflen)

*Map attribute value to string.* **Parameters:**

*attr Attribute to convert. If attr-\>type is* **globus\_rls\_attr\_type\_date** *then the resulting string will be in the format MySQL uses by default, which is YYYYMMDDHHMMSS.*\
 *buf Buffer to write string value to. Note if attr-\>type is* **globus\_rls\_attr\_type\_str** *then attr-\>val.s is returned, and buf is unused.*\
 *buflen Size of buf in bytes.*

**Return values:**

*String Value Attribute value converted to a string.*

### globus\_result\_t globus\_rls\_client\_s2attr (globus\_rls\_attr\_type\_ttype, char \*sval, globus\_rls\_attribute\_t \*attr)

*Set* **globus\_rls\_attribute\_t** *type and val fields from a type and string value.* **Parameters:**

*type Attribute value type.*\
 *sval String value to convert to binary. If type is* **globus\_rls\_attr\_type\_date** *sval should be in the form YYYY-MM-DD HH:MM:SS.*\
 *attr Attribute whose type and val fields are to be set.*

**Return values:**

*GLOBUS\_SUCCESS attr-\>type and attr-\>val successfully set.*

### globus\_result\_t globus\_rls\_client\_error\_info (globus\_result\_tr, int \*rc, char \*buf, intbuflen, globus\_bool\_tpreserve)

*Get error code and message from globus\_result\_t returned by this API.* **Parameters:**

*r Result returned by RLS API function. r is freed by this call and should not be referenced again. If preserve is set then a new globus\_result\_t is constructed with the same values and returned as the function value.*\
 *rc Address to store error code at. If NULL error code is not returned.*\
 *buf Address to store error message at. If NULL error message is not returned.*\
 *preserve If GLOBUS\_TRUE then a new globus\_result\_t is contructed with the same values as the old and returned as the function value.*\
 *buflen Size of buf.*

**Return values:**

*globus\_result\_t If preserve is set a new globus\_result\_t identical to r is returned, otherwise GLOBUS\_SUCCESS.*

### int globus\_list\_len (globus\_list\_t \*len)

*Compute length of list. globus\_list\_size() is implemented using recursion, besides being inefficient it can run out of stack space when the list is large.*

### char\* globus\_rls\_errmsg (intrc, char \*specificmsg, char \*buf, intbuflen)

*Map RLS status code to error string.* **Parameters:**

*rc Status code.*\
 *specificmsg If not NULL prepended (with a colon) to error string.*\
 *buf Buffer to write error message to.*\
 *buflen Length of buf. Message will be truncated to fit if too long.*

**Return values:**

*char \* Returns buf, error message written to buf.*

## Author

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