52#define VLCB_NET_SOCK_LIST(name, size) \
53 VlcbNetSocketHandle name##_data[size]; \
54 VlcbNetSocketList name = vlcb_net_sock_list_New(data_##name, size);
const char *const vlcb_error
#define _INTERFACE_DECLARE(T,...)
#define _INTERFACE_METHOD_DECLARE(retT, name,...)
#define _INTERFACE_SELF_PTR_MUT(T)
VlcbNetSocketDispatchErr DispatchPacket(const VlcbNetSocketDatagram *const self, VlcbNetPacket *const packet)
VlcbNetSocketProcessErr ProcessPacket(const VlcbNetSocketDatagram *const self, const VlcbNetPacket *const packet)
bool SupportsProtocol(VlcbNetProtocol proto)
int vlcb_net_sock_list_Insert(VlcbNetSocketList *const list, VlcbNetSocketHandle sock)
bool vlcb_net_sock_list_iter_HasNext(VlcbNetSocketListIter *const iter)
VlcbNetSocketList vlcb_net_sock_list_New(VlcbNetSocketHandle *const buf, size_t size)
@ VLCB_NET_SOCK_PROC_ERR_RX_BUF_FULL
@ VLCB_NET_SOCK_PROC_ERR_PAYLOAD_TOO_LARGE
@ VLCB_NET_SOCK_PROC_ERR_OK
@ VLCB_NET_SOCK_PROC_ERR_UNKNOWN
@ VLCB_NET_SOCK_PROC_ERR_COUNT
VlcbNetSocketHandle vlcb_net_sock_list_iter_Next(VlcbNetSocketListIter *const iter)
vlcb_error vlcb_net_sock_ProcessErrToStr(VlcbNetSocketProcessErr err)
VlcbNetSocketListIter vlcb_net_sock_list_GetIterator(const VlcbNetSocketList *const list)
void vlcb_net_sock_list_iter_Reset(VlcbNetSocketListIter *const iter)
@ VLCB_NET_SOCK_DISP_ERR_OK
@ VLCB_NET_SOCK_DISP_ERR_WOULD_BLOCK
@ VLCB_NET_SOCK_DISP_ERR_COUNT
IVlcbNetSocket * VlcbNetSocketHandle
vlcb_error vlcb_net_sock_DispatchErrToStr(VlcbNetSocketDispatchErr err)
const VlcbNetSocketList *const list
VlcbNetSocketHandle *const buf