summaryrefslogtreecommitdiff
path: root/minix/lib/libsys/kernel_call.c
blob: ed92b73424c9d0464cbfc478ab6b5cb887080742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#define _SYSTEM 1

#include <lib.h>
#include <minix/syslib.h>
#include <minix/sysutil.h>

int _kernel_call(int syscallnr, message *msgptr)
{
  int t, r;
  t = 1;
  while(1) {
      msgptr->m_type = syscallnr;
      do_kernel_call(msgptr);
      r = msgptr->m_type;
      if(r != ENOTREADY) {
          break;
      }
      tickdelay(t++);
  }
  return r;
}