---
name: "tcp_driver_cntls"
section: "3"
platform: "linux"
package: "libglobus-xio-doc"
version: "3.3-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/tcp_driver_cntls"
---

# tcp\_driver\_cntls(3)

## NAME

Attributes and Cntls -

### Enumerations

enum **globus\_xio\_tcp\_cmd\_t** { **GLOBUS\_XIO\_TCP\_SET\_SERVICE**, **GLOBUS\_XIO\_TCP\_GET\_SERVICE**, **GLOBUS\_XIO\_TCP\_SET\_PORT**, **GLOBUS\_XIO\_TCP\_GET\_PORT**, **GLOBUS\_XIO\_TCP\_SET\_BACKLOG**, **GLOBUS\_XIO\_TCP\_GET\_BACKLOG**, **GLOBUS\_XIO\_TCP\_SET\_LISTEN\_RANGE**, **GLOBUS\_XIO\_TCP\_GET\_LISTEN\_RANGE**, **GLOBUS\_XIO\_TCP\_GET\_HANDLE**, **GLOBUS\_XIO\_TCP\_SET\_HANDLE**, **GLOBUS\_XIO\_TCP\_SET\_INTERFACE**, **GLOBUS\_XIO\_TCP\_GET\_INTERFACE**, **GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT**, **GLOBUS\_XIO\_TCP\_GET\_RESTRICT\_PORT**, **GLOBUS\_XIO\_TCP\_SET\_REUSEADDR**, **GLOBUS\_XIO\_TCP\_GET\_REUSEADDR**, **GLOBUS\_XIO\_TCP\_SET\_NO\_IPV6**, **GLOBUS\_XIO\_TCP\_GET\_NO\_IPV6**, **GLOBUS\_XIO\_TCP\_SET\_CONNECT\_RANGE**, **GLOBUS\_XIO\_TCP\_GET\_CONNECT\_RANGE**, **GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE**, **GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE**, **GLOBUS\_XIO\_TCP\_SET\_LINGER**, **GLOBUS\_XIO\_TCP\_GET\_LINGER**, **GLOBUS\_XIO\_TCP\_SET\_OOBINLINE**, **GLOBUS\_XIO\_TCP\_GET\_OOBINLINE**, **GLOBUS\_XIO\_TCP\_SET\_SNDBUF**, **GLOBUS\_XIO\_TCP\_GET\_SNDBUF**, **GLOBUS\_XIO\_TCP\_SET\_RCVBUF**, **GLOBUS\_XIO\_TCP\_GET\_RCVBUF**, **GLOBUS\_XIO\_TCP\_SET\_NODELAY**, **GLOBUS\_XIO\_TCP\_GET\_NODELAY**, **GLOBUS\_XIO\_TCP\_SET\_SEND\_FLAGS**, **GLOBUS\_XIO\_TCP\_GET\_SEND\_FLAGS**, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT**, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT**, **GLOBUS\_XIO\_TCP\_GET\_REMOTE\_CONTACT**, **GLOBUS\_XIO\_TCP\_GET\_REMOTE\_NUMERIC\_CONTACT**, **GLOBUS\_XIO\_TCP\_AFFECT\_ATTR\_DEFAULTS**, **GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO**, **GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO** }\

### Functions

globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_SERVICE**, const char \*service\_name)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_SERVICE**, char \*\*service\_name\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_PORT**, int listener\_port)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_PORT**, int \*listener\_port\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_BACKLOG**, int listener\_backlog)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_BACKLOG**, int \*listener\_backlog\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_LISTEN\_RANGE**, int listener\_min\_port, int listener\_max\_port)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_LISTEN\_RANGE**, int \*listener\_min\_port\_out, int \*listener\_max\_port\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_HANDLE**, globus\_xio\_system\_socket\_t \*handle\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_HANDLE**, globus\_xio\_system\_socket\_t \*handle\_out)\
 globus\_result\_t **globus\_xio\_server\_cntl** (server, driver, **GLOBUS\_XIO\_TCP\_GET\_HANDLE**, globus\_xio\_system\_socket\_t \*handle\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_HANDLE**, globus\_xio\_system\_socket\_t handle)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_INTERFACE**, const char \*interface)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_INTERFACE**, char \*\*interface\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT**, globus\_bool\_t restrict\_port)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_RESTRICT\_PORT**, globus\_bool\_t \*restrict\_port\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_REUSEADDR**, globus\_bool\_t resuseaddr)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_REUSEADDR**, globus\_bool\_t \*resuseaddr\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_NO\_IPV6**, globus\_bool\_t no\_ipv6)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_NO\_IPV6**, globus\_bool\_t \*no\_ipv6\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_CONNECT\_RANGE**, int connector\_min\_port, int connector\_max\_port)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_CONNECT\_RANGE**, int \*connector\_min\_port\_out, int \*connector\_max\_port\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE**, globus\_bool\_t keepalive)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE**, globus\_bool\_t keepalive)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE**, globus\_bool\_t \*keepalive\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE**, globus\_bool\_t \*keepalive\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_LINGER**, globus\_bool\_t linger, int linger\_time)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_LINGER**, globus\_bool\_t linger, int linger\_time)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_LINGER**, globus\_bool\_t \*linger\_out, int \*linger\_time\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_LINGER**, globus\_bool\_t \*linger\_out, int \*linger\_time\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_OOBINLINE**, globus\_bool\_t oobinline)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_OOBINLINE**, globus\_bool\_t oobinline)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_OOBINLINE**, globus\_bool\_t \*oobinline\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_OOBINLINE**, globus\_bool\_t \*oobinline\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_SNDBUF**, int sndbuf)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_SNDBUF**, int sndbuf)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_SNDBUF**, int \*sndbuf\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_SNDBUF**, int \*sndbuf\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_RCVBUF**, int rcvbuf)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_RCVBUF**, int rcvbuf)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_RCVBUF**, int \*rcvbuf\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_RCVBUF**, int \*rcvbuf\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_NODELAY**, globus\_bool\_t nodelay)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_NODELAY**, globus\_bool\_t nodelay)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_NODELAY**, globus\_bool\_t \*nodelay\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_NODELAY**, globus\_bool\_t \*nodelay\_out)\
 globus\_result\_t **globus\_xio\_data\_descriptor\_cntl** (dd, driver, **GLOBUS\_XIO\_TCP\_SET\_SEND\_FLAGS**, int send\_flags)\
 globus\_result\_t **globus\_xio\_data\_descriptor\_cntl** (dd, driver, **GLOBUS\_XIO\_TCP\_GET\_SEND\_FLAGS**, int \*send\_flags\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_server\_cntl** (server, driver, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_server\_cntl** (server, driver, **GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_REMOTE\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_REMOTE\_NUMERIC\_CONTACT**, char \*\*contact\_string\_out)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_AFFECT\_ATTR\_DEFAULTS**, globus\_bool\_t affect\_global)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO**, globus\_bool\_t use\_blocking\_io)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO**, globus\_bool\_t use\_blocking\_io)\
 globus\_result\_t **globus\_xio\_attr\_cntl** (attr, driver, **GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO**, globus\_bool\_t \*use\_blocking\_io\_out)\
 globus\_result\_t **globus\_xio\_handle\_cntl** (handle, driver, **GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO**, globus\_bool\_t \*use\_blocking\_io\_out)\

## Detailed Description

Tcp driver specific attrs and cntls.

**See also:**

**globus\_xio\_attr\_cntl()**

**globus\_xio\_handle\_cntl()**

**globus\_xio\_server\_cntl()**

**globus\_xio\_data\_descriptor\_cntl()**

## Enumeration Type Documentation

### enum globus\_xio\_tcp\_cmd\_t

doxygen varargs filter stuff TCP driver specific cntls

**Enumerator:**

