Loading...
Searching...
No Matches
globus_xio_tcp_driver.h
Go to the documentation of this file.
/*
* Copyright 1999-2006 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef GLOBUS_XIO_TCP_DRIVER_INCLUDE
#define GLOBUS_XIO_TCP_DRIVER_INCLUDE
#include "globus_xio_system.h"
#ifdef __cplusplus
extern "C" {
#endif
#define GLOBUS_XIO_TCP_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_SOCKET
typedef enum
{
GLOBUS_XIO_TCP_ERROR_NO_ADDRS
} globus_xio_tcp_error_type_t;
/**
* TCP driver specific cntls
* @ingroup globus_xio_tcp_driver_cntls
*/
typedef enum
{
/* const char * service_name */
GLOBUS_XIO_TCP_SET_SERVICE,
/* char ** service_name_out */
GLOBUS_XIO_TCP_GET_SERVICE,
/* int listener_port */
GLOBUS_XIO_TCP_SET_PORT,
/* int * listener_port_out */
GLOBUS_XIO_TCP_GET_PORT,
/* int listener_backlog */
GLOBUS_XIO_TCP_SET_BACKLOG,
/* int * listener_backlog_out */
GLOBUS_XIO_TCP_GET_BACKLOG,
/* int listener_min_port,
* int listener_max_port */
GLOBUS_XIO_TCP_SET_LISTEN_RANGE,
/* int * listener_min_port_out,
* int * listener_max_port_out */
GLOBUS_XIO_TCP_GET_LISTEN_RANGE,
/* globus_xio_system_socket_t * handle_out */
GLOBUS_XIO_TCP_GET_HANDLE,
/* globus_xio_system_socket_t handle */
GLOBUS_XIO_TCP_SET_HANDLE,
/* const char * interface */
GLOBUS_XIO_TCP_SET_INTERFACE,
/* char ** interface_out */
GLOBUS_XIO_TCP_GET_INTERFACE,
* @ref 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.
*
* @param restrict_port
* GLOBUS_TRUE to enable (default), GLOBUS_FALSE to disable.
*
* @see GLOBUS_XIO_TCP_SET_LISTEN_RANGE
* @see GLOBUS_XIO_TCP_SET_CONNECT_RANGE
*/
/* globus_bool_t restrict_port */
GLOBUS_XIO_TCP_SET_RESTRICT_PORT,
/* globus_bool_t * restrict_port_out */
GLOBUS_XIO_TCP_GET_RESTRICT_PORT,
/* globus_bool_t resuseaddr */
GLOBUS_XIO_TCP_SET_REUSEADDR,
/* globus_bool_t * resuseaddr_out */
GLOBUS_XIO_TCP_GET_REUSEADDR,
/* globus_bool_t no_ipv6 */
GLOBUS_XIO_TCP_SET_NO_IPV6,
/* globus_bool_t * no_ipv6_out */
GLOBUS_XIO_TCP_GET_NO_IPV6,
/* int connector_min_port,
* int connector_max_port */
GLOBUS_XIO_TCP_SET_CONNECT_RANGE,
/* int * connector_min_port_out,
* int * connector_max_port_out */
GLOBUS_XIO_TCP_GET_CONNECT_RANGE,
/* globus_bool_t keepalive */
GLOBUS_XIO_TCP_SET_KEEPALIVE,
/* globus_bool_t * keepalive_out */
GLOBUS_XIO_TCP_GET_KEEPALIVE,
/* globus_bool_t linger,
* int linger_time */
GLOBUS_XIO_TCP_SET_LINGER,
/* globus_bool_t * linger_out,
* int * linger_time_out */
GLOBUS_XIO_TCP_GET_LINGER,
/* globus_bool_t oobinline */
GLOBUS_XIO_TCP_SET_OOBINLINE,
/* globus_bool_t * oobinline_out */
GLOBUS_XIO_TCP_GET_OOBINLINE,
/* int sndbuf */
GLOBUS_XIO_TCP_SET_SNDBUF,
/* int * sndbuf_out */
GLOBUS_XIO_TCP_GET_SNDBUF,
/* int rcvbuf */
GLOBUS_XIO_TCP_SET_RCVBUF,
/* int * rcvbuf_out */
GLOBUS_XIO_TCP_GET_RCVBUF,
/* globus_bool_t nodelay */
GLOBUS_XIO_TCP_SET_NODELAY,
/* globus_bool_t * nodelay_out */
GLOBUS_XIO_TCP_GET_NODELAY,
/* int send_flags */
GLOBUS_XIO_TCP_SET_SEND_FLAGS,
/* int * send_flags_out */
GLOBUS_XIO_TCP_GET_SEND_FLAGS,
/* char ** contact_string_out */
GLOBUS_XIO_TCP_GET_LOCAL_CONTACT,
/* char ** contact_string_out */
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT,
/* char ** contact_string_out */
GLOBUS_XIO_TCP_GET_REMOTE_CONTACT,
/* char ** contact_string_out */
GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT,
/* globus_bool_t affect_global */
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS,
/* globus_bool_t use_blocking_io */
GLOBUS_XIO_TCP_SET_BLOCKING_IO,
/* globus_bool_t * use_blocking_io_out */
GLOBUS_XIO_TCP_GET_BLOCKING_IO
} globus_xio_tcp_cmd_t;
typedef enum
{
GLOBUS_XIO_TCP_SEND_OOB = MSG_OOB
} globus_xio_tcp_send_flags_t;
#ifdef __cplusplus
}
#endif
#endif
globus_xio_tcp_cmd_t
globus_xio_tcp_cmd_t
Definition globus_xio_tcp_driver.h:208
GLOBUS_XIO_TCP_SET_CONNECT_RANGE
@ GLOBUS_XIO_TCP_SET_CONNECT_RANGE
Definition globus_xio_tcp_driver.h:283
GLOBUS_XIO_TCP_GET_REUSEADDR
@ GLOBUS_XIO_TCP_GET_REUSEADDR
Definition globus_xio_tcp_driver.h:271
GLOBUS_XIO_TCP_SET_LISTEN_RANGE
@ GLOBUS_XIO_TCP_SET_LISTEN_RANGE
Definition globus_xio_tcp_driver.h:235
GLOBUS_XIO_TCP_GET_CONNECT_RANGE
@ GLOBUS_XIO_TCP_GET_CONNECT_RANGE
Definition globus_xio_tcp_driver.h:287
GLOBUS_XIO_TCP_GET_BLOCKING_IO
@ GLOBUS_XIO_TCP_GET_BLOCKING_IO
Definition globus_xio_tcp_driver.h:371
GLOBUS_XIO_TCP_SET_RESTRICT_PORT
@ GLOBUS_XIO_TCP_SET_RESTRICT_PORT
Definition globus_xio_tcp_driver.h:259
GLOBUS_XIO_TCP_SET_INTERFACE
@ GLOBUS_XIO_TCP_SET_INTERFACE
Definition globus_xio_tcp_driver.h:251
GLOBUS_XIO_TCP_SET_RCVBUF
@ GLOBUS_XIO_TCP_SET_RCVBUF
Definition globus_xio_tcp_driver.h:323
GLOBUS_XIO_TCP_SET_NO_IPV6
@ GLOBUS_XIO_TCP_SET_NO_IPV6
Definition globus_xio_tcp_driver.h:275
GLOBUS_XIO_TCP_GET_INTERFACE
@ GLOBUS_XIO_TCP_GET_INTERFACE
Definition globus_xio_tcp_driver.h:255
GLOBUS_XIO_TCP_SET_SNDBUF
@ GLOBUS_XIO_TCP_SET_SNDBUF
Definition globus_xio_tcp_driver.h:315
GLOBUS_XIO_TCP_SET_BACKLOG
@ GLOBUS_XIO_TCP_SET_BACKLOG
Definition globus_xio_tcp_driver.h:227
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS
@ GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS
Definition globus_xio_tcp_driver.h:363
GLOBUS_XIO_TCP_GET_HANDLE
@ GLOBUS_XIO_TCP_GET_HANDLE
Definition globus_xio_tcp_driver.h:243
GLOBUS_XIO_TCP_GET_PORT
@ GLOBUS_XIO_TCP_GET_PORT
Definition globus_xio_tcp_driver.h:223
GLOBUS_XIO_TCP_SET_SEND_FLAGS
@ GLOBUS_XIO_TCP_SET_SEND_FLAGS
Definition globus_xio_tcp_driver.h:339
GLOBUS_XIO_TCP_SET_LINGER
@ GLOBUS_XIO_TCP_SET_LINGER
Definition globus_xio_tcp_driver.h:299
GLOBUS_XIO_TCP_GET_LISTEN_RANGE
@ GLOBUS_XIO_TCP_GET_LISTEN_RANGE
Definition globus_xio_tcp_driver.h:239
GLOBUS_XIO_TCP_SET_BLOCKING_IO
@ GLOBUS_XIO_TCP_SET_BLOCKING_IO
Definition globus_xio_tcp_driver.h:367
GLOBUS_XIO_TCP_GET_LOCAL_CONTACT
@ GLOBUS_XIO_TCP_GET_LOCAL_CONTACT
Definition globus_xio_tcp_driver.h:347
GLOBUS_XIO_TCP_GET_SEND_FLAGS
@ GLOBUS_XIO_TCP_GET_SEND_FLAGS
Definition globus_xio_tcp_driver.h:343
GLOBUS_XIO_TCP_SET_NODELAY
@ GLOBUS_XIO_TCP_SET_NODELAY
Definition globus_xio_tcp_driver.h:331
GLOBUS_XIO_TCP_SET_OOBINLINE
@ GLOBUS_XIO_TCP_SET_OOBINLINE
Definition globus_xio_tcp_driver.h:307
GLOBUS_XIO_TCP_GET_LINGER
@ GLOBUS_XIO_TCP_GET_LINGER
Definition globus_xio_tcp_driver.h:303
GLOBUS_XIO_TCP_GET_REMOTE_CONTACT
@ GLOBUS_XIO_TCP_GET_REMOTE_CONTACT
Definition globus_xio_tcp_driver.h:355
GLOBUS_XIO_TCP_GET_SNDBUF
@ GLOBUS_XIO_TCP_GET_SNDBUF
Definition globus_xio_tcp_driver.h:319
GLOBUS_XIO_TCP_SET_REUSEADDR
@ GLOBUS_XIO_TCP_SET_REUSEADDR
Definition globus_xio_tcp_driver.h:267
GLOBUS_XIO_TCP_GET_RCVBUF
@ GLOBUS_XIO_TCP_GET_RCVBUF
Definition globus_xio_tcp_driver.h:327
GLOBUS_XIO_TCP_SET_HANDLE
@ GLOBUS_XIO_TCP_SET_HANDLE
Definition globus_xio_tcp_driver.h:247
GLOBUS_XIO_TCP_GET_RESTRICT_PORT
@ GLOBUS_XIO_TCP_GET_RESTRICT_PORT
Definition globus_xio_tcp_driver.h:263
GLOBUS_XIO_TCP_SET_PORT
@ GLOBUS_XIO_TCP_SET_PORT
Definition globus_xio_tcp_driver.h:219
GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT
@ GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT
Definition globus_xio_tcp_driver.h:359
GLOBUS_XIO_TCP_GET_KEEPALIVE
@ GLOBUS_XIO_TCP_GET_KEEPALIVE
Definition globus_xio_tcp_driver.h:295
GLOBUS_XIO_TCP_SET_KEEPALIVE
@ GLOBUS_XIO_TCP_SET_KEEPALIVE
Definition globus_xio_tcp_driver.h:291
GLOBUS_XIO_TCP_GET_NODELAY
@ GLOBUS_XIO_TCP_GET_NODELAY
Definition globus_xio_tcp_driver.h:335
GLOBUS_XIO_TCP_GET_NO_IPV6
@ GLOBUS_XIO_TCP_GET_NO_IPV6
Definition globus_xio_tcp_driver.h:279
GLOBUS_XIO_TCP_GET_BACKLOG
@ GLOBUS_XIO_TCP_GET_BACKLOG
Definition globus_xio_tcp_driver.h:231
GLOBUS_XIO_TCP_SET_SERVICE
@ GLOBUS_XIO_TCP_SET_SERVICE
Definition globus_xio_tcp_driver.h:211
GLOBUS_XIO_TCP_GET_SERVICE
@ GLOBUS_XIO_TCP_GET_SERVICE
Definition globus_xio_tcp_driver.h:215
GLOBUS_XIO_TCP_GET_OOBINLINE
@ GLOBUS_XIO_TCP_GET_OOBINLINE
Definition globus_xio_tcp_driver.h:311
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT
@ GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT
Definition globus_xio_tcp_driver.h:351
globus_xio_tcp_error_type_t
globus_xio_tcp_error_type_t
Definition globus_xio_tcp_driver.h:188
GLOBUS_XIO_TCP_ERROR_NO_ADDRS
@ GLOBUS_XIO_TCP_ERROR_NO_ADDRS
Definition globus_xio_tcp_driver.h:193
globus_xio_tcp_send_flags_t
globus_xio_tcp_send_flags_t
Definition globus_xio_tcp_driver.h:382
GLOBUS_XIO_TCP_SEND_OOB
@ GLOBUS_XIO_TCP_SEND_OOB
Definition globus_xio_tcp_driver.h:387