#include <xr/BasicTypes.h>
#include <xr/Threads.h>
#include <xr/sMisc.h>
#include <xr/UIOBasic.h>
XR←Fildes
XR←Open4(name, flags, mode, kind)
char *name;
unsigned flags;
unsigned mode;
XR←FDKind kind;
{
return XR←Open(name, flags, mode);
}
XR←Fildes
XR←Open(name, flags, mode)
{
return(open(name, flags, mode));
}
int
XR←FCntl4(fildes, cmd, arg, kind)
XR←Fildes fildes;
int cmd;
int arg;
XR←FDKind kind;
{
return XR←FCntl(fildes, cmd, arg);
}
int
XR←IOCtl4(d, request, argp, kind)
XR←Fildes d;
int request;
char *argp;
XR←FDKind kind;
{
return XR←IOCtl(d, request, argp, kind);
}
XR←FDKind
XR←GetDescriptorKind (fildes)
XR←Fildes fildes;
{
return XR←FD←KIND←STD;
}
int
XR←SetBlocking (fildes, blocking)
XR←Fildes fildes;
XR←UIOBlocking blocking;
{
SPCR←NotImplemented("XR←SetBlocking");
return 0;
}
int
XR←SetGetTimeout (fildes, timeout)
XR←Fildes fildes;
XR←Ticks timeout;
{
SPCR←NotImplemented("XR←SetGetTimeout");
return 0;
}
int
XR←SetPutTimeout (fildes, timeout)
XR←Fildes fildes;
XR←Ticks timeout;
{
SPCR←NotImplemented("XR←SetGetTimeout");
return 0;
}
int
XR←UIORegisterInterestInEvent(id, interested)
int id;
bool interested;
{
SPCR←NotImplemented("XR←UIORegisterInterestInEvent");
return 0;
}
int
XR←UIOAwaitEvent(event)
int event;
{
SPCR←NotImplemented("XR←UIOAwaitEvent");
return 0;
}
/*
* What follows is not type correct, and not terribly portable.
* But it's more portable then the assembly language hack it replaces.
* Note that UIO.h is NOT included here.
*/
#ifdef ←←STDC←←
# define ADD←XR(pcrName) XR← ## pcrName
#else
# define ADD←XR(pcrName) XR←/**/pcrName
#endif
# define XR←SYSCALL0(pcrName, uxname) \
int ADD←XR(pcrName) () { uxname(); }
# define XR←SYSCALL1(pcrName, uxname) \
int ADD←XR(pcrName) (a1) int a1; { uxname(a1); }
# define XR←SYSCALL2(pcrName, uxname) \
int ADD←XR(pcrName) (a1,a2) int a1,a2; { uxname(a1,a2); }
# define XR←SYSCALL3(pcrName, uxname) \
int ADD←XR(pcrName) (a1,a2,a3) int a1,a2,a3; { uxname(a1,a2,a3); }
# define XR←SYSCALL4(pcrName, uxname) \
int ADD←XR(pcrName) (a1,a2,a3,a4) int a1,a2,a3,a4; \
{ uxname(a1,a2,a3,a4); }
# define XR←SYSCALL5(pcrName, uxname) \
int ADD←XR(pcrName) (a1,a2,a3,a4,a5) int a1,a2,a3,a4,a5; \
{ uxname(a1,a2,a3,a4,a5); }
# define XR←SYSCALL6(pcrName, uxname) \
int ADD←XR(pcrName) (a1,a2,a3,a4,a5,a6) int a1,a2,a3,a4,a5,a6; \
{ uxname(a1,a2,a3,a4,a5,a6); }
# include "xr/UnixSysCallTranslation.h"