kernel: re-implement sending handles via port messages
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#define MANGO_LOG_H_
|
||||
|
||||
#include <mango/status.h>
|
||||
#include <mango/types.h>
|
||||
|
||||
#undef TRACE
|
||||
|
||||
@@ -9,18 +10,18 @@ extern kern_status_t kern_log(const char *s);
|
||||
|
||||
#define kern_logf(...) \
|
||||
do { \
|
||||
char s[128]; \
|
||||
snprintf(s, sizeof s, __VA_ARGS__); \
|
||||
kern_log(s); \
|
||||
char __logbuf[128]; \
|
||||
snprintf(__logbuf, sizeof __logbuf, __VA_ARGS__); \
|
||||
kern_log(__logbuf); \
|
||||
} while (0)
|
||||
|
||||
#ifdef TRACE
|
||||
#define kern_trace(...) kern_log(__VA_ARGS__)
|
||||
#define kern_tracef(...) \
|
||||
do { \
|
||||
char s[128]; \
|
||||
snprintf(s, sizeof s, __VA_ARGS__); \
|
||||
kern_log(s); \
|
||||
char __logbuf[128]; \
|
||||
snprintf(__logbuf, sizeof __logbuf, __VA_ARGS__); \
|
||||
kern_log(__logbuf); \
|
||||
} while (0)
|
||||
#else
|
||||
#define kern_trace(...)
|
||||
|
||||
@@ -14,28 +14,21 @@ 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);
|
||||
const kern_msg_t *msg,
|
||||
kern_msg_t *out_response);
|
||||
|
||||
extern kern_status_t msg_recv(
|
||||
kern_handle_t channel,
|
||||
msgid_t *out_id,
|
||||
struct iovec *out_data,
|
||||
size_t out_data_count);
|
||||
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 struct iovec *reply_data,
|
||||
size_t reply_data_count);
|
||||
const kern_msg_t *response);
|
||||
|
||||
extern kern_status_t msg_read(
|
||||
kern_handle_t channel,
|
||||
msgid_t id,
|
||||
size_t offset,
|
||||
struct iovec *out,
|
||||
kern_iovec_t *out,
|
||||
size_t out_count,
|
||||
size_t *nr_read);
|
||||
|
||||
@@ -43,7 +36,7 @@ extern kern_status_t msg_write(
|
||||
kern_handle_t channel,
|
||||
msgid_t id,
|
||||
size_t offset,
|
||||
const struct iovec *in,
|
||||
const kern_iovec_t *in,
|
||||
size_t nr_in,
|
||||
size_t *nr_written);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user