globus_xio  6.0
globus_xio_tcp_driver.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_XIO_TCP_DRIVER_INCLUDE
18 #define GLOBUS_XIO_TCP_DRIVER_INCLUDE
19 
23 #include "globus_xio_system.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
172 #define GLOBUS_XIO_TCP_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_SOCKET
173 
178 typedef enum
179 {
186 
202 typedef enum
203 {
216  /* const char * service_name */
218 
228  /* char ** service_name_out */
230 
244  /* int listener_port */
246 
254  /* int * listener_port_out */
256 
269  /* int listener_backlog */
271 
279  /* int * listener_backlog_out */
281 
300  /* int listener_min_port,
301  * int listener_max_port */
303 
314  /* int * listener_min_port_out,
315  * int * listener_max_port_out */
317 
326  /* globus_xio_system_socket_t * handle_out */
328 
339  /* globus_xio_system_socket_t handle */
341 
353  /* const char * interface */
355 
365  /* char ** interface_out */
367 
381  /* globus_bool_t restrict_port */
383 
391  /* globus_bool_t * restrict_port_out */
393 
406  /* globus_bool_t resuseaddr */
408 
416  /* globus_bool_t * resuseaddr_out */
418 
431  /* globus_bool_t no_ipv6 */
433 
441  /* globus_bool_t * no_ipv6_out */
443 
460  /* int connector_min_port,
461  * int connector_max_port */
463 
474  /* int * connector_min_port_out,
475  * int * connector_max_port_out */
477 
492  /* globus_bool_t keepalive */
494 
502  /* globus_bool_t * keepalive_out */
504 
525  /* globus_bool_t linger,
526  * int linger_time */
528 
539  /* globus_bool_t * linger_out,
540  * int * linger_time_out */
542 
554  /* globus_bool_t oobinline */
556 
564  /* globus_bool_t * oobinline_out */
566 
579  /* int sndbuf */
581 
589  /* int * sndbuf_out */
591 
606  /* int rcvbuf */
608 
616  /* int * rcvbuf_out */
618 
633  /* globus_bool_t nodelay */
635 
643  /* globus_bool_t * nodelay_out */
645 
656  /* int send_flags */
658 
666  /* int * send_flags_out */
668 
681  /* char ** contact_string_out */
683 
695  /* char ** contact_string_out */
697 
709  /* char ** contact_string_out */
711 
723  /* char ** contact_string_out */
725 
740  /* globus_bool_t affect_global */
742 
752  /* globus_bool_t use_blocking_io */
754 
762  /* globus_bool_t * use_blocking_io_out */
764 
766 
767 
773 typedef enum
774 {
779  GLOBUS_XIO_TCP_SEND_OOB = MSG_OOB
781 
782 #ifdef __cplusplus
783 }
784 #endif
785 
786 #endif
GLOBUS_XIO_TCP_ERROR_NO_ADDRS
@ GLOBUS_XIO_TCP_ERROR_NO_ADDRS
Definition: globus_xio_tcp_driver.h:184
GLOBUS_XIO_TCP_GET_LISTEN_RANGE
@ GLOBUS_XIO_TCP_GET_LISTEN_RANGE
Definition: globus_xio_tcp_driver.h:230
GLOBUS_XIO_TCP_GET_REMOTE_CONTACT
@ GLOBUS_XIO_TCP_GET_REMOTE_CONTACT
Definition: globus_xio_tcp_driver.h:346
GLOBUS_XIO_TCP_SET_CONNECT_RANGE
@ GLOBUS_XIO_TCP_SET_CONNECT_RANGE
Definition: globus_xio_tcp_driver.h:274
globus_xio_tcp_cmd_t
globus_xio_tcp_cmd_t
Definition: globus_xio_tcp_driver.h:198
GLOBUS_XIO_TCP_SET_LISTEN_RANGE
@ GLOBUS_XIO_TCP_SET_LISTEN_RANGE
Definition: globus_xio_tcp_driver.h:226
GLOBUS_XIO_TCP_SET_HANDLE
@ GLOBUS_XIO_TCP_SET_HANDLE
Definition: globus_xio_tcp_driver.h:238
GLOBUS_XIO_TCP_GET_KEEPALIVE
@ GLOBUS_XIO_TCP_GET_KEEPALIVE
Definition: globus_xio_tcp_driver.h:286
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS
@ GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS
Definition: globus_xio_tcp_driver.h:354
GLOBUS_XIO_TCP_SEND_OOB
@ GLOBUS_XIO_TCP_SEND_OOB
Definition: globus_xio_tcp_driver.h:378
GLOBUS_XIO_TCP_GET_RESTRICT_PORT
@ GLOBUS_XIO_TCP_GET_RESTRICT_PORT
Definition: globus_xio_tcp_driver.h:254
GLOBUS_XIO_TCP_SET_SEND_FLAGS
@ GLOBUS_XIO_TCP_SET_SEND_FLAGS
Definition: globus_xio_tcp_driver.h:330
GLOBUS_XIO_TCP_SET_BACKLOG
@ GLOBUS_XIO_TCP_SET_BACKLOG
Definition: globus_xio_tcp_driver.h:218
GLOBUS_XIO_TCP_GET_LOCAL_CONTACT
@ GLOBUS_XIO_TCP_GET_LOCAL_CONTACT
Definition: globus_xio_tcp_driver.h:338
GLOBUS_XIO_TCP_GET_SNDBUF
@ GLOBUS_XIO_TCP_GET_SNDBUF
Definition: globus_xio_tcp_driver.h:310
GLOBUS_XIO_TCP_GET_RCVBUF
@ GLOBUS_XIO_TCP_GET_RCVBUF
Definition: globus_xio_tcp_driver.h:318
GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT
@ GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT
Definition: globus_xio_tcp_driver.h:350
GLOBUS_XIO_TCP_GET_LINGER
@ GLOBUS_XIO_TCP_GET_LINGER
Definition: globus_xio_tcp_driver.h:294
GLOBUS_XIO_TCP_GET_PORT
@ GLOBUS_XIO_TCP_GET_PORT
Definition: globus_xio_tcp_driver.h:214
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT
@ GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT
Definition: globus_xio_tcp_driver.h:342
GLOBUS_XIO_TCP_SET_RESTRICT_PORT
@ GLOBUS_XIO_TCP_SET_RESTRICT_PORT
Definition: globus_xio_tcp_driver.h:250
GLOBUS_XIO_TCP_SET_SNDBUF
@ GLOBUS_XIO_TCP_SET_SNDBUF
Definition: globus_xio_tcp_driver.h:306
GLOBUS_XIO_TCP_SET_LINGER
@ GLOBUS_XIO_TCP_SET_LINGER
Definition: globus_xio_tcp_driver.h:290
GLOBUS_XIO_TCP_SET_PORT
@ GLOBUS_XIO_TCP_SET_PORT
Definition: globus_xio_tcp_driver.h:210
GLOBUS_XIO_TCP_GET_BACKLOG
@ GLOBUS_XIO_TCP_GET_BACKLOG
Definition: globus_xio_tcp_driver.h:222
GLOBUS_XIO_TCP_GET_NODELAY
@ GLOBUS_XIO_TCP_GET_NODELAY
Definition: globus_xio_tcp_driver.h:326
GLOBUS_XIO_TCP_GET_INTERFACE
@ GLOBUS_XIO_TCP_GET_INTERFACE
Definition: globus_xio_tcp_driver.h:246
GLOBUS_XIO_TCP_GET_SEND_FLAGS
@ GLOBUS_XIO_TCP_GET_SEND_FLAGS
Definition: globus_xio_tcp_driver.h:334
GLOBUS_XIO_TCP_SET_BLOCKING_IO
@ GLOBUS_XIO_TCP_SET_BLOCKING_IO
Definition: globus_xio_tcp_driver.h:358
GLOBUS_XIO_TCP_GET_SERVICE
@ GLOBUS_XIO_TCP_GET_SERVICE
Definition: globus_xio_tcp_driver.h:206
globus_xio_tcp_error_type_t
globus_xio_tcp_error_type_t
Definition: globus_xio_tcp_driver.h:178
GLOBUS_XIO_TCP_SET_REUSEADDR
@ GLOBUS_XIO_TCP_SET_REUSEADDR
Definition: globus_xio_tcp_driver.h:258
GLOBUS_XIO_TCP_GET_REUSEADDR
@ GLOBUS_XIO_TCP_GET_REUSEADDR
Definition: globus_xio_tcp_driver.h:262
GLOBUS_XIO_TCP_SET_KEEPALIVE
@ GLOBUS_XIO_TCP_SET_KEEPALIVE
Definition: globus_xio_tcp_driver.h:282
GLOBUS_XIO_TCP_SET_NODELAY
@ GLOBUS_XIO_TCP_SET_NODELAY
Definition: globus_xio_tcp_driver.h:322
GLOBUS_XIO_TCP_GET_HANDLE
@ GLOBUS_XIO_TCP_GET_HANDLE
Definition: globus_xio_tcp_driver.h:234
GLOBUS_XIO_TCP_SET_RCVBUF
@ GLOBUS_XIO_TCP_SET_RCVBUF
Definition: globus_xio_tcp_driver.h:314
GLOBUS_XIO_TCP_GET_OOBINLINE
@ GLOBUS_XIO_TCP_GET_OOBINLINE
Definition: globus_xio_tcp_driver.h:302
GLOBUS_XIO_TCP_SET_NO_IPV6
@ GLOBUS_XIO_TCP_SET_NO_IPV6
Definition: globus_xio_tcp_driver.h:266
GLOBUS_XIO_TCP_GET_NO_IPV6
@ GLOBUS_XIO_TCP_GET_NO_IPV6
Definition: globus_xio_tcp_driver.h:270
GLOBUS_XIO_TCP_SET_OOBINLINE
@ GLOBUS_XIO_TCP_SET_OOBINLINE
Definition: globus_xio_tcp_driver.h:298
GLOBUS_XIO_TCP_SET_SERVICE
@ GLOBUS_XIO_TCP_SET_SERVICE
Definition: globus_xio_tcp_driver.h:202
GLOBUS_XIO_TCP_GET_BLOCKING_IO
@ GLOBUS_XIO_TCP_GET_BLOCKING_IO
Definition: globus_xio_tcp_driver.h:362
GLOBUS_XIO_TCP_GET_CONNECT_RANGE
@ GLOBUS_XIO_TCP_GET_CONNECT_RANGE
Definition: globus_xio_tcp_driver.h:278
globus_xio_tcp_send_flags_t
globus_xio_tcp_send_flags_t
Definition: globus_xio_tcp_driver.h:372
GLOBUS_XIO_TCP_SET_INTERFACE
@ GLOBUS_XIO_TCP_SET_INTERFACE
Definition: globus_xio_tcp_driver.h:242