- *GLOBUS\_XIO\_TCP\_SET\_SERVICE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_SERVICE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_PORT*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_PORT*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_BACKLOG*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_BACKLOG*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_LISTEN\_RANGE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_LISTEN\_RANGE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_HANDLE*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *,* **globus\_xio\_server\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_HANDLE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_INTERFACE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_INTERFACE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_RESTRICT\_PORT*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_REUSEADDR*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_REUSEADDR*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_NO\_IPV6*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_NO\_IPV6*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_CONNECT\_RANGE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_CONNECT\_RANGE*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_LINGER*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_LINGER*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_OOBINLINE*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_OOBINLINE*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_SNDBUF*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_SNDBUF*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_RCVBUF*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_RCVBUF*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_NODELAY*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_NODELAY*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_SEND\_FLAGS*

  *See usage for:* **globus\_xio\_data\_descriptor\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_SEND\_FLAGS*

  *See usage for:* **globus\_xio\_data\_descriptor\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT*

  *See usage for:* **globus\_xio\_handle\_cntl** *,* **globus\_xio\_server\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT*

  *See usage for:* **globus\_xio\_handle\_cntl** *,* **globus\_xio\_server\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_REMOTE\_CONTACT*

  *See usage for:* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_REMOTE\_NUMERIC\_CONTACT*

  *See usage for:* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_AFFECT\_ATTR\_DEFAULTS*

  *See usage for:* **globus\_xio\_attr\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

- *GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO*

  *See usage for:* **globus\_xio\_attr\_cntl** *,* **globus\_xio\_handle\_cntl** *.*

## Function Documentation

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_SERVICE, const char \*service\_name)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp service name to bind to. Used only on attrs for* **globus\_xio\_server\_create()***.*

**Parameters:**

*service\_name The service name to use when setting up the listener. If the service name cannot be resolved, the port (if one is set) will be used instead.*

*string opt: port=\<string\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_SERVICE, char \*\*service\_name\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp service name to bind to.* **Parameters:**

*service\_name\_out A pointer to the service name will be stored here If none is set, NULL will be passed back. Otherwise, the name will be duplicated with strdup() and the user should call free() on it.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_PORT, intlistener\_port)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port number to bind to. Used only on attrs for* **globus\_xio\_server\_create()***. The default port number is 0 (system assigned)*

**Parameters:**

*listener\_port The port number to use when setting up the listener. If the service name is also set, this will only be used if that can't be resolved.*

*string opt: port=\<int\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_PORT, int \*listener\_port\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp port number to bind to.* **Parameters:**

*listener\_port\_out The port will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_BACKLOG, intlistener\_backlog)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the listener backlog on a server. Used only on attrs for* **globus\_xio\_server\_create()***. The default backlog is -1 (system maximum)*

**Parameters:**

*listener\_backlog This indicates the maximum length of the system's queue of pending connections. Any connection attempts when the queue is full will fail. If backlog is equal to -1, then the system-specific maximum queue length will be used.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_BACKLOG, int \*listener\_backlog\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the listener backlog on an attr.* **Parameters:**

*listener\_backlog\_out The backlog will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_LISTEN\_RANGE, intlistener\_min\_port, intlistener\_max\_port)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port range to confine the server to. Used only on attrs for* **globus\_xio\_server\_create()** *where no specific service or port has been set. It overrides the range set in the GLOBUS\_TCP\_PORT\_RANGE env variable. If 'restrict port' is true, the server's listening port will be constrained to the range specified.*

**Parameters:**

*listener\_min\_port The lower bound on the listener port. (default 0 -- no bound)*\
 *listener\_max\_port The upper bound on the listener port. (default 0 -- no bound)*

**See also:**

**GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT**

*string opt: listen\_range=\<int\>,\<int\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_LISTEN\_RANGE, int \*listener\_min\_port\_out, int \*listener\_max\_port\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp port range on an attr.* **Parameters:**

