minix/lib/libsys/taskcall.c
Ben Gras 80846c4a79 kernel ipc debug: various fixes
. add receive hooks in the kernel to print asynchronously
	  delivered messages
	. do not rely on MF_REPLY_PEND to decide between calls and errors,
	  as that isn't reliable for asynchronous messages; try both instead
	. add _sendcall() that extract-mfield.sh can then reliably recognize
	  the fields for messages that are sent with just send()
	. add DEBUG_DUMPIPC_NAMES to restrict printed messages to
	  from/to given process names

Change-Id: Ia65eb02a69a2b58e73bf9f009987be06dda774a3
2013-05-01 21:40:23 +00:00

28 lines
560 B
C

/* _taskcall() is the same as _syscall() except it returns negative error
* codes directly and not in errno. This is a better interface for PM and
* VFS.
*/
#include <lib.h>
#include <minix/syslib.h>
int _sendcall(endpoint_t who, int type, message *msgptr)
{
msgptr->m_type = type;
return send(who, msgptr);
}
int _taskcall(who, syscallnr, msgptr)
endpoint_t who;
int syscallnr;
register message *msgptr;
{
int status;
msgptr->m_type = syscallnr;
status = sendrec(who, msgptr);
if (status != 0) return(status);
return(msgptr->m_type);
}