builtins/tcp/globus_xio_tcp_driver.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef GLOBUS_XIO_TCP_DRIVER_INCLUDE
00018 #define GLOBUS_XIO_TCP_DRIVER_INCLUDE
00019 
00023 #include "globus_xio_system.h"
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00172 #define GLOBUS_XIO_TCP_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_SOCKET
00173 
00178 typedef enum
00179 {
00184     GLOBUS_XIO_TCP_ERROR_NO_ADDRS
00185 } globus_xio_tcp_error_type_t;
00186 
00202 typedef enum
00203 {
00216     /* const char *                     service_name */
00217     GLOBUS_XIO_TCP_SET_SERVICE,
00218     
00228     /* char **                          service_name_out */
00229     GLOBUS_XIO_TCP_GET_SERVICE,
00230     
00244     /* int                              listener_port */
00245     GLOBUS_XIO_TCP_SET_PORT,
00246     
00254     /* int *                            listener_port_out */
00255     GLOBUS_XIO_TCP_GET_PORT,
00256     
00269     /* int                              listener_backlog */
00270     GLOBUS_XIO_TCP_SET_BACKLOG,
00271     
00279     /* int *                            listener_backlog_out */
00280     GLOBUS_XIO_TCP_GET_BACKLOG,
00281     
00300     /* int                              listener_min_port,
00301      * int                              listener_max_port */
00302     GLOBUS_XIO_TCP_SET_LISTEN_RANGE,
00303     
00314     /* int *                            listener_min_port_out,
00315      * int *                            listener_max_port_out */
00316     GLOBUS_XIO_TCP_GET_LISTEN_RANGE,
00317     
00326     /* globus_xio_system_socket_t *     handle_out */
00327     GLOBUS_XIO_TCP_GET_HANDLE,
00328     
00339     /* globus_xio_system_socket_t        handle */
00340     GLOBUS_XIO_TCP_SET_HANDLE,
00341     
00353     /* const char *                     interface */
00354     GLOBUS_XIO_TCP_SET_INTERFACE,
00355     
00365     /* char **                          interface_out */
00366     GLOBUS_XIO_TCP_GET_INTERFACE,
00367     
00381     /* globus_bool_t                    restrict_port */
00382     GLOBUS_XIO_TCP_SET_RESTRICT_PORT,
00383     
00391     /* globus_bool_t *                  restrict_port_out */
00392     GLOBUS_XIO_TCP_GET_RESTRICT_PORT,
00393     
00406     /* globus_bool_t                    resuseaddr */
00407     GLOBUS_XIO_TCP_SET_REUSEADDR,
00408     
00416     /* globus_bool_t *                  resuseaddr_out */
00417     GLOBUS_XIO_TCP_GET_REUSEADDR,
00418     
00431     /* globus_bool_t                    no_ipv6 */
00432     GLOBUS_XIO_TCP_SET_NO_IPV6,
00433     
00441     /* globus_bool_t *                  no_ipv6_out */
00442     GLOBUS_XIO_TCP_GET_NO_IPV6,
00443     
00460     /* int                              connector_min_port,
00461      * int                              connector_max_port */
00462     GLOBUS_XIO_TCP_SET_CONNECT_RANGE,
00463     
00474     /* int *                            connector_min_port_out,
00475      * int *                            connector_max_port_out */
00476     GLOBUS_XIO_TCP_GET_CONNECT_RANGE,
00477     
00492     /* globus_bool_t                    keepalive */
00493     GLOBUS_XIO_TCP_SET_KEEPALIVE,
00494     
00502     /* globus_bool_t *                  keepalive_out */
00503     GLOBUS_XIO_TCP_GET_KEEPALIVE,
00504     
00525     /* globus_bool_t                    linger,
00526      * int                              linger_time */
00527     GLOBUS_XIO_TCP_SET_LINGER,
00528     
00539     /* globus_bool_t *                  linger_out,
00540      * int *                            linger_time_out */
00541     GLOBUS_XIO_TCP_GET_LINGER,
00542     
00554     /* globus_bool_t                    oobinline */
00555     GLOBUS_XIO_TCP_SET_OOBINLINE,
00556     
00564     /* globus_bool_t *                  oobinline_out */
00565     GLOBUS_XIO_TCP_GET_OOBINLINE,
00566     
00579     /* int                              sndbuf */
00580     GLOBUS_XIO_TCP_SET_SNDBUF,
00581     
00589     /* int *                            sndbuf_out */
00590     GLOBUS_XIO_TCP_GET_SNDBUF,
00591     
00606     /* int                              rcvbuf */
00607     GLOBUS_XIO_TCP_SET_RCVBUF,
00608     
00616     /* int *                            rcvbuf_out */
00617     GLOBUS_XIO_TCP_GET_RCVBUF,
00618     
00633     /* globus_bool_t                    nodelay */
00634     GLOBUS_XIO_TCP_SET_NODELAY,
00635     
00643     /* globus_bool_t *                  nodelay_out */
00644     GLOBUS_XIO_TCP_GET_NODELAY,
00645     
00656     /* int                              send_flags */
00657     GLOBUS_XIO_TCP_SET_SEND_FLAGS,
00658     
00666     /* int *                            send_flags_out */
00667     GLOBUS_XIO_TCP_GET_SEND_FLAGS,
00668     
00681     /* char **                          contact_string_out */
00682     GLOBUS_XIO_TCP_GET_LOCAL_CONTACT,
00683     
00695     /* char **                          contact_string_out */
00696     GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT,
00697     
00709     /* char **                          contact_string_out */
00710     GLOBUS_XIO_TCP_GET_REMOTE_CONTACT,
00711     
00723     /* char **                          contact_string_out */
00724     GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT,
00725     
00740     /* globus_bool_t                    affect_global */
00741     GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS,
00742     
00752     /* globus_bool_t                    use_blocking_io */
00753     GLOBUS_XIO_TCP_SET_BLOCKING_IO,
00754     
00762     /* globus_bool_t *                  use_blocking_io_out */
00763     GLOBUS_XIO_TCP_GET_BLOCKING_IO
00764     
00765 } globus_xio_tcp_cmd_t;
00766 
00767 
00773 typedef enum
00774 {
00779     GLOBUS_XIO_TCP_SEND_OOB = MSG_OOB
00780 } globus_xio_tcp_send_flags_t;
00781 
00782 #ifdef __cplusplus
00783 }
00784 #endif
00785 
00786 #endif

Generated on 2 May 2016 for globus_xio by  doxygen 1.4.7