---
name: "globus_gass_transfer_requestattr_get_file_mode"
section: "3"
platform: "linux"
package: "libglobus-gass-transfer-doc"
version: "8.10-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gass_transfer_requestattr"
---

# globus\_gass\_transfer\_requestattr\_get\_file\_mode(3)

Request Attributes

Part of [globus\_gass\_transfer\_requestattr(3)](/globus_gass_transfer_requestattr/3.md).

## NAME

globus\_gass\_transfer\_requestattr - Request Attributes

### Functions

int **globus\_gass\_transfer\_requestattr\_init** (globus\_gass\_transfer\_requestattr\_t \*attr, char \*url\_scheme)\
 int **globus\_gass\_transfer\_requestattr\_destroy** (globus\_gass\_transfer\_requestattr\_t \*attr)\

### Proxy Server

int **globus\_gass\_transfer\_requestattr\_set\_proxy\_url** (globus\_gass\_transfer\_requestattr\_t \*attr, char \*proxy\_url)\
 int **globus\_gass\_transfer\_requestattr\_get\_proxy\_url** (globus\_gass\_transfer\_requestattr\_t \*attr, char \*\*proxy\_url)\

### Block Size

int **globus\_gass\_transfer\_requestattr\_set\_block\_size** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_size\_t block\_size)\
 int **globus\_gass\_transfer\_requestattr\_get\_block\_size** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_size\_t \*block\_size)\

### File Mode

int **globus\_gass\_transfer\_requestattr\_set\_file\_mode** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_gass\_transfer\_file\_mode\_t file\_mode)\
 int **globus\_gass\_transfer\_requestattr\_get\_file\_mode** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_gass\_transfer\_file\_mode\_t \*file\_mode)\

### Connection Reuse

int **globus\_gass\_transfer\_requestattr\_set\_connection\_reuse** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t connection\_reuse)\
 int **globus\_gass\_transfer\_requestattr\_get\_connection\_reuse** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t \*connection\_reuse)\

### Socket Send Buffer Size

int **globus\_gass\_transfer\_requestattr\_set\_socket\_sndbuf** (globus\_gass\_transfer\_requestattr\_t \*attr, int sndbuf)\
 int **globus\_gass\_transfer\_requestattr\_get\_socket\_sndbuf** (globus\_gass\_transfer\_requestattr\_t \*attr, int \*sndbuf)\

### Receive Socket Buffer

int **globus\_gass\_transfer\_requestattr\_set\_socket\_rcvbuf** (globus\_gass\_transfer\_requestattr\_t \*attr, int rcvbuf)\
 int **globus\_gass\_transfer\_requestattr\_get\_socket\_rcvbuf** (globus\_gass\_transfer\_requestattr\_t \*attr, int \*rcvbuf)\

### TCP Nodelay

int **globus\_gass\_transfer\_requestattr\_set\_socket\_nodelay** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t nodelay)\
 int **globus\_gass\_transfer\_requestattr\_get\_socket\_nodelay** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t \*nodelay)\

### Authorization

int **globus\_gass\_transfer\_secure\_requestattr\_set\_authorization** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_gass\_transfer\_authorization\_t mode, char \*subject)\
 int **globus\_gass\_transfer\_secure\_requestattr\_get\_authorization** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_gass\_transfer\_authorization\_t \*mode, char \*\*subject)\

## Detailed Description

The GASS Transfer library uses Globus objects to provide an extensible way of creating protocol-specific attributes.

## Function Documentation

### int globus\_gass\_transfer\_requestattr\_destroy (globus\_gass\_transfer\_requestattr\_t \* attr)

Destroy a request attribute.

This function destroys the attribute set specified in *attr*.

**Parameters:**

*attr* The attribute set to be destroyed.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully destroyed. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_init (globus\_gass\_transfer\_requestattr\_t \* attr, char \* url\_scheme)

Initialize a request attribute.

This function initializes the *attr* to contain a new protocol-specific request attribute.

**Parameters:**

