28 mos_panic(
"ipc_control_io_close: io->type != IO_IPC");
96 return server.getErr();
105 io->
server = server.get();
void ipc_server_close(IPCServer *server)
void ipc_server_close_channel(IpcDescriptor *ipc)
PtrResult< IpcDescriptor > ipc_connect_to_server(mos::string_view name, size_t buffer_size)
void ipc_client_close_channel(IpcDescriptor *ipc)
size_t ipc_server_read(IpcDescriptor *ipc, void *buffer, size_t size)
size_t ipc_client_write(IpcDescriptor *ipc, const void *buffer, size_t size)
size_t ipc_client_read(IpcDescriptor *ipc, void *buffer, size_t size)
size_t ipc_server_write(IpcDescriptor *ipc, const void *buffer, size_t size)
PtrResult< IpcDescriptor > ipc_server_accept(IPCServer *server)
PtrResult< IPCServer > ipc_server_create(mos::string_view name, size_t max_pending_connections)
PtrResult< IO > ipc_accept(IO *server)
Accept a new connection on an IPC server.
PtrResult< IpcConnectionIO > ipc_conn_io_create(IpcDescriptor *desc, bool isServerSide)
Create a new IPC connection io descriptor.
PtrResult< IO > ipc_connect(const char *name, size_t buffer_size)
Connect to an IPC servers.
PtrResult< IO > ipc_create(const char *name, size_t max_pending_connections)
Create a new IPC server.
T * create(Args &&...args)
#define mos_panic(fmt,...)
IO(IOFlags flags, io_type_t type)
size_t on_read(void *buf, size_t size)
IpcClientIO(IpcDescriptor *desc)
size_t on_write(const void *buf, size_t size)
IpcConnectionIO(IpcDescriptor *descriptor)
IpcDescriptor *const descriptor
size_t on_read(void *buf, size_t size)
IpcServerIO(IpcDescriptor *desc)
size_t on_write(const void *buf, size_t size)
#define container_of(ptr, type, member)