*listener\_min\_port\_out The lower bound will be stored here.*\
 *listener\_max\_port\_out The upper bound will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_HANDLE, globus\_xio\_system\_socket\_t \*handle\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.* **Parameters:**

*handle\_out The tcp socket will be stored here. If none is set, GLOBUS\_XIO\_TCP\_INVALID\_HANDLE will be set.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_HANDLE, globus\_xio\_system\_socket\_t \*handle\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.* **Parameters:**

*handle\_out The tcp socket will be stored here. If none is set, GLOBUS\_XIO\_TCP\_INVALID\_HANDLE will be set.*

### globus\_result\_t globus\_xio\_server\_cntl (server, driver, GLOBUS\_XIO\_TCP\_GET\_HANDLE, globus\_xio\_system\_socket\_t \*handle\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.* **Parameters:**

*handle\_out The tcp socket will be stored here. If none is set, GLOBUS\_XIO\_TCP\_INVALID\_HANDLE will be set.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_HANDLE, globus\_xio\_system\_socket\_thandle)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket to use for a handle or server. Used only on attrs for* **globus\_xio\_server\_create()** *or* **globus\_xio\_register\_open()***.*

**Parameters:**

*handle Use this handle (fd or SOCKET) for the listener or connection. Note: close() will not be called on this handle.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_INTERFACE, const char \*interface)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the interface to bind a listener or connection to. Used only on attrs for* **globus\_xio\_server\_create()** *or* **globus\_xio\_register\_open***.*

**Parameters:**

*interface The interface to use. Can be a hostname or numeric IP*

*string opt: iface=\<string\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_INTERFACE, char \*\*interface\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the interface on the attr.* **Parameters:**

*interface\_out A pointer to the interface will be stored here If one is set, NULL will be passed back. Otherwise, the interface will be duplicated with strdup() and the user should call free() on it.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT, globus\_bool\_trestrict\_port)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable or disable the listener or connector range constraints. Used only on attrs for* **globus\_xio\_server\_create()** *or* **globus\_xio\_register\_open()***. This enables or ignores the port range found in the attr or in then env. By default, those ranges are enabled.*

**Parameters:**

*restrict\_port GLOBUS\_TRUE to enable (default), GLOBUS\_FALSE to disable.*

**See also:**

**GLOBUS\_XIO\_TCP\_SET\_LISTEN\_RANGE**

**GLOBUS\_XIO\_TCP\_SET\_CONNECT\_RANGE**

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_RESTRICT\_PORT, globus\_bool\_t \*restrict\_port\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the restrict port flag.* **Parameters:**

*restrict\_port\_out The restrict port flag will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_REUSEADDR, globus\_bool\_tresuseaddr)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Reuse addr when binding. Used only on attrs for* **globus\_xio\_server\_create()** *or* **globus\_xio\_register\_open()** *to determine whether or not to allow reuse of addresses when binding a socket to a port number.*

**Parameters:**

*resuseaddr GLOBUS\_TRUE to allow, GLOBUS\_FALSE to disallow (default)*

*string opt: reuse=\<bool\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_REUSEADDR, globus\_bool\_t \*resuseaddr\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the reuseaddr flag on an attr.* **Parameters:**

*resuseaddr\_out The reuseaddr flag will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_NO\_IPV6, globus\_bool\_tno\_ipv6)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Restrict to IPV4 only. Used only on attrs for* **globus\_xio\_server\_create()** *or* **globus\_xio\_register\_open()***. Disallow IPV6 sockets from being used (default is to use either ipv4 or ipv6)*

**Parameters:**

*no\_ipv6 GLOBUS\_TRUE to disallow ipv6, GLOBUS\_FALSE to allow (default)*

*string opt: noipv6=\<bool\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_NO\_IPV6, globus\_bool\_t \*no\_ipv6\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the no ipv6 flag on an attr.* **Parameters:**

*no\_ipv6\_out The no ipv6 flag will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_CONNECT\_RANGE, intconnector\_min\_port, intconnector\_max\_port)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port range to confine the server to. Used only on attrs for* **globus\_xio\_register\_open()***. It overrides the range set in the GLOBUS\_TCP\_SOURCE\_RANGE env variable. If 'restrict port' is true, the connecting socket's local port will be constrained to the range specified.*

**Parameters:**

*connector\_min\_port The lower bound on the listener port. (default 0 -- no bound)*\
 *connector\_max\_port The upper bound on the listener port. (default 0 -- no bound)*

**See also:**

**GLOBUS\_XIO\_TCP\_SET\_RESTRICT\_PORT**

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_CONNECT\_RANGE, int \*connector\_min\_port\_out, int \*connector\_max\_port\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp source port range on an attr.* **Parameters:**

*connector\_min\_port\_out The lower bound will be stored here.*\
 *connector\_max\_port\_out The upper bound will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE, globus\_bool\_tkeepalive)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable tcp keepalive. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine whether or not to periodically send 'keepalive' messages on a connected socket handle. This may enable earlier detection of broken connections.*

**Parameters:**

*keepalive GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*

*string opt: keepalive=\<bool\>*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_KEEPALIVE, globus\_bool\_tkeepalive)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable tcp keepalive. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine whether or not to periodically send 'keepalive' messages on a connected socket handle. This may enable earlier detection of broken connections.*

**Parameters:**

*keepalive GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*

*string opt: keepalive=\<bool\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE, globus\_bool\_t \*keepalive\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp keepalive flag.* **Parameters:**

*keepalive\_out The tcp keepalive flag will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_KEEPALIVE, globus\_bool\_t \*keepalive\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp keepalive flag.* **Parameters:**

*keepalive\_out The tcp keepalive flag will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_LINGER, globus\_bool\_tlinger, intlinger\_time)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp linger. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine what to do when data is in the socket's buffer when the socket is closed. If linger is set to true, then the close operation will block until the socket buffers are empty, or the linger\_time has expired. If this is enabled, any data remaining after the linger time has expired, will be discarded. If this is disabled, close finishes immediately, but the OS will still attempt to transmit the remaining data.*

**Parameters:**

*linger GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*\
 *linger\_time The time (in seconds) to block at close time if linger is true and data is queued in the socket buffer.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_LINGER, globus\_bool\_tlinger, intlinger\_time)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp linger. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine what to do when data is in the socket's buffer when the socket is closed. If linger is set to true, then the close operation will block until the socket buffers are empty, or the linger\_time has expired. If this is enabled, any data remaining after the linger time has expired, will be discarded. If this is disabled, close finishes immediately, but the OS will still attempt to transmit the remaining data.*

**Parameters:**

*linger GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*\
 *linger\_time The time (in seconds) to block at close time if linger is true and data is queued in the socket buffer.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_LINGER, globus\_bool\_t \*linger\_out, int \*linger\_time\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp linger flag and time.* **Parameters:**

*linger\_out The linger flag will be stored here.*\
 *linger\_time\_out The linger time will be set here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_LINGER, globus\_bool\_t \*linger\_out, int \*linger\_time\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp linger flag and time.* **Parameters:**

*linger\_out The linger flag will be stored here.*\
 *linger\_time\_out The linger time will be set here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_OOBINLINE, globus\_bool\_toobinline)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Receive out of band data (tcp urgent data) in normal stream. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to choose whether out-of-band data is received in the normal data queue. (Currently, there is no other way to receive OOB data)*

**Parameters:**

*oobinline GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_OOBINLINE, globus\_bool\_toobinline)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Receive out of band data (tcp urgent data) in normal stream. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to choose whether out-of-band data is received in the normal data queue. (Currently, there is no other way to receive OOB data)*

**Parameters:**

*oobinline GLOBUS\_TRUE to enable, GLOBUS\_FALSE to disable (default)*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_OOBINLINE, globus\_bool\_t \*oobinline\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the oobinline flag.* **Parameters:**

*oobinline\_out The oobinline flag will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_OOBINLINE, globus\_bool\_t \*oobinline\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the oobinline flag.* **Parameters:**

*oobinline\_out The oobinline flag will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_SNDBUF, intsndbuf)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket send buffer size. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to set the size of the send buffer used on the socket.*

**Parameters:**

*sndbuf The send buffer size in bytes to use. (default is system specific)*

*string opt: sndbuf=\<formatted int\>=''\>*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_SNDBUF, intsndbuf)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket send buffer size. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to set the size of the send buffer used on the socket.*

**Parameters:**

*sndbuf The send buffer size in bytes to use. (default is system specific)*

*string opt: sndbuf=\<formatted int\>=''\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_SNDBUF, int \*sndbuf\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp send buffer size on the attr or handle.* **Parameters:**

*sndbuf\_out The send buffer size will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_SNDBUF, int \*sndbuf\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp send buffer size on the attr or handle.* **Parameters:**

*sndbuf\_out The send buffer size will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_RCVBUF, intrcvbuf)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket receive buffer size. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to set the size of the receive buffer used on the socket. The receive buffer size is often used by the operating system to choose the appropriate TCP window size.*

**Parameters:**

*rcvbuf The receive buffer size in bytes. (default is system specific)*

*string opt: rcvbuf=\<formatted int\>=''\>*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_RCVBUF, intrcvbuf)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket receive buffer size. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to set the size of the receive buffer used on the socket. The receive buffer size is often used by the operating system to choose the appropriate TCP window size.*

**Parameters:**

*rcvbuf The receive buffer size in bytes. (default is system specific)*

*string opt: rcvbuf=\<formatted int\>=''\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_RCVBUF, int \*rcvbuf\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp receive buffer size on the attr or handle.* **Parameters:**

*rcvbuf\_out The receive buffer size will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_RCVBUF, int \*rcvbuf\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp receive buffer size on the attr or handle.* **Parameters:**

*rcvbuf\_out The receive buffer size will be stored here.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_NODELAY, globus\_bool\_tnodelay)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Disable Nagle's algorithm. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine whether or not to disable Nagle's algorithm. If set to GLOBUS\_TRUE, the socket will send packets as soon as possible with no unnecessary delays introduced.*

**Parameters:**

*nodelay GLOBUS\_TRUE to disable nagle, GLOBUS\_FALSE to enable (default)*

*string opt: nodelay=\<bool\>*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_NODELAY, globus\_bool\_tnodelay)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Disable Nagle's algorithm. Used on attrs for* **globus\_xio\_server\_create()***,* **globus\_xio\_register\_open()** *and with* **globus\_xio\_handle\_cntl()** *to determine whether or not to disable Nagle's algorithm. If set to GLOBUS\_TRUE, the socket will send packets as soon as possible with no unnecessary delays introduced.*

**Parameters:**

*nodelay GLOBUS\_TRUE to disable nagle, GLOBUS\_FALSE to enable (default)*

*string opt: nodelay=\<bool\>*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_NODELAY, globus\_bool\_t \*nodelay\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp nodelay flag.* **Parameters:**

*nodelay\_out The no delay flag will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_NODELAY, globus\_bool\_t \*nodelay\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp nodelay flag.* **Parameters:**

*nodelay\_out The no delay flag will be stored here.*

### globus\_result\_t globus\_xio\_data\_descriptor\_cntl (dd, driver, GLOBUS\_XIO\_TCP\_SET\_SEND\_FLAGS, intsend\_flags)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp send flags. Used only for data descriptors to write calls.*

**Parameters:**

*send\_flags The flags to use when sending data.*

**See also:**

**globus\_xio\_tcp\_send\_flags\_t**

### globus\_result\_t globus\_xio\_data\_descriptor\_cntl (dd, driver, GLOBUS\_XIO\_TCP\_GET\_SEND\_FLAGS, int \*send\_flags\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get tcp send flags.* **Parameters:**

*send\_flags\_out The flags to use will be stored here.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the local end of a connected socket or listener will be stored here. The user should free() it when done with it. It will be in the format: \<hostname\>:\<port\>*

**See also:**

**globus\_xio\_server\_get\_contact\_string()**

**GLOBUS\_XIO\_GET\_LOCAL\_CONTACT**

### globus\_result\_t globus\_xio\_server\_cntl (server, driver, GLOBUS\_XIO\_TCP\_GET\_LOCAL\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the local end of a connected socket or listener will be stored here. The user should free() it when done with it. It will be in the format: \<hostname\>:\<port\>*

**See also:**

**globus\_xio\_server\_get\_contact\_string()**

**GLOBUS\_XIO\_GET\_LOCAL\_CONTACT**

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the local end of a connected socket or listener will be stored here. The user should free() it when done with it. It will be in the format: \<ip\>:\<port\>*

**See also:**

**GLOBUS\_XIO\_GET\_LOCAL\_NUMERIC\_CONTACT**

### globus\_result\_t globus\_xio\_server\_cntl (server, driver, GLOBUS\_XIO\_TCP\_GET\_LOCAL\_NUMERIC\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the local end of a connected socket or listener will be stored here. The user should free() it when done with it. It will be in the format: \<ip\>:\<port\>*

**See also:**

**GLOBUS\_XIO\_GET\_LOCAL\_NUMERIC\_CONTACT**

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_REMOTE\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get remote socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the remote end of a connected socket will be stored here. The user should free() it when done with it. It will be in the format: \<hostname\>:\<port\>*

**See also:**

**GLOBUS\_XIO\_GET\_REMOTE\_CONTACT**

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_REMOTE\_NUMERIC\_CONTACT, char \*\*contact\_string\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get remote socket info.* **Parameters:**

*contact\_string\_out A pointer to a contact string for the remote end of a connected socket will be stored here. The user should free() it when done with it. It will be in the format: \<ip\>:\<port\>*

**See also:**

**GLOBUS\_XIO\_GET\_REMOTE\_NUMERIC\_CONTACT**

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_AFFECT\_ATTR\_DEFAULTS, globus\_bool\_taffect\_global)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Change the default attr values.* **Parameters:**

*affect\_global If GLOBUS\_TRUE, any future cntls on this attr will access the global default attr (which all new attrs are initialized from) The default is GLOBUS\_FALSE. Note: this should only be used at the application level and there should only be one. There is no mutex protecting the global attr. This feature should not be abused. There are some attrs that make no sense to change globally. Attrs that do include the tcp port range stuff, socket buffer sizes, etc.*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO, globus\_bool\_tuse\_blocking\_io)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable true blocking io when making globus\_xio\_read/write() calls. Note: use with caution. you can deadlock an entire app with this.*

**Parameters:**

*use\_blocking\_io If GLOBUS\_TRUE, true blocking io will be enabled. GLOBUS\_FALSE will disable it (default);*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_SET\_BLOCKING\_IO, globus\_bool\_tuse\_blocking\_io)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable true blocking io when making globus\_xio\_read/write() calls. Note: use with caution. you can deadlock an entire app with this.*

**Parameters:**

*use\_blocking\_io If GLOBUS\_TRUE, true blocking io will be enabled. GLOBUS\_FALSE will disable it (default);*

### globus\_result\_t globus\_xio\_attr\_cntl (attr, driver, GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO, globus\_bool\_t \*use\_blocking\_io\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the blocking io status in use or in attr.* **Parameters:**

*use\_blocking\_io\_out The flag will be set here. GLOBUS\_TRUE for enabled.*

### globus\_result\_t globus\_xio\_handle\_cntl (handle, driver, GLOBUS\_XIO\_TCP\_GET\_BLOCKING\_IO, globus\_bool\_t \*use\_blocking\_io\_out)

*This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the blocking io status in use or in attr.* **Parameters:**

*use\_blocking\_io\_out The flag will be set here. GLOBUS\_TRUE for enabled.*

## Author

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