*attr* The attribute set to be initialized. \
 *url\_scheme* The scheme which which the attribute will be used for.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully initialized. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* Either *attr* or *url\_scheme* was GLOBUS\_NULL. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NOT\_IMPLEMENTED* No protocol module currently registered with GASS Transfer Library handles URLs with the specified *url\_scheme*.

### int globus\_gass\_transfer\_requestattr\_set\_block\_size (globus\_gass\_transfer\_requestattr\_t \* attr, globus\_size\_t block\_size)

Set/Get the block size attribute for a GASS transfer attribute set.

This attribute allows the user to suggest a preferred block size of a server to handle a URL request.

**Parameters:**

*attr* The attribute set to query or modify. \
 *block\_size* The data block size that should be used to process requests with this attribute set.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_connection\_reuse (globus\_gass\_transfer\_requestattr\_t \* attr, globus\_bool\_t connection\_reuse)

Set/Get the connection reuse attribute for a GASS transfer attribute set.

This attribute allows the user to control whether the connection associated with a GASS Transfer request should be reused after the file transfer has completed.

**Parameters:**

*attr* The attribute set to query or modify. \
 *connection\_reuse* The value of the connection reuse attribute.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_file\_mode (globus\_gass\_transfer\_requestattr\_t \* attr, globus\_gass\_transfer\_file\_mode\_t file\_mode)

Set/Get the file mode attribute for a GASS transfer attribute set.

This attribute allows the user to control whether the file will be transferred in ASCII or binary file mode.

**Parameters:**

*attr* The attribute set to query or modify. \
 *file\_mode* The value of the file mode attribute.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_proxy\_url (globus\_gass\_transfer\_requestattr\_t \* attr, char \* proxy\_url)

Set/Get the proxy server attribute for a GASS transfer attribute set.

This attribute allows the user to use a proxy server to handle a URL request.

**Parameters:**

*attr* The attribute set to be modified \
 *proxy\_url* The new value of the proxy\_url attribute. This may be GLOBUS\_NULL if no proxy is to be used to access URLs with this attribute set.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_socket\_nodelay (globus\_gass\_transfer\_requestattr\_t \* attr, globus\_bool\_t nodelay)

Set/Get the TCP nodelay attribute for a GASS transfer attribute set.

This attribute allows the user to control the socket receive buffer associated with a GASS Transfer request should be reused after the file transfer has completed.

**Parameters:**

*attr* The attribute set to query or modify. \
 *nodelay* The value of the nodelay attribute.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_socket\_rcvbuf (globus\_gass\_transfer\_requestattr\_t \* attr, int rcvbuf)

Set/Get the receive buffer size attribute for a GASS transfer attribute set.

This attribute allows the user to control the socket receive buffer associated with a GASS Transfer request should be reused after the file transfer has completed.

**Parameters:**

*attr* The attribute set to query or modify. \
 *rcvbuf* The value of the socket buffer.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_requestattr\_set\_socket\_sndbuf (globus\_gass\_transfer\_requestattr\_t \* attr, int sndbuf)

Set/Get the send buffer size attribute for a GASS transfer attribute set.

This attribute allows the user to control the socket send buffer associated with a GASS Transfer request should be reused after the file transfer has completed.

**Parameters:**

*attr* The attribute set to query or modify. \
 *sndbuf* The value of the socket buffer.

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

### int globus\_gass\_transfer\_secure\_requestattr\_set\_authorization (globus\_gass\_transfer\_requestattr\_t \* attr, globus\_gass\_transfer\_authorization\_t mode, char \* subject)

Set/Get the authorization attribute for a GASS transfer attribute set.

This attribute allows the user to control what type of authorization should be done when GASS Transfer requests are processed.

**Parameters:**

*attr* The attribute set to query or modify. \
 *mode* The authorization mode to use. \
 *subject* The subject name of the authorized subject, if *mode* is GLOBUS\_GASS\_TRANSFER\_AUTHORIZE\_SUBJECT

**Return values:**

*GLOBUS\_SUCCESS* The attribute was successfully updated. \
 *GLOBUS\_GASS\_TRANSFER\_ERROR\_NULL\_POINTER* The *attr* was GLOBUS\_NULL.

## Author

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