1 #ifndef ACL_MSGIO_INCLUDE_H 2 #define ACL_MSGIO_INCLUDE_H 8 #include "../stdlib/acl_define.h" 9 #include "../stdlib/acl_vstring.h" 10 #include "../stdlib/acl_ring.h" 11 #include "../aio/acl_aio.h" 22 #define ACL_MSGIO_OK 0 23 #define ACL_MSGIO_TIMEOUT 1 24 #define ACL_MSGIO_EXCEPT 2 25 #define ACL_MSGIO_CONNECT 3 26 #define ACL_MSGIO_CONNECT_TIMEOUT 4 27 #define ACL_MSGIO_QUIT 5 28 #define ACL_MSGIO_OPEN 6 30 #define ACL_MSGIO_USER 1000 66 #define ACL_MSGIO_ON_MSG(id, callback, arg) do { \ 67 acl_msgio_reg(NULL, id, callback, arg); \ ACL_API ACL_VSTREAM * acl_msgio_vstream(ACL_MSGIO *mio)
ACL_API void acl_msgio_init(void)
ACL_API ACL_MSGIO * acl_msgio_accept(ACL_MSGIO *listener)
ACL_API void acl_msgio_unreg(ACL_MSGIO *mio, int id, ACL_MSGIO_NOTIFY_FN callback)
ACL_API void acl_msgio_unreg_id(ACL_MSGIO *mio, int id)
ACL_API void acl_msgio_listen_reg(ACL_MSGIO *mio, int id, ACL_MSGIO_NOTIFY_FN callback, void *arg, int inherit)
struct ACL_MSGIO_INFO::@2 body
struct ACL_MSGIO ACL_MSGIO
struct ACL_MSGIO_INFO::@1 hdr
ACL_API int acl_msgio_wait(ACL_MSGIO *mio)
ACL_API ACL_MSGIO * acl_msgio_listen(ACL_AIO *aio, const char *addr)
ACL_API void acl_msgio_close(ACL_MSGIO *mio)
ACL_API ACL_ASTREAM * acl_msgio_astream(ACL_MSGIO *mio)
int(* ACL_MSGIO_NOTIFY_FN)(int msg_type, ACL_MSGIO *peer, const ACL_MSGIO_INFO *info, void *arg)
ACL_API ACL_AIO * acl_msgio_aio(ACL_MSGIO *mio)
ACL_API void acl_msgio_unreg_all(ACL_MSGIO *mio)
ACL_API void acl_msgio_set_noblock(ACL_AIO *aio, ACL_MSGIO *mio)
ACL_API void acl_msgio_addr(const ACL_MSGIO *mio, char *buf, size_t size)
ACL_API int acl_msgio_send(ACL_MSGIO *mio, int type, void *data, int dlen)
ACL_API ACL_MSGIO * acl_msgio_connect(ACL_AIO *aio, const char *addr, int timeout)
ACL_API void acl_msgio_reg(ACL_MSGIO *mio, int id, ACL_MSGIO_NOTIFY_FN callback, void *arg)