---
name: "globus_gass_transfer_requestattr_set_file_mode"
section: "3"
platform: "linux"
package: "libglobus-gass-transfer-doc"
version: "9.4-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gass_transfer_requestattr"
---

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

Request Attributes - Request Attributes.

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

## NAME

globus\_gass\_transfer\_requestattr - Request Attributes

 \- Request Attributes.

## SYNOPSIS

### 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)\

### Block Size

int **globus\_gass\_transfer\_requestattr\_set\_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)\

### Connection Reuse

int **globus\_gass\_transfer\_requestattr\_set\_connection\_reuse** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t connection\_reuse)\
 globus\_object\_t \* **globus\_gass\_transfer\_socket\_requestattr\_initialize** (globus\_object\_t \*obj, char \*proxy\_url, globus\_size\_t block\_size, globus\_gass\_transfer\_file\_mode\_t file\_mode, globus\_bool\_t connection\_reuse, int sndbuf, int rcvbuf, globus\_bool\_t nodelay)\

### Socket Send Buffer Size

int **globus\_gass\_transfer\_requestattr\_set\_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)\

### TCP Nodelay

int **globus\_gass\_transfer\_requestattr\_set\_socket\_nodelay** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_bool\_t nodelay)\
 globus\_object\_t \* **globus\_gass\_transfer\_secure\_requestattr\_initialize** (globus\_object\_t \*obj, char \*proxy\_url, globus\_size\_t block\_size, globus\_gass\_transfer\_file\_mode\_t file\_mode, globus\_bool\_t connection\_reuse, int sndbuf, int rcvbuf, globus\_bool\_t nodelay, globus\_gass\_transfer\_authorization\_t authorization, char \*subject)\

### Authorization

int **globus\_gass\_transfer\_secure\_requestattr\_set\_authorization** (globus\_gass\_transfer\_requestattr\_t \*attr, globus\_gass\_transfer\_authorization\_t mode, char \*subject)\
 globus\_object\_t \* **globus\_gass\_transfer\_listenerattr\_initialize** (globus\_object\_t \*obj, int backlog, unsigned short port)\
 int **globus\_gass\_transfer\_listenerattr\_init** (globus\_gass\_transfer\_listenerattr\_t \*attr, char \*url\_scheme)\

## Detailed Description

Request Attributes.

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

## Function Documentation

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

Initialize a listener attribute.

This function initializes the *attr* to contain a new protocol-specific listener 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*.

### globus\_object\_t \* globus\_gass\_transfer\_listenerattr\_initialize (globus\_object\_t \* obj, int backlog, unsigned short port)

Initialize a base listener attribute.

**Parameters**

*obj* \
 *backlog* \
 *port*

**Returns**

Returns the *obj* pointer if the object inherited from the *GLOBUS\_GASS\_OBJECT\_TYPE\_LISTENERTATTR* type and the attribute could be initialized; GLOBUS\_NULL otherwise.

### 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.

### globus\_object\_t \* globus\_gass\_transfer\_secure\_requestattr\_initialize (globus\_object\_t \* obj, char \* proxy\_url, globus\_size\_t block\_size, globus\_gass\_transfer\_file\_mode\_t file\_mode, globus\_bool\_t connection\_reuse, int sndbuf, int rcvbuf, globus\_bool\_t nodelay, globus\_gass\_transfer\_authorization\_t authorization, char \* subject)

Initialize a secure request attribute.

**Parameters**

*obj* \
 *proxy\_url* \
 *block\_size* \
 *file\_mode* \
 *connection\_reuse* \
 *sndbuf* \
 *rcvbuf* \
 *nodelay* \
 *authorization* \
 *subject*

**Returns**

Returns the *obj* pointer if the object inherited from the *GLOBUS\_GASS\_OBJECT\_TYPE\_SECURE\_REQUESTATTR* type and the attribute could be initialized; GLOBUS\_NULL otherwise.

### 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.

### globus\_object\_t \* globus\_gass\_transfer\_socket\_requestattr\_initialize (globus\_object\_t \* obj, char \* proxy\_url, globus\_size\_t block\_size, globus\_gass\_transfer\_file\_mode\_t file\_mode, globus\_bool\_t connection\_reuse, int sndbuf, int rcvbuf, globus\_bool\_t nodelay)

Initialize a socket request attribute.

**Parameters**

*obj* \
 *proxy\_url* \
 *block\_size* \
 *file\_mode* \
 *connection\_reuse* \
 *sndbuf* \
 *rcvbuf* \
 *nodelay*

**Returns**

Returns the *obj* pointer if the object inherited from the *GLOBUS\_GASS\_OBJECT\_TYPE\_SOCKET\_REQUESTATTR* type and the attribute could be initialized; GLOBUS\_NULL otherwise.

## Author

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