Files
magenta/libmango/include-user/mango/msg.h
T

51 lines
1.1 KiB
C
Raw Normal View History

2026-02-19 19:22:06 +00:00
#ifndef MANGO_MSG_H_
#define MANGO_MSG_H_
#include <mango/status.h>
#include <mango/types.h>
extern kern_status_t channel_create(unsigned int id, kern_handle_t *out);
2026-02-19 19:22:06 +00:00
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 struct iovec *req_data,
size_t req_data_count,
struct iovec *resp_data,
size_t resp_data_count);
2026-02-19 19:22:06 +00:00
extern kern_status_t msg_recv(
kern_handle_t channel,
msgid_t *out_id,
struct iovec *out_data,
size_t out_data_count);
2026-02-19 19:22:06 +00:00
extern kern_status_t msg_reply(
kern_handle_t channel,
msgid_t id,
const struct iovec *reply_data,
size_t reply_data_count);
2026-02-19 19:22:06 +00:00
extern kern_status_t msg_read(
kern_handle_t channel,
msgid_t id,
size_t offset,
struct iovec *out,
size_t out_count,
size_t *nr_read);
2026-02-19 19:22:06 +00:00
extern kern_status_t msg_write(
kern_handle_t channel,
msgid_t id,
size_t offset,
const struct iovec *in,
size_t nr_in,
size_t *nr_written);
2026-02-19 19:22:06 +00:00
#endif