Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

Attributes and Cntls
[Globus XIO TCP Driver]

Enumerations

Functions


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
 

TCP driver specific cntls.

Enumeration values:
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
 

Set the tcp service name to bind to.

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

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
 

Get the tcp service name to bind to.

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

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   ,
int    listener_port
 

Set the tcp port number to bind to.

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

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
 

Get the tcp port number to bind to.

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

Parameters:
listener_port_out  The port will be stored here.

globus_result_t globus_xio_attr_cntl attr   ,
driver   ,
GLOBUS_XIO_TCP_SET_LISTEN_RANGE   ,
int    listener_min_port,
int    listener_max_port
 

Set the tcp port range to confine the server to.

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

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
 

Get the tcp port range on an attr.

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

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
 

Get the tcp socket handle on an attr, handle, or server.

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

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
 

Get the tcp socket handle on an attr, handle, or server.

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

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
 

Get the tcp socket handle on an attr, handle, or server.

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

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_t    handle
 

Set the tcp socket to use for a handle or server.

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

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_RESTRICT_PORT   ,
globus_bool_t    restrict_port
 

Enable or disable the listener or connector range constraints.

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

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
 

Get the restrict port flag.

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

Parameters:
restrict_port_out  The restrict port flag will be stored here.

globus_result_t globus_xio_handle_cntl handle   ,
driver   ,
GLOBUS_XIO_TCP_SET_KEEPALIVE   ,
globus_bool_t    keepalive
 

Enable tcp keepalive.

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

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_GET_KEEPALIVE   ,
globus_bool_t *    keepalive_out
 

Get the tcp keepalive flag.

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

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_t    linger,
int    linger_time
 

Set tcp linger.

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

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_t    linger,
int    linger_time
 

Set tcp linger.

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

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
 

Get the tcp linger flag and time.

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

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
 

Get the tcp linger flag and time.

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

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_SET_SNDBUF   ,
int    sndbuf
 

Set the tcp socket send buffer size.

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

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_GET_SNDBUF   ,
int *    sndbuf_out
 

Get the tcp send buffer size on the attr or handle.

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

Parameters:
sndbuf_out  The send buffer size will be stored here.

globus_result_t globus_xio_data_descriptor_cntl dd   ,
driver   ,
GLOBUS_XIO_TCP_SET_SEND_FLAGS   ,
int    send_flags
 

Set tcp send flags.

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

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
 

Get tcp send flags.

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

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
 

Get local socket info.

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

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
 

Get local socket info.

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

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


about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org