From: Philip Homburg Date: Mon, 23 Apr 2007 11:59:19 +0000 (+0000) Subject: Asynchronous send. X-Git-Tag: v3.1.4~436 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/doc/syslog.conf.5.html?a=commitdiff_plain;h=36c764be1c702a0dbff1c076d53f90c0a29b999a;p=minix.git Asynchronous send. --- 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