builtins/t...p_driver.h(3)
π builtins/t...p_driver.h(3) β Library Functions Manual π
okay so bestie, we're reading the builtins/t...p_driver.h(3) page from the Library Functions Manual, and it's literally the header file page for the XIO TCP Driver. no cap, it's a header, so it's mostly a big beautiful list of things. let's get into it π¦
β¨ NAME β¨
builtins/tcp/globus_xio_tcp_driver.h β Header file for XIO TCP Driver. that's it, that's the whole name section, she's concise π
πΈ SYNOPSIS πΈ
#include 'globus_xio_system.h'
yes the include really is written with those little single quotes in the source, we are copying it exactly, do not come for me π
π Macros π
#define GLOBUS_XIO_TCP_INVALID_HANDLEβ one singular macro, and it's the invalid-handle one. iconic, honestly.
π§ Enumerations π§
okay so there are three enums and the second one is LOWKEY massive, so buckle up π
enum globus_xio_tcp_error_type_tβ exactly one member in there:
enum globus_xio_tcp_error_type_t { GLOBUS_XIO_TCP_ERROR_NO_ADDRS }
enum globus_xio_tcp_cmd_tβ the big one, the main character. here's every single member, in order, no skipping, periodt:
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 }
notice the set/get symmetry? the way she has a SET and a GET for almost everything? that's the vibe, iykyk π
enum globus_xio_tcp_send_flags_tβ one member, and it's literally aliased to a system value:
enum globus_xio_tcp_send_flags_t { GLOBUS_XIO_TCP_SEND_OOB = MSG_OOB }
π Functions π
this is the long part. every prototype, exactly as written, in the same order. these are all globus_result_t returns, which is giving "we return a result object, not a plain int" energy π«
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)
quick heads up bestie:resuseaddrandresuseaddr_outare spelled that way in the source, and yes i am keeping the typo because the RULE says character for character π do not "fix" it, she's canon now.
and notice the three different cntl flavours floating around β globus_xio_attr_cntl, globus_xio_handle_cntl, globus_xio_server_cntl, plus one lonely globus_xio_data_descriptor_cntl β that's not me being messy, that's literally how they're written π
π Detailed Description π
Header file for XIO TCP Driver.
π Author π
Generated automatically by Doxygen for globus_xio from the source code.
okay and that's the whole page, we ate and left no crumbs π«Ά this was globus_xio, Version 6.6, and the page itself is builtins/t...p_driver.h(3) β shoutout to Doxygen for auto-generating the author line, and to you for reading all 60-something prototypes with me. slay, bestie, go set some TCP options π
β¨
π¦ where this page comes from
- epel 10: globus-xio-doc 6.6-4.el10_0 Β· Apache-2.0
- fedora 43: globus-xio-doc 6.6-9.fc43 Β· Apache-2.0
- fedora 44: globus-xio-doc 6.6-10.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-xio-doc 6.6-3build2 Β· Apache-2.0
- ubuntu stonking: libglobus-xio-doc 6.6-4 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms