Home | History | Annotate | Line # | Download | only in zboot
      1 /*	$NetBSD: compat_linux.h,v 1.2 2011/06/20 12:39:21 nonaka Exp $	*/
      2 /*	$OpenBSD: compat_linux.h,v 1.8 2007/06/16 00:26:33 deraadt Exp $	*/
      3 
      4 /*
      5  * Copyright (c) 2005 Uwe Stuehler <uwe (at) bsdx.de>
      6  *
      7  * Permission to use, copy, modify, and distribute this software for any
      8  * purpose with or without fee is hereby granted, provided that the above
      9  * copyright notice and this permission notice appear in all copies.
     10  *
     11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     18  */
     19 
     20 /* This file must be included late, for redefinitions to take effect. */
     21 
     22 #ifndef _LOCORE
     23 
     24 #include <sys/param.h>
     25 #include <sys/termios.h>
     26 #include <sys/fd_set.h>
     27 struct lwp;
     28 struct vnode;
     29 
     30 #include <compat/linux/common/linux_types.h>
     31 #include <compat/linux/common/linux_fcntl.h>
     32 #include <compat/linux/common/linux_util.h>
     33 #include <compat/linux/common/linux_ioctl.h>
     34 #include <compat/linux/common/linux_errno.h>
     35 
     36 #define	INT_LIMIT(x)		(~((x)1 << (sizeof(x) * 8 - 1)))
     37 #define	OFFSET_MAX		INT_LIMIT(long long)
     38 #define	OFFT_OFFSET_MAX		INT_LIMIT(long)
     39 
     40 #undef	SEEK_SET
     41 #undef	SEEK_CUR
     42 #define SEEK_SET		0
     43 #define SEEK_CUR		1
     44 
     45 #define	LINUX_EOVERFLOW		75
     46 
     47 #endif /* !_LOCORE */
     48 
     49 #include <compat/linux/linux_syscall.h>
     50 
     51 /* linux/asm/unistd.h */
     52 #define __NR_SYSCALL_BASE	0x900000
     53 #define __NR_exit		(__NR_SYSCALL_BASE + LINUX_SYS_exit)
     54 #define __NR_read		(__NR_SYSCALL_BASE + LINUX_SYS_read)
     55 #define __NR_write		(__NR_SYSCALL_BASE + LINUX_SYS_write)
     56 #define __NR_open		(__NR_SYSCALL_BASE + LINUX_SYS_open)
     57 #define __NR_close		(__NR_SYSCALL_BASE + LINUX_SYS_close)
     58 #define __NR_time		(__NR_SYSCALL_BASE + LINUX_SYS_time)
     59 #define __NR_lseek32		(__NR_SYSCALL_BASE + LINUX_SYS_lseek)
     60 #define __NR_ioctl		(__NR_SYSCALL_BASE + LINUX_SYS_ioctl)
     61 #define __NR_select		(__NR_SYSCALL_BASE + LINUX_SYS_select)
     62 #define __NR_stat		(__NR_SYSCALL_BASE + LINUX_SYS_stat)
     63 #define __NR_fstat		(__NR_SYSCALL_BASE + LINUX_SYS_fstat)
     64 #define __NR_syscall		(__NR_SYSCALL_BASE + 113)
     65 
     66 #undef	SYS_select
     67 #define SYS_select		__NR_select
     68