The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/compat/freebsd32/syscalls.master

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1  $FreeBSD: releng/6.0/sys/compat/freebsd32/syscalls.master 148190 2005-07-20 17:42:15Z jhb $
    2 ;       from: @(#)syscalls.master       8.2 (Berkeley) 1/13/94
    3 ;       from: src/sys/kern/syscalls.master 1.107
    4 ;
    5 ; System call name/number master file.
    6 ; Processed to created init_sysent.c, syscalls.c and syscall.h.
    7 
    8 ; Columns: number [M]type nargs name alt{name,tag,rtyp}/comments
    9 ;       number  system call number, must be in order
   10 ;       audit   the audit event associated with the system call
   11 ;               A value of AUE_NULL means no auditing, but it also means that
   12 ;               there is no audit event for the call at this time. For the
   13 ;               case where the event exists, but we don't want auditing, the
   14 ;               event should be #defined to AUE_NULL in audit_kevents.h.
   15 ;       type    one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
   16 ;               [M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
   17 ;               [M]NOSTD
   18 ;       name    psuedo-prototype of syscall routine
   19 ;               If one of the following alts is different, then all appear:
   20 ;       altname name of system call if different
   21 ;       alttag  name of args struct tag if different from [o]`name'"_args"
   22 ;       altrtyp return type if not int (bogus - syscalls always return int)
   23 ;               for UNIMPL/OBSOL, name continues with comments
   24 
   25 ; types:
   26 ;       [M]     e.g. like MSTD -- means the system call is MP-safe.  If no
   27 ;               M prefix is used, the syscall wrapper will obtain the Giant
   28 ;               lock for the syscall.
   29 ;       STD     always included
   30 ;       COMPAT  included on COMPAT #ifdef
   31 ;       LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
   32 ;       OBSOL   obsolete, not included in system, only specifies name
   33 ;       UNIMPL  not implemented, placeholder only
   34 ;       NOSTD   implemented but as a lkm that can be statically
   35 ;                       compiled in sysent entry will be filled with lkmsys
   36 ;                       so the SYSCALL_MODULE macro works
   37 
   38 ; #ifdef's, etc. may be included, and are copied to the output files.
   39 
   40 #include <sys/param.h>
   41 #include <sys/sysent.h>
   42 #include <sys/sysproto.h>
   43 #include <sys/mount.h>
   44 #include <compat/freebsd32/freebsd32.h>
   45 #include <compat/freebsd32/freebsd32_proto.h>
   46 
   47 ; Reserved/unimplemented system calls in the range 0-150 inclusive
   48 ; are reserved for use in future Berkeley releases.
   49 ; Additional system calls implemented in vendor and other
   50 ; redistributions should be placed in the reserved range at the end
   51 ; of the current calls.
   52 
   53 0       AUE_NULL        MNOPROTO { int nosys(void); } syscall nosys_args int
   54 1       AUE_NULL        MNOPROTO { void sys_exit(int rval); } exit \
   55                                     sys_exit_args void
   56 2       AUE_NULL        MNOPROTO { int fork(void); }
   57 3       AUE_NULL        MNOPROTO { ssize_t read(int fd, void *buf, \
   58                                     size_t nbyte); }
   59 4       AUE_NULL        MNOPROTO { ssize_t write(int fd, const void *buf, \
   60                                     size_t nbyte); }
   61 5       AUE_NULL        MNOPROTO { int open(char *path, int flags, \
   62                                     int mode); }
   63 6       AUE_NULL        MNOPROTO { int close(int fd); }
   64 7       AUE_NULL        MSTD    { int freebsd32_wait4(int pid, int *status, \
   65                                     int options, struct rusage32 *rusage); }
   66 8       AUE_NULL        OBSOL   old creat
   67 9       AUE_NULL        MNOPROTO { int link(char *path, char *link); }
   68 10      AUE_NULL        MNOPROTO { int unlink(char *path); }
   69 11      AUE_NULL        OBSOL   execv
   70 12      AUE_NULL        MNOPROTO        { int chdir(char *path); }
   71 13      AUE_NULL        MNOPROTO        { int fchdir(int fd); }
   72 14      AUE_NULL        MNOPROTO        { int mknod(char *path, int mode, int dev); }
   73 15      AUE_NULL        MNOPROTO        { int chmod(char *path, int mode); }
   74 16      AUE_NULL        MNOPROTO        { int chown(char *path, int uid, int gid); }
   75 17      AUE_NULL        MNOPROTO { int obreak(char *nsize); } break \
   76                                     obreak_args int
   77 18      AUE_NULL        MCOMPAT4        { int freebsd32_getfsstat( \
   78                                     struct statfs32 *buf, long bufsize, \
   79                                     int flags); }
   80 19      AUE_NULL        OBSOL   olseek
   81 20      AUE_NULL        MNOPROTO { pid_t getpid(void); }
   82 21      AUE_NULL        NOPROTO { int mount(char *type, char *path, \
   83                                     int flags, caddr_t data); }
   84 22      AUE_NULL        NOPROTO { int unmount(char *path, int flags); }
   85 23      AUE_NULL        MNOPROTO { int setuid(uid_t uid); }
   86 24      AUE_NULL        MNOPROTO { uid_t getuid(void); }
   87 25      AUE_NULL        MNOPROTO { uid_t geteuid(void); }
   88 26      AUE_NULL        MNOPROTO { int ptrace(int req, pid_t pid, \
   89                                     caddr_t addr, int data); }
   90 ; XXX implement
   91 27      AUE_NULL        UNIMPL  recvmsg
   92 28      AUE_NULL        MNOPROTO { int sendmsg(int s, caddr_t msg, \
   93                                     int flags); }
   94 29      AUE_NULL        MNOPROTO { int recvfrom(int s, caddr_t buf, \
   95                                     size_t len, int flags, caddr_t from, \
   96                                     int *fromlenaddr); }
   97 30      AUE_NULL        MNOPROTO { int accept(int s, caddr_t name, \
   98                                     int *anamelen); }
   99 31      AUE_NULL        MNOPROTO { int getpeername(int fdes, caddr_t asa, \
  100                                     int *alen); }
  101 32      AUE_NULL        MNOPROTO { int getsockname(int fdes, caddr_t asa, \
  102                                     int *alen); }
  103 33      AUE_NULL        MNOPROTO        { int access(char *path, int flags); }
  104 34      AUE_NULL        MNOPROTO        { int chflags(char *path, int flags); }
  105 35      AUE_NULL        MNOPROTO        { int fchflags(int fd, int flags); }
  106 36      AUE_NULL        MNOPROTO        { int sync(void); }
  107 37      AUE_NULL        MNOPROTO { int kill(int pid, int signum); }
  108 38      AUE_NULL        UNIMPL  ostat
  109 39      AUE_NULL        MNOPROTO { pid_t getppid(void); }
  110 40      AUE_NULL        UNIMPL  olstat
  111 41      AUE_NULL        MNOPROTO { int dup(u_int fd); }
  112 42      AUE_NULL        MNOPROTO { int pipe(void); }
  113 43      AUE_NULL        MNOPROTO { gid_t getegid(void); }
  114 44      AUE_NULL        MNOPROTO { int profil(caddr_t samples, size_t size, \
  115                                     size_t offset, u_int scale); }
  116 45      AUE_NULL        MNOPROTO { int ktrace(const char *fname, int ops, \
  117                                     int facs, int pid); }
  118 46      AUE_NULL        UNIMPL  osigaction
  119 47      AUE_NULL        MNOPROTO { gid_t getgid(void); }
  120 48      AUE_NULL        UNIMPL  osigprocmask
  121 49      AUE_NULL        MNOPROTO { int getlogin(char *namebuf, \
  122                                     u_int namelen); }
  123 50      AUE_NULL        MNOPROTO { int setlogin(char *namebuf); }
  124 51      AUE_NULL        MNOPROTO { int acct(char *path); }
  125 52      AUE_NULL        OBSOL   osigpending
  126 53      AUE_NULL        MSTD    { int freebsd32_sigaltstack( \
  127                                     struct sigaltstack32 *ss, \
  128                                     struct sigaltstack32 *oss); }
  129 54      AUE_NULL        MNOPROTO { int ioctl(int fd, u_long com, \
  130                                     caddr_t data); }
  131 55      AUE_NULL        MNOPROTO { int reboot(int opt); }
  132 56      AUE_NULL        MNOPROTO        { int revoke(char *path); }
  133 57      AUE_NULL        MNOPROTO        { int symlink(char *path, char *link); }
  134 58      AUE_NULL        MNOPROTO        { int readlink(char *path, char *buf, \
  135                                     int count); }
  136 59      AUE_NULL        MSTD     { int freebsd32_execve(char *fname, \
  137                                     u_int32_t *argv, u_int32_t *envv); }
  138 60      AUE_NULL        MNOPROTO { int umask(int newmask); } umask \
  139                                     umask_args int
  140 61      AUE_NULL        MNOPROTO        { int chroot(char *path); }
  141 62      AUE_NULL        OBSOL   ofstat
  142 63      AUE_NULL        OBSOL   ogetkerninfo
  143 64      AUE_NULL        OBSOL   ogetpagesize
  144 ; XXX implement (not OBSOL at all)
  145 65      AUE_NULL        MNOPROTO { int msync(void *addr, size_t len, \
  146                                     int flags); }
  147 66      AUE_NULL        MNOPROTO { int vfork(void); }
  148 67      AUE_NULL        OBSOL   vread
  149 68      AUE_NULL        OBSOL   vwrite
  150 69      AUE_NULL        MNOPROTO { int sbrk(int incr); }
  151 70      AUE_NULL        MNOPROTO { int sstk(int incr); }
  152 71      AUE_NULL        OBSOL   ommap
  153 72      AUE_NULL        MNOPROTO { int ovadvise(int anom); } vadvise \
  154                                     ovadvise_args int
  155 73      AUE_NULL        MNOPROTO { int munmap(void *addr, size_t len); }
  156 74      AUE_NULL        MNOPROTO { int mprotect(const void *addr, \
  157                                     size_t len, int prot); }
  158 75      AUE_NULL        MNOPROTO { int madvise(void *addr, size_t len, \
  159                                     int behav); }
  160 76      AUE_NULL        OBSOL   vhangup
  161 77      AUE_NULL        OBSOL   vlimit
  162 78      AUE_NULL        MNOPROTO { int mincore(const void *addr, size_t len, \
  163                                     char *vec); }
  164 79      AUE_NULL        MNOPROTO { int getgroups(u_int gidsetsize, \
  165                                     gid_t *gidset); }
  166 80      AUE_NULL        MNOPROTO { int setgroups(u_int gidsetsize, \
  167                                     gid_t *gidset); }
  168 81      AUE_NULL        MNOPROTO { int getpgrp(void); }
  169 82      AUE_NULL        MNOPROTO { int setpgid(int pid, int pgid); }
  170 83      AUE_NULL        MSTD    { int freebsd32_setitimer(u_int which, \
  171                                     struct itimerval32 *itv, \
  172                                     struct itimerval32 *oitv); }
  173 84      AUE_NULL        OBSOL   owait
  174 ; XXX implement
  175 85      AUE_NULL        OBSOL   oswapon
  176 86      AUE_NULL        MSTD    { int freebsd32_getitimer(u_int which, \
  177                                     struct itimerval32 *itv); }
  178 87      AUE_NULL        OBSOL   ogethostname
  179 88      AUE_NULL        OBSOL   osethostname
  180 89      AUE_NULL        MNOPROTO { int getdtablesize(void); }
  181 90      AUE_NULL        MNOPROTO { int dup2(u_int from, u_int to); }
  182 91      AUE_NULL        UNIMPL  getdopt
  183 92      AUE_NULL        MNOPROTO { int fcntl(int fd, int cmd, long arg); }
  184 93      AUE_NULL        MSTD    { int freebsd32_select(int nd, fd_set *in, \
  185                                     fd_set *ou, fd_set *ex, \
  186                                     struct timeval32 *tv); }
  187 ; XXX need to override for big-endian - little-endian should work fine.
  188 94      AUE_NULL        UNIMPL  setdopt
  189 95      AUE_NULL        MNOPROTO        { int fsync(int fd); }
  190 96      AUE_NULL        MNOPROTO { int setpriority(int which, int who, \
  191                                     int prio); }
  192 97      AUE_NULL        MNOPROTO { int socket(int domain, int type, \
  193                                     int protocol); }
  194 98      AUE_NULL        MNOPROTO { int connect(int s, caddr_t name, \
  195                                     int namelen); }
  196 99      AUE_NULL        OBSOL   oaccept
  197 100     AUE_NULL        MNOPROTO { int getpriority(int which, int who); }
  198 101     AUE_NULL        OBSOL   osend
  199 102     AUE_NULL        OBSOL   orecv
  200 103     AUE_NULL        OBSOL   osigreturn
  201 104     AUE_NULL        MNOPROTO { int bind(int s, caddr_t name, \
  202                                     int namelen); }
  203 105     AUE_NULL        MNOPROTO { int setsockopt(int s, int level, \
  204                                     int name, caddr_t val, int valsize); }
  205 106     AUE_NULL        MNOPROTO { int listen(int s, int backlog); }
  206 107     AUE_NULL        OBSOL   vtimes
  207 108     AUE_NULL        OBSOL   osigvec
  208 109     AUE_NULL        OBSOL   osigblock
  209 110     AUE_NULL        OBSOL   osigsetmask
  210 111     AUE_NULL        OBSOL   osigsuspend
  211 112     AUE_NULL        OBSOL   osigstack
  212 113     AUE_NULL        OBSOL   orecvmsg
  213 114     AUE_NULL        OBSOL   osendmsg
  214 115     AUE_NULL        OBSOL   vtrace
  215 116     AUE_NULL        MSTD    { int freebsd32_gettimeofday( \
  216                                     struct timeval32 *tp, \
  217                                     struct timezone *tzp); }
  218 117     AUE_NULL        MSTD    { int freebsd32_getrusage(int who, \
  219                                     struct rusage32 *rusage); }
  220 118     AUE_NULL        MNOPROTO { int getsockopt(int s, int level, \
  221                                     int name, caddr_t val, int *avalsize); }
  222 119     AUE_NULL        UNIMPL  resuba (BSD/OS 2.x)
  223 120     AUE_NULL        MSTD    { int freebsd32_readv(int fd, \
  224                                     struct iovec32 *iovp, u_int iovcnt); }
  225 121     AUE_NULL        MSTD    { int freebsd32_writev(int fd, \
  226                                     struct iovec32 *iovp, u_int iovcnt); }
  227 122     AUE_NULL        MSTD    { int freebsd32_settimeofday( \
  228                                     struct timeval32 *tv, \
  229                                     struct timezone *tzp); }
  230 123     AUE_NULL        MNOPROTO        { int fchown(int fd, int uid, int gid); }
  231 124     AUE_NULL        MNOPROTO        { int fchmod(int fd, int mode); }
  232 125     AUE_NULL        OBSOL   orecvfrom
  233 126     AUE_NULL        MNOPROTO { int setreuid(int ruid, int euid); }
  234 127     AUE_NULL        MNOPROTO { int setregid(int rgid, int egid); }
  235 128     AUE_NULL        MNOPROTO        { int rename(char *from, char *to); }
  236 129     AUE_NULL        OBSOL   otruncate
  237 130     AUE_NULL        OBSOL   ftruncate
  238 131     AUE_NULL        MNOPROTO { int flock(int fd, int how); }
  239 132     AUE_NULL        MNOPROTO        { int mkfifo(char *path, int mode); }
  240 133     AUE_NULL        MNOPROTO { int sendto(int s, caddr_t buf, \
  241                                     size_t len, int flags, caddr_t to, \
  242                                     int tolen); }
  243 134     AUE_NULL        MNOPROTO { int shutdown(int s, int how); }
  244 135     AUE_NULL        MNOPROTO { int socketpair(int domain, int type, \
  245                                     int protocol, int *rsv); }
  246 136     AUE_NULL        MNOPROTO        { int mkdir(char *path, int mode); }
  247 137     AUE_NULL        MNOPROTO        { int rmdir(char *path); }
  248 138     AUE_NULL        MSTD    { int freebsd32_utimes(char *path, \
  249                                     struct timeval32 *tptr); }
  250 139     AUE_NULL        OBSOL   4.2 sigreturn
  251 140     AUE_NULL        MSTD    { int freebsd32_adjtime( \
  252                                     struct timeval32 *delta, \
  253                                     struct timeval32 *olddelta); }
  254 141     AUE_NULL        OBSOL   ogetpeername
  255 142     AUE_NULL        OBSOL   ogethostid
  256 143     AUE_NULL        OBSOL   sethostid
  257 144     AUE_NULL        OBSOL   getrlimit
  258 145     AUE_NULL        OBSOL   setrlimit
  259 146     AUE_NULL        OBSOL   killpg
  260 147     AUE_NULL        MNOPROTO { int setsid(void); }
  261 148     AUE_NULL        MNOPROTO        { int quotactl(char *path, int cmd, int uid, \
  262                                     caddr_t arg); }
  263 149     AUE_NULL        OBSOL oquota
  264 150     AUE_NULL        OBSOL ogetsockname
  265 
  266 ; Syscalls 151-180 inclusive are reserved for vendor-specific
  267 ; system calls.  (This includes various calls added for compatibity
  268 ; with other Unix variants.)
  269 ; Some of these calls are now supported by BSD...
  270 151     AUE_NULL        UNIMPL  sem_lock (BSD/OS 2.x)
  271 152     AUE_NULL        UNIMPL  sem_wakeup (BSD/OS 2.x)
  272 153     AUE_NULL        UNIMPL  asyncdaemon (BSD/OS 2.x)
  273 154     AUE_NULL        UNIMPL  nosys
  274 ; 155 is initialized by the NFS code, if present.
  275 ; XXX this is a problem!!!
  276 155     AUE_NULL        UNIMPL  nfssvc
  277 156     AUE_NULL        OBSOL   ogetdirentries
  278 157     AUE_NULL        MCOMPAT4        { int freebsd32_statfs(char *path, \
  279                                     struct statfs32 *buf); }
  280 158     AUE_NULL        MCOMPAT4        { int freebsd32_fstatfs(int fd, \
  281                                     struct statfs32 *buf); }
  282 159     AUE_NULL        UNIMPL  nosys
  283 160     AUE_NULL        UNIMPL  nosys
  284 161     AUE_NULL        MNOPROTO        { int getfh(char *fname, \
  285                                     struct fhandle *fhp); }
  286 162     AUE_NULL        MNOPROTO { int getdomainname(char *domainname, \
  287                                     int len); }
  288 163     AUE_NULL        MNOPROTO { int setdomainname(char *domainname, \
  289                                     int len); }
  290 164     AUE_NULL        MNOPROTO { int uname(struct utsname *name); }
  291 165     AUE_NULL        MNOPROTO { int sysarch(int op, char *parms); }
  292 166     AUE_NULL        MNOPROTO { int rtprio(int function, pid_t pid, \
  293                                     struct rtprio *rtp); }
  294 167     AUE_NULL        UNIMPL  nosys
  295 168     AUE_NULL        UNIMPL  nosys
  296 169     AUE_NULL        MSTD    { int freebsd32_semsys(int which, int a2, \
  297                                     int a3, int a4, int a5); }
  298 170     AUE_NULL        MSTD    { int freebsd32_msgsys(int which, int a2, \
  299                                     int a3, int a4, int a5, int a6); }
  300 171     AUE_NULL        MSTD    { int freebsd32_shmsys(int which, int a2, \
  301                                     int a3, int a4); }
  302 172     AUE_NULL        UNIMPL  nosys
  303 173     AUE_NULL        MSTD    { ssize_t freebsd32_pread(int fd, void *buf, \
  304                                     size_t nbyte, int pad, \
  305                                     u_int32_t offsetlo, u_int32_t offsethi); }
  306 ; XXX note - bigendian is different
  307 174     AUE_NULL        MSTD    { ssize_t freebsd32_pwrite(int fd, \
  308                                     const void *buf, size_t nbyte, int pad, \
  309                                     u_int32_t offsetlo, u_int32_t offsethi); }
  310 ; XXX note - bigendian is different
  311 175     AUE_NULL        UNIMPL  nosys
  312 176     AUE_NULL        MNOPROTO { int ntp_adjtime(struct timex *tp); }
  313 177     AUE_NULL        UNIMPL  sfork (BSD/OS 2.x)
  314 178     AUE_NULL        UNIMPL  getdescriptor (BSD/OS 2.x)
  315 179     AUE_NULL        UNIMPL  setdescriptor (BSD/OS 2.x)
  316 180     AUE_NULL        UNIMPL  nosys
  317 
  318 ; Syscalls 181-199 are used by/reserved for BSD
  319 181     AUE_NULL        MNOPROTO { int setgid(gid_t gid); }
  320 182     AUE_NULL        MNOPROTO { int setegid(gid_t egid); }
  321 183     AUE_NULL        MNOPROTO { int seteuid(uid_t euid); }
  322 184     AUE_NULL        UNIMPL  lfs_bmapv
  323 185     AUE_NULL        UNIMPL  lfs_markv
  324 186     AUE_NULL        UNIMPL  lfs_segclean
  325 187     AUE_NULL        UNIMPL  lfs_segwait
  326 188     AUE_NULL        MSTD    { int freebsd32_stat(char *path, \
  327                                     struct stat32 *ub); }
  328 189     AUE_NULL        MSTD    { int freebsd32_fstat(int fd, \
  329                                     struct stat32 *ub); }
  330 190     AUE_NULL        MSTD    { int freebsd32_lstat(char *path, \
  331                                     struct stat32 *ub); }
  332 191     AUE_NULL        MNOPROTO        { int pathconf(char *path, int name); }
  333 192     AUE_NULL        MNOPROTO { int fpathconf(int fd, int name); }
  334 193     AUE_NULL        UNIMPL  nosys
  335 194     AUE_NULL        MNOPROTO { int getrlimit(u_int which, \
  336                                     struct rlimit *rlp); } getrlimit \
  337                                     __getrlimit_args int
  338 195     AUE_NULL        MNOPROTO { int setrlimit(u_int which, \
  339                                     struct rlimit *rlp); } setrlimit \
  340                                     __setrlimit_args int
  341 196     AUE_NULL        MNOPROTO        { int getdirentries(int fd, char *buf, \
  342                                     u_int count, long *basep); }
  343 197     AUE_NULL        MSTD    { caddr_t freebsd32_mmap(caddr_t addr, \
  344                                     size_t len, int prot, int flags, int fd, \
  345                                     int pad, u_int32_t poslo, \
  346                                     u_int32_t poshi); }
  347 198     AUE_NULL        MNOPROTO        { int nosys(void); } __syscall \
  348                                     __syscall_args int
  349 ; XXX note - bigendian is different
  350 199     AUE_NULL        MSTD    { off_t freebsd32_lseek(int fd, int pad, \
  351                                     u_int32_t offsetlo, u_int32_t offsethi, \
  352                                     int whence); }
  353 ; XXX note - bigendian is different
  354 200     AUE_NULL        MSTD    { int freebsd32_truncate(char *path, \
  355                                     int pad, u_int32_t lengthlo, \
  356                                     u_int32_t lengthhi); }
  357 ; XXX note - bigendian is different
  358 201     AUE_NULL        MSTD    { int freebsd32_ftruncate(int fd, int pad, \
  359                                     u_int32_t lengthlo, u_int32_t lengthhi); }
  360 202     AUE_NULL        MSTD    { int freebsd32_sysctl(int *name, \
  361                                     u_int namelen, void *old, \
  362                                     u_int32_t *oldlenp, void *new, \
  363                                     u_int32_t newlen); }
  364 203     AUE_NULL        MNOPROTO { int mlock(const void *addr, \
  365                                     size_t len); }
  366 204     AUE_NULL        MNOPROTO { int munlock(const void *addr, \
  367                                     size_t len); }
  368 205     AUE_NULL        MNOPROTO        { int undelete(char *path); }
  369 206     AUE_NULL        MNOPROTO        { int futimes(int fd, struct timeval *tptr); }
  370 207     AUE_NULL        MNOPROTO { int getpgid(pid_t pid); }
  371 208     AUE_NULL        UNIMPL  newreboot (NetBSD)
  372 209     AUE_NULL        MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \
  373                                     int timeout); }
  374 
  375 ;
  376 ; The following are reserved for loadable syscalls
  377 ;
  378 210     AUE_NULL        UNIMPL
  379 211     AUE_NULL        UNIMPL
  380 212     AUE_NULL        UNIMPL
  381 213     AUE_NULL        UNIMPL
  382 214     AUE_NULL        UNIMPL
  383 215     AUE_NULL        UNIMPL
  384 216     AUE_NULL        UNIMPL
  385 217     AUE_NULL        UNIMPL
  386 218     AUE_NULL        UNIMPL
  387 219     AUE_NULL        UNIMPL
  388 
  389 ;
  390 ; The following were introduced with NetBSD/4.4Lite-2
  391 ; They are initialized by thier respective modules/sysinits
  392 ; XXX PROBLEM!!
  393 220     AUE_NULL        MNOPROTO { int __semctl(int semid, int semnum, \
  394                                     int cmd, union semun *arg); }
  395 221     AUE_NULL        MNOPROTO { int semget(key_t key, int nsems, \
  396                                     int semflg); }
  397 222     AUE_NULL        MNOPROTO { int semop(int semid, struct sembuf *sops, \
  398                                     u_int nsops); }
  399 223     AUE_NULL        UNIMPL  semconfig
  400 224     AUE_NULL        MNOPROTO { int msgctl(int msqid, int cmd, \
  401                                     struct msqid_ds *buf); }
  402 225     AUE_NULL        MNOPROTO { int msgget(key_t key, int msgflg); }
  403 226     AUE_NULL        MNOPROTO { int msgsnd(int msqid, void *msgp, \
  404                                     size_t msgsz, int msgflg); }
  405 227     AUE_NULL        MNOPROTO { int msgrcv(int msqid, void *msgp, \
  406                                     size_t msgsz, long msgtyp, int msgflg); }
  407 228     AUE_NULL        MNOPROTO { int shmat(int shmid, void *shmaddr, \
  408                                     int shmflg); }
  409 229     AUE_NULL        MNOPROTO { int shmctl(int shmid, int cmd, \
  410                                     struct shmid_ds *buf); }
  411 230     AUE_NULL        MNOPROTO { int shmdt(void *shmaddr); }
  412 231     AUE_NULL        MNOPROTO { int shmget(key_t key, int size, \
  413                                     int shmflg); }
  414 ;
  415 232     AUE_NULL        MNOPROTO { int clock_gettime(clockid_t clock_id, \
  416                                     struct timespec *tp); }
  417 233     AUE_NULL        MNOPROTO { int clock_settime(clockid_t clock_id, \
  418                                     const struct timespec *tp); }
  419 234     AUE_NULL        MNOPROTO { int clock_getres(clockid_t clock_id, \
  420                                     struct timespec *tp); }
  421 235     AUE_NULL        UNIMPL  timer_create
  422 236     AUE_NULL        UNIMPL  timer_delete
  423 237     AUE_NULL        UNIMPL  timer_settime
  424 238     AUE_NULL        UNIMPL  timer_gettime
  425 239     AUE_NULL        UNIMPL  timer_getoverrun
  426 240     AUE_NULL        MSTD    { int freebsd32_nanosleep( \
  427                                     const struct timespec *rqtp, \
  428                                     struct timespec *rmtp); }
  429 241     AUE_NULL        UNIMPL  nosys
  430 242     AUE_NULL        UNIMPL  nosys
  431 243     AUE_NULL        UNIMPL  nosys
  432 244     AUE_NULL        UNIMPL  nosys
  433 245     AUE_NULL        UNIMPL  nosys
  434 246     AUE_NULL        UNIMPL  nosys
  435 247     AUE_NULL        UNIMPL  nosys
  436 248     AUE_NULL        UNIMPL  ntp_gettime
  437 249     AUE_NULL        UNIMPL  nosys
  438 ; syscall numbers initially used in OpenBSD
  439 250     AUE_NULL        MNOPROTO { int minherit(void *addr, size_t len, \
  440                                     int inherit); }
  441 251     AUE_NULL        MNOPROTO { int rfork(int flags); }
  442 252     AUE_NULL        MNOPROTO { int openbsd_poll(struct pollfd *fds, \
  443                                     u_int nfds, int timeout); }
  444 253     AUE_NULL        MNOPROTO { int issetugid(void); }
  445 254     AUE_NULL        MNOPROTO        { int lchown(char *path, int uid, int gid); }
  446 255     AUE_NULL        UNIMPL  nosys
  447 256     AUE_NULL        UNIMPL  nosys
  448 257     AUE_NULL        UNIMPL  nosys
  449 258     AUE_NULL        UNIMPL  nosys
  450 259     AUE_NULL        UNIMPL  nosys
  451 260     AUE_NULL        UNIMPL  nosys
  452 261     AUE_NULL        UNIMPL  nosys
  453 262     AUE_NULL        UNIMPL  nosys
  454 263     AUE_NULL        UNIMPL  nosys
  455 264     AUE_NULL        UNIMPL  nosys
  456 265     AUE_NULL        UNIMPL  nosys
  457 266     AUE_NULL        UNIMPL  nosys
  458 267     AUE_NULL        UNIMPL  nosys
  459 268     AUE_NULL        UNIMPL  nosys
  460 269     AUE_NULL        UNIMPL  nosys
  461 270     AUE_NULL        UNIMPL  nosys
  462 271     AUE_NULL        UNIMPL  nosys
  463 272     AUE_NULL        MNOPROTO        { int getdents(int fd, char *buf, \
  464                                     size_t count); }
  465 273     AUE_NULL        UNIMPL  nosys
  466 274     AUE_NULL        MNOPROTO        { int lchmod(char *path, mode_t mode); }
  467 275     AUE_NULL        MNOPROTO { int lchown(char *path, uid_t uid, \
  468                                     gid_t gid); } netbsd_lchown \
  469                                     lchown_args int
  470 276     AUE_NULL        MNOPROTO        { int lutimes(char *path, \
  471                                     struct timeval *tptr); }
  472 277     AUE_NULL        MNOPROTO { int msync(void *addr, size_t len, \
  473                                     int flags); } netbsd_msync msync_args int
  474 278     AUE_NULL        MNOPROTO        { int nstat(char *path, struct nstat *ub); }
  475 279     AUE_NULL        MNOPROTO { int nfstat(int fd, struct nstat *sb); }
  476 280     AUE_NULL        MNOPROTO        { int nlstat(char *path, struct nstat *ub); }
  477 281     AUE_NULL        UNIMPL  nosys
  478 282     AUE_NULL        UNIMPL  nosys
  479 283     AUE_NULL        UNIMPL  nosys
  480 284     AUE_NULL        UNIMPL  nosys
  481 285     AUE_NULL        UNIMPL  nosys
  482 286     AUE_NULL        UNIMPL  nosys
  483 287     AUE_NULL        UNIMPL  nosys
  484 288     AUE_NULL        UNIMPL  nosys
  485 ; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
  486 289     AUE_NULL        MSTD    { ssize_t freebsd32_preadv(int fd, \
  487                                         struct iovec32 *iovp, \
  488                                         u_int iovcnt, off_t offset); }
  489 ; XXX note - bigendian is different
  490 290     AUE_NULL        MSTD    { ssize_t freebsd32_pwritev(int fd, \
  491                                         struct iovec32 *iovp, \
  492                                         u_int iovcnt, off_t offset); }
  493 ; XXX note - bigendian is different
  494 291     AUE_NULL        UNIMPL  nosys
  495 292     AUE_NULL        UNIMPL  nosys
  496 293     AUE_NULL        UNIMPL  nosys
  497 294     AUE_NULL        UNIMPL  nosys
  498 295     AUE_NULL        UNIMPL  nosys
  499 296     AUE_NULL        UNIMPL  nosys
  500 ; XXX 297 is 300 in NetBSD 
  501 297     AUE_NULL        MCOMPAT4        { int freebsd32_fhstatfs( \
  502                                     const struct fhandle *u_fhp, \
  503                                     struct statfs32 *buf); }
  504 298     AUE_NULL        MNOPROTO        { int fhopen(const struct fhandle *u_fhp, \
  505                                     int flags); }
  506 299     AUE_NULL        MNOPROTO        { int fhstat(const struct fhandle *u_fhp, \
  507                                     struct stat *sb); }
  508 ; syscall numbers for FreeBSD
  509 300     AUE_NULL        MNOPROTO { int modnext(int modid); }
  510 301     AUE_NULL        MSTD    { int freebsd32_modstat(int modid, \
  511                                     struct module_stat32* stat); }
  512 302     AUE_NULL        MNOPROTO { int modfnext(int modid); }
  513 303     AUE_NULL        MNOPROTO { int modfind(const char *name); }
  514 304     AUE_NULL        MNOPROTO { int kldload(const char *file); }
  515 305     AUE_NULL        MNOPROTO { int kldunload(int fileid); }
  516 306     AUE_NULL        MNOPROTO { int kldfind(const char *file); }
  517 307     AUE_NULL        MNOPROTO { int kldnext(int fileid); }
  518 308     AUE_NULL        MNOPROTO { int kldstat(int fileid, \
  519                                     struct kld_file_stat* stat); }
  520 309     AUE_NULL        MNOPROTO { int kldfirstmod(int fileid); }
  521 310     AUE_NULL        MNOPROTO { int getsid(pid_t pid); }
  522 311     AUE_NULL        MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \
  523                                     uid_t suid); }
  524 312     AUE_NULL        MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \
  525                                     gid_t sgid); }
  526 313     AUE_NULL        OBSOL   signanosleep
  527 314     AUE_NULL        UNIMPL  aio_return
  528 315     AUE_NULL        UNIMPL  aio_suspend
  529 316     AUE_NULL        UNIMPL  aio_cancel
  530 317     AUE_NULL        UNIMPL  aio_error
  531 318     AUE_NULL        UNIMPL  aio_read
  532 319     AUE_NULL        UNIMPL  aio_write
  533 320     AUE_NULL        UNIMPL  lio_listio
  534 321     AUE_NULL        MNOPROTO { int yield(void); }
  535 322     AUE_NULL        OBSOL   thr_sleep
  536 323     AUE_NULL        OBSOL   thr_wakeup
  537 324     AUE_NULL        MNOPROTO { int mlockall(int how); }
  538 325     AUE_NULL        MNOPROTO { int munlockall(void); }
  539 326     AUE_NULL        MNOPROTO        { int __getcwd(u_char *buf, u_int buflen); }
  540 
  541 327     AUE_NULL        MNOPROTO { int sched_setparam (pid_t pid, \
  542                                     const struct sched_param *param); }
  543 328     AUE_NULL        MNOPROTO { int sched_getparam (pid_t pid, \
  544                                     struct sched_param *param); }
  545 
  546 329     AUE_NULL        MNOPROTO { int sched_setscheduler (pid_t pid, \
  547                                     int policy, \
  548                                     const struct sched_param *param); }
  549 330     AUE_NULL        MNOPROTO { int sched_getscheduler (pid_t pid); }
  550 
  551 331     AUE_NULL        MNOPROTO { int sched_yield (void); }
  552 332     AUE_NULL        MNOPROTO { int sched_get_priority_max (int policy); }
  553 333     AUE_NULL        MNOPROTO { int sched_get_priority_min (int policy); }
  554 334     AUE_NULL        MNOPROTO { int sched_rr_get_interval (pid_t pid, \
  555                                     struct timespec *interval); }
  556 335     AUE_NULL        MNOPROTO { int utrace(const void *addr, size_t len); }
  557 ; XXX note - bigendian is different
  558 336     AUE_NULL        MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \
  559                                     u_int32_t offsetlo, u_int32_t offsethi, \
  560                                     size_t nbytes, struct sf_hdtr *hdtr, \
  561                                     off_t *sbytes, int flags); }
  562 337     AUE_NULL        MNOPROTO        { int kldsym(int fileid, int cmd, \
  563                                     void *data); }
  564 338     AUE_NULL        MNOPROTO { int jail(struct jail *jail); }
  565 339     AUE_NULL        UNIMPL  pioctl
  566 340     AUE_NULL        MNOPROTO { int sigprocmask(int how, \
  567                                     const sigset_t *set, sigset_t *oset); }
  568 341     AUE_NULL        MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
  569 342     AUE_NULL        MCOMPAT4 { int freebsd32_sigaction(int sig, \
  570                                     struct sigaction32 *act, \
  571                                     struct sigaction32 *oact); }
  572 343     AUE_NULL        MNOPROTO { int sigpending(sigset_t *set); }
  573 344     AUE_NULL        MCOMPAT4 { int freebsd32_sigreturn( \
  574                     const struct freebsd4_freebsd32_ucontext *sigcntxp); }
  575 ; XXX implement
  576 345     AUE_NULL        UNIMPL  sigtimedwait
  577 ; XXX implement
  578 346     AUE_NULL        UNIMPL  sigwaitinfo
  579 347     AUE_NULL        MNOPROTO { int __acl_get_file(const char *path, \
  580                                     acl_type_t type, struct acl *aclp); }
  581 348     AUE_NULL        MNOPROTO { int __acl_set_file(const char *path, \
  582                                     acl_type_t type, struct acl *aclp); }
  583 349     AUE_NULL        MNOPROTO { int __acl_get_fd(int filedes, \
  584                                     acl_type_t type, struct acl *aclp); }
  585 350     AUE_NULL        MNOPROTO { int __acl_set_fd(int filedes, \
  586                                     acl_type_t type, struct acl *aclp); }
  587 351     AUE_NULL        MNOPROTO { int __acl_delete_file(const char *path, \
  588                                     acl_type_t type); }
  589 352     AUE_NULL        MNOPROTO { int __acl_delete_fd(int filedes, \
  590                                     acl_type_t type); }
  591 353     AUE_NULL        MNOPROTO { int __acl_aclcheck_file(const char *path, \
  592                                     acl_type_t type, struct acl *aclp); }
  593 354     AUE_NULL        MNOPROTO { int __acl_aclcheck_fd(int filedes, \
  594                                     acl_type_t type, struct acl *aclp); }
  595 355     AUE_NULL        NOPROTO { int extattrctl(const char *path, int cmd, \
  596                                     const char *filename, int attrnamespace, \
  597                                     const char *attrname); }
  598 356     AUE_NULL        NOPROTO { int extattr_set_file(const char *path, \
  599                                     int attrnamespace, const char *attrname, \
  600                                     void *data, size_t nbytes); }
  601 357     AUE_NULL        NOPROTO { ssize_t extattr_get_file(const char *path, \
  602                                     int attrnamespace, const char *attrname, \
  603                                     void *data, size_t nbytes); }
  604 358     AUE_NULL        NOPROTO { int extattr_delete_file(const char *path, \
  605                                     int attrnamespace, \
  606                                     const char *attrname); }
  607 359     AUE_NULL        UNIMPL  aio_waitcomplete
  608 360     AUE_NULL        MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
  609                                     uid_t *suid); }
  610 361     AUE_NULL        MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
  611                                     gid_t *sgid); }
  612 362     AUE_NULL        MNOPROTO { int kqueue(void); }
  613 363     AUE_NULL        MSTD { int freebsd32_kevent(int fd, \
  614                                     const struct kevent32 *changelist, \
  615                                     int nchanges, \
  616                                     struct kevent32 *eventlist, int nevents, \
  617                                     const struct timespec32 *timeout); }
  618 364     AUE_NULL        UNIMPL  __cap_get_proc
  619 365     AUE_NULL        UNIMPL  __cap_set_proc
  620 366     AUE_NULL        UNIMPL  __cap_get_fd
  621 367     AUE_NULL        UNIMPL  __cap_get_file
  622 368     AUE_NULL        UNIMPL  __cap_set_fd
  623 369     AUE_NULL        UNIMPL  __cap_set_file
  624 370     AUE_NULL        UNIMPL  lkmressys
  625 371     AUE_NULL        NOPROTO { int extattr_set_fd(int fd, \
  626                                     int attrnamespace, const char *attrname, \
  627                                     void *data, size_t nbytes); }
  628 372     AUE_NULL        NOPROTO { ssize_t extattr_get_fd(int fd, \
  629                                     int attrnamespace, const char *attrname, \
  630                                     void *data, size_t nbytes); }
  631 373     AUE_NULL        NOPROTO { int extattr_delete_fd(int fd, \
  632                                     int attrnamespace, \
  633                                     const char *attrname); }
  634 374     AUE_NULL        MNOPROTO { int __setugid(int flag); }
  635 375     AUE_NULL        UNIMPL  nfsclnt
  636 376     AUE_NULL        MNOPROTO        { int eaccess(char *path, int flags); }
  637 377     AUE_NULL        UNIMPL  afs_syscall
  638 378     AUE_NULL        NOPROTO { int nmount(struct iovec *iovp, \
  639                                     unsigned int iovcnt, int flags); }
  640 379     AUE_NULL        MNOPROTO        { int kse_exit(void); }
  641 380     AUE_NULL        MNOPROTO        { int kse_wakeup(struct kse_mailbox *mbx); }
  642 381     AUE_NULL        MNOPROTO        { int kse_create(struct kse_mailbox *mbx, \
  643                                     int newgroup); }
  644 382     AUE_NULL        MNOPROTO        { int kse_thr_interrupt( \
  645                                     struct kse_thr_mailbox *tmbx); }
  646 383     AUE_NULL        MNOPROTO        { int kse_release(void); }
  647 384     AUE_NULL        UNIMPL  __mac_get_proc
  648 385     AUE_NULL        UNIMPL  __mac_set_proc
  649 386     AUE_NULL        UNIMPL  __mac_get_fd
  650 387     AUE_NULL        UNIMPL  __mac_get_file
  651 388     AUE_NULL        UNIMPL  __mac_set_fd
  652 389     AUE_NULL        UNIMPL  __mac_set_file
  653 390     AUE_NULL        MNOPROTO        { int kenv(int what, const char *name, \
  654                                     char *value, int len); }
  655 391     AUE_NULL        MNOPROTO        { int lchflags(const char *path, int flags); }
  656 392     AUE_NULL        MNOPROTO { int uuidgen(struct uuid *store, \
  657                                     int count); }
  658 393     AUE_NULL        MSTD    { int freebsd32_sendfile(int fd, int s, \
  659                                     u_int32_t offsetlo, u_int32_t offsethi, \
  660                                     size_t nbytes, struct sf_hdtr *hdtr, \
  661                                     off_t *sbytes, int flags); }
  662 394     AUE_NULL        UNIMPL  mac_syscall
  663 395     AUE_NULL        MNOPROTO        { int getfsstat(struct statfs *buf, \
  664                                     long bufsize, int flags); }
  665 396     AUE_NULL        MNOPROTO        { int statfs(char *path, \
  666                                     struct statfs *buf); }
  667 397     AUE_NULL        MNOPROTO        { int fstatfs(int fd, struct statfs *buf); }
  668 398     AUE_NULL        MNOPROTO        { int fhstatfs(const struct fhandle *u_fhp, \
  669                                     struct statfs *buf); }
  670 399     AUE_NULL        UNIMPL  nosys
  671 ; XXX implement these?
  672 400     AUE_NULL        UNIMPL  ksem_close
  673 401     AUE_NULL        UNIMPL  ksem_post
  674 402     AUE_NULL        UNIMPL  ksem_wait
  675 403     AUE_NULL        UNIMPL  ksem_trywait
  676 404     AUE_NULL        UNIMPL  ksem_init
  677 405     AUE_NULL        UNIMPL  ksem_open
  678 406     AUE_NULL        UNIMPL  ksem_unlink
  679 407     AUE_NULL        UNIMPL  ksem_getvalue
  680 408     AUE_NULL        UNIMPL  ksem_destroy
  681 409     AUE_NULL        UNIMPL  __mac_get_pid
  682 410     AUE_NULL        UNIMPL  __mac_get_link
  683 411     AUE_NULL        UNIMPL  __mac_set_link
  684 412     AUE_NULL        UNIMPL  extattr_set_link
  685 413     AUE_NULL        UNIMPL  extattr_get_link
  686 414     AUE_NULL        UNIMPL  extattr_delete_link
  687 415     AUE_NULL        UNIMPL  __mac_execve
  688 416     AUE_NULL        MSTD { int freebsd32_sigaction(int sig, \
  689                                     struct sigaction32 *act, \
  690                                     struct sigaction32 *oact); }
  691 417     AUE_NULL        MSTD { int freebsd32_sigreturn( \
  692                     const struct freebsd32_ucontext *sigcntxp); }
  693 418     AUE_NULL        UNIMPL  __xstat
  694 419     AUE_NULL        UNIMPL  __xfstat
  695 420     AUE_NULL        UNIMPL  __xlstat
  696 ; XXX implement
  697 421     AUE_NULL        UNIMPL  getcontext
  698 ; XXX implement
  699 422     AUE_NULL        UNIMPL  setcontext
  700 ; XXX implement
  701 423     AUE_NULL        UNIMPL  swapcontext
  702 424     AUE_NULL        UNIMPL  swapoff
  703 425     AUE_NULL        UNIMPL  __acl_get_link
  704 426     AUE_NULL        UNIMPL  __acl_set_link
  705 427     AUE_NULL        UNIMPL  __acl_delete_link
  706 428     AUE_NULL        UNIMPL  __acl_aclcheck_link
  707 ; XXX implement
  708 429     AUE_NULL        UNIMPL  sigwait
  709 430     AUE_NULL        MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \
  710                                     int flag s); }
  711 431     AUE_NULL        MNOPROTO { void thr_exit(long *state); }
  712 432     AUE_NULL        MNOPROTO { int thr_self(long *id); }
  713 433     AUE_NULL        MNOPROTO { int thr_kill(long id, int sig); }
  714 434     AUE_NULL        MNOPROTO { int _umtx_lock(struct umtx *umtx); }
  715 435     AUE_NULL        MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
  716 436     AUE_NULL        MNOPROTO { int jail_attach(int jid); }
  717 437     AUE_NULL        UNIMPL  extattr_list_fd
  718 438     AUE_NULL        UNIMPL  extattr_list_file
  719 439     AUE_NULL        UNIMPL  extattr_list_link
  720 440     AUE_NULL        UNIMPL  kse_switchin
  721 441     AUE_NULL        UNIMPL  ksem_timedwait
  722 442     AUE_NULL        MNOPROTO { int thr_suspend( \
  723                                     const struct timespec *timeout); }
  724 443     AUE_NULL        MNOPROTO { int thr_wake(long id); }
  725 444     AUE_NULL        MNOPROTO { int kldunloadf(int fileid, int flags); }
  726 445     AUE_NULL        UNIMPL  audit
  727 446     AUE_NULL        UNIMPL  auditon
  728 447     AUE_NULL        UNIMPL  getauid
  729 448     AUE_NULL        UNIMPL  setauid
  730 449     AUE_NULL        UNIMPL  getaudit
  731 450     AUE_NULL        UNIMPL  setaudit
  732 451     AUE_NULL        UNIMPL  getaudit_addr
  733 452     AUE_NULL        UNIMPL  setaudit_addr
  734 453     AUE_NULL        UNIMPL  auditctl
  735 454     AUE_NULL        UNIMPL  _umtx_op

Cache object: 623c453ffd9655f563f10b1f3a9f3282


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.