usock-tcp (Unix Socket TCP)ï
Header: udo/usock-tcp.h
Table of contents (click to go)ï
Macrosï
Enumsï
Unionsï
Structsï
Functionsï
API Documentationï
udo_usock_tcp (private)ï
Structure defining UDO Unix Domain Socket TCP context.
udo_usock_tcp_server_create_infoï
Structure passed to
udo_usock_tcp_server_create()used to define how to create the server.
-
struct udo_usock_tcp_server_create_infoï
-
unix_path- Absolute path to unix domain socket.
connections- Amount of connections that may be queuedat a given moment.
udo_usock_tcp_server_createï
-
struct udo_usock_tcp *udo_usock_tcp_server_create(struct udo_usock_tcp *usock, const void *usock_info);ï
Creates a socket that may be utilized for server socket operations.
Param
Decription
usock
IfNULLmemory will be allocated and return tocaller. If notNULLaddress passed will be usedto store the newly createdstructudo_usock_tcpcontext.usock_info
Implementation uses a pointer to astructudo_usock_tcp_server_create_info.
- Returns:
on success: Pointer to astructudo_usock_tcpon failure:NULL
udo_usock_tcp_server_acceptï
-
int udo_usock_tcp_server_accept(struct udo_usock_tcp *usock, struct sockaddr_un *addr);ï
Accepts client connections returns file descriptor
to the connected client.
Param
Decription
usock
Must pass a pointer to astructudo_usock_tcp.addr
If not NULLaddris filled in via accept(2) call.
- Returns:
on success: Open file descriptor to accepted clienton failure: -1
udo_usock_tcp_client_create_infoï
Structure passed to
udo_usock_tcp_client_create()used to define how to create the client.
udo_usock_tcp_client_createï
-
struct udo_usock_tcp *udo_usock_tcp_client_create(struct udo_usock_tcp *usock, const void *usock_info);ï
Creates a socket that may be utilized for client socket operations.
Param
Decription
usock
IfNULLmemory will be allocated and return tocaller. If notNULLaddress passed will be usedto store the newly createdstructudo_usock_tcpcontext.usock_info
Implementation uses a pointer to astructudo_usock_tcp_client_create_info.
- Returns:
on success: Pointer to astructudo_usock_tcpon failure:NULL
udo_usock_tcp_client_connectï
-
int udo_usock_tcp_client_connect(struct udo_usock_tcp *usock);ï
Connects client socket to address provided via
call to
udo_usock_tcp_client_create().
Param
Decription
usock
Must pass a pointer to astructudo_usock_tcp.
- Returns:
on success: 0on failure: -1
udo_usock_tcp_client_send_dataï
-
ssize_t udo_usock_tcp_client_send_data(struct udo_usock_tcp *usock, const void *data, const size_t size, const void *usock_info);ï
Send data to client socket address provided via
call to
udo_usock_tcp_client_create().
Param
Decription
usock
Must pass a pointer to astructudo_usock_tcp.data
Pointer to buffer to send through socket.size
Size of data to send through socket.usock_info
Reserved for future usage. For now usedto set the flag argument of send(2).
- Returns:
on success: Amount of bytes senton failure: # < 0
udo_usock_tcp_get_fdï
-
int udo_usock_tcp_get_fd(struct udo_usock_tcp *usock);ï
Acquire socket file descriptor associated with
struct udo_usock_tcp context.
Param
Decription
usock
Must pass a pointer to astructudo_usock_tcp.
- Returns:
on success: TCP unix domain socket file descriptoron failure: -1
udo_usock_tcp_get_unix_pathï
-
const char *udo_usock_tcp_get_unix_path(struct udo_usock_tcp *usock);ï
Acquire textual path to unix domain socket file in string
format associated with
struct udo_usock_tcp context.
Param
Decription
usock
Must pass a pointer to astructudo_usock_tcp.
- Returns:
on success: Textual path to unix domain socketon failure:NULL
udo_usock_tcp_destroyï
-
void udo_usock_tcp_destroy(struct udo_usock_tcp *usock);ï
Frees any allocated memory and closes FDâs (if open) created after
Param
Decription
usock
Pointer to a validstructudo_usock_tcp.
udo_usock_tcp_get_sizeofï
-
int udo_usock_tcp_get_sizeof(void);ï
Returns size of the internal structure. So,
if caller decides to allocate memory outside
of API interface they know the exact amount
of bytes.
- Returns:
on success: sizeof(structudo_usock_tcp)on failure: sizeof(structudo_usock_tcp)
udo_usock_tcp_recv_dataï
-
ssize_t udo_usock_tcp_recv_data(const int sock_fd, void *data, const size_t size, const void *usock_info);ï
Receive data from socket file descriptor.
Param
Decription
sock_fd
Socket file descriptor to receive data from.data
Pointer to buffer to store data received from a socket.size
Size of data to receive from a socket.usock_info
Reserved for future usage. For now usedto set the flag argument of recv(2).
- Returns:
on success: Amount of bytes receivedon failure: # < 0
udo_usock_tcp_send_dataï
-
ssize_t udo_usock_tcp_send_data(const int sock_fd, const void *data, const size_t size, const void *usock_info);ï
Send data to socket file descriptor.
Param
Decription
sock_fd
Socket file descriptor to send data to.data
Pointer to buffer to send through socket.size
Size of data to send through socket.usock_info
Reserved for future usage. For now usedto set the flag argument of send(2).
- Returns:
on success: Amount of bytes senton failure: # < 0