#ifndef MANGO_MSG_H_ #define MANGO_MSG_H_ #include #include extern kern_status_t channel_create(unsigned int id, kern_handle_t *out); extern kern_status_t port_create(kern_handle_t *out); extern kern_status_t port_connect( kern_handle_t port, tid_t task_id, unsigned int channel_id); extern kern_status_t port_disconnect(kern_handle_t port); extern kern_status_t msg_send( kern_handle_t port, const kern_msg_t *msg, kern_msg_t *out_response); extern kern_status_t msg_recv(kern_handle_t channel, kern_msg_t *out); extern kern_status_t msg_reply( kern_handle_t channel, msgid_t id, const kern_msg_t *response); extern kern_status_t msg_read( kern_handle_t channel, msgid_t id, size_t offset, kern_iovec_t *out, size_t out_count, size_t *nr_read); extern kern_status_t msg_write( kern_handle_t channel, msgid_t id, size_t offset, const kern_iovec_t *in, size_t nr_in, size_t *nr_written); #endif