usock-udp (Unix Socket UDP)ο
Header: udo/usock-udp.h
Table of contents (click to go)ο
Macrosο
Enumsο
Unionsο
Structsο
Functionsο
API Documentationο
udo_usock_udp (private)ο
Structure defining UDO Unix Socket UDP context.
-
struct udo_usock_udpο
-
struct udo_log_error_struct err;ο
-
bool free;ο
-
int fd;ο
-
struct sockaddr_un addr;ο
-
struct sockaddr_un saddr;ο
err- Stores information about the error that occuredfor the given context and may later be retrievedby caller.
freefd- File descriptor to the open UDP socket
addr- Stores byte information about the UDP unix domainsocket context. Is used for client and server bind(2).
saddr- Stores byte information about the UDP unix domainsocket context. Is used for client connect(2).
-
struct udo_log_error_struct err;ο
udo_usock_udp_server_create_infoο
Structure passed to
udo_usock_udp_server_create()used to define how to create the server.
-
struct udo_usock_udp_server_create_infoο
-
const char *unix_path;ο
unix_path- Absolute path to unix domain socketto recvfrom(2) data with.
-
const char *unix_path;ο
udo_usock_udp_server_createο
-
struct udo_usock_udp *udo_usock_udp_server_create(struct udo_usock_udp *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_udpcontext.usock_info
Implementation uses a pointer to astructudo_usock_udp_server_create_info.
- Returns:
on success: Pointer to astructudo_usock_udpon failure:NULL
udo_usock_udp_server_recv_dataο
-
ssize_t udo_usock_udp_server_recv_data(struct udo_usock_udp *usock, void *data, const size_t size, struct sockaddr_un *addr, const void *usock_info);ο
Receive data from server socket file descriptor.
Param
Decription
usock
Pointer to astructudo_usock_udpcontext.data
Pointer to buffer to store data received from a socket.size
Size of data to receive from a socket.addr
Pointer tostructsockaddr_un which stores theaddress information of the socket that datawas received from.usock_info
Reserved for future usage. For now usedto set the flag argument of recvfrom(2).
- Returns:
on success: Amount of bytes receivedon failure: # < 0
udo_usock_udp_client_create_infoο
Structure passed to
udo_usock_udp_client_create()used to define how to create the client.
-
struct udo_usock_udp_client_create_infoο
-
srv_unix_path- Absolute path to unix domain socket to write to.
cli_unix_path- Absolute path to unix domain socket to read with.Largely so the
srv_unix_pathknows the path tothe client when leveraging the recvfrom(2) call.
udo_usock_udp_client_createο
-
struct udo_usock_udp *udo_usock_udp_client_create(struct udo_usock_udp *usock, const void *usock_info);ο
Creates a socket that may be utilized for client socket operations.
Fliters client socket to allow sending data without passing a
NOTE: Due to filtering approach caller must first create
the server via
udo_usock_udp_server_create(). So, thatthe connect(2) call doesnβt fail.
Param
Decription
usock
IfNULLmemory will be allocated and return tocaller. If notNULLaddress passed will be usedto store the newly createdstructudo_usock_udpcontext.usock_info
Implementation uses a pointer to astructudo_usock_udp_client_create_info.
- Returns:
on success: Pointer to astructudo_usock_udpon failure:NULL
udo_usock_udp_client_send_dataο
-
ssize_t udo_usock_udp_client_send_data(struct udo_usock_udp *usock, const void *data, const size_t size, const void *usock_info);ο
Send data to client socket address provided via
call to
udo_usock_udp_client_create().
Param
Must pass a pointer to astructudo_usock_udp.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 sendto(2).
- Returns:
on success: Amount of bytes senton failure: # < 0
udo_usock_udp_get_fdο
-
int udo_usock_udp_get_fd(struct udo_usock_udp *usock);ο
Acquire socket file descriptor associated with
struct udo_usock_udp context.
Param
Decription
usock
Must pass a pointer to astructudo_usock_udp.
- Returns:
on success: Unix domain socket file descriptoron failure: -1
udo_usock_udp_get_unix_pathο
-
const char *udo_usock_udp_get_unix_path(struct udo_usock_udp *usock);ο
Acquire textual path to unix domain socket file in string
format associated with
struct udo_usock_udp context.
Param
Decription
usock
Must pass a pointer to astructudo_usock_udp.
- Returns:
on success: Textual path to unix domain socketon failure:NULL
udo_usock_udp_destroyο
-
void udo_usock_udp_destroy(struct udo_usock_udp *usock);ο
Frees any allocated memory and closes FDβs (if open) created after
Param
Decription
usock
Pointer to a validstructudo_usock_udp.
udo_usock_udp_get_sizeofο
-
int udo_usock_udp_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_udp)on failure: sizeof(structudo_usock_udp)
udo_usock_udp_recv_dataο
-
ssize_t udo_usock_udp_recv_data(const int sock_fd, void *data, const size_t size, struct sockaddr_un *addr, 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.addr
Pointer tostructsockaddr_un which stores theaddress information of the socket that datawas received from.usock_info
Reserved for future usage. For now usedto set the flag argument of recvfrom(2).
- Returns:
on success: Amount of bytes receivedon failure: # < 0
udo_usock_udp_send_dataο
-
ssize_t udo_usock_udp_send_data(const int sock_fd, const void *data, const size_t size, const struct sockaddr_un *addr, 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.addr
Pointer tostructsockaddr_un which stores theaddress information of a socket that datawill be sent to.usock_info
Reserved for future usage. For now usedto set the flag argument of sendto(2).
- Returns:
on success: Amount of bytes senton failure: # < 0