From 36c764be1c702a0dbff1c076d53f90c0a29b999a Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Mon, 23 Apr 2007 11:59:19 +0000 Subject: [PATCH] Asynchronous send. --- include/minix/ipc.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/include/minix/ipc.h b/include/minix/ipc.h index 1cf3a6751..91ff07745 100644 --- a/include/minix/ipc.h +++ b/include/minix/ipc.h @@ -101,18 +101,37 @@ typedef struct { * Minix run-time system (IPC). * *==========================================================================*/ +/* Datastructure for asynchronous sends */ +typedef struct asynmsg +{ + unsigned flags; + endpoint_t dst; + int result; + message msg; +} asynmsg_t; + +/* Defines for flags field */ +#define AMF_EMPTY 0 /* slot is not inuse */ +#define AMF_VALID 1 /* slot contains message */ +#define AMF_DONE 2 /* Kernel has processed the message. The + * result is stored in 'result' + */ +#define AMF_NOTIFY 4 /* Send a notification when AMF_DONE is set */ + /* Hide names to avoid name space pollution. */ #define echo _echo #define notify _notify #define sendrec _sendrec #define receive _receive #define send _send +#define senda _senda _PROTOTYPE( int echo, (message *m_ptr) ); _PROTOTYPE( int notify, (endpoint_t dest) ); _PROTOTYPE( int sendrec, (endpoint_t src_dest, message *m_ptr) ); _PROTOTYPE( int receive, (endpoint_t src, message *m_ptr) ); _PROTOTYPE( int send, (endpoint_t dest, message *m_ptr) ); +_PROTOTYPE( int senda, (asynmsg_t *table, size_t count) ); #define ipc_request _ipc_request #define ipc_reply _ipc_reply -- 2.44.0