#ifndef _LINUX_MISC_H
#define _LINUX_MISC_H
#define LINUX_WNOHANG 0x00000001
#define LINUX_WUNTRACED 0x00000002
#define LINUX_WEXITED 0x00000004
#define LINUX_WCONTINUED 0x00000008
#define LINUX_WNOWAIT 0x01000000
#define LINUX_WNOTHREAD 0x20000000
#define LINUX_WALL 0x40000000
#define LINUX_WCLONE 0x80000000
#define LINUX_WAIT4_KNOWNFLAGS (LINUX_WNOHANG | \
LINUX_WUNTRACED | \
LINUX_WCONTINUED | \
LINUX_WNOTHREAD | \
LINUX_WALL | \
LINUX_WCLONE)
#define LINUX_WAITID_KNOWNFLAGS (LINUX_WNOHANG | \
LINUX_WEXITED | \
LINUX_WUNTRACED | \
LINUX_WCONTINUED | \
LINUX_WNOWAIT)
#define LINUX_P_ALL 0
#define LINUX_P_PID 1
#define LINUX_P_PGID 2
#define LINUX_P_PIDFD 3
struct linux_sysinfo {
long uptime;
unsigned long loads[3];
#define LINUX_SYSINFO_LOADS_SCALE 65536
unsigned long totalram;
unsigned long freeram;
unsigned long sharedram;
unsigned long bufferram;
unsigned long totalswap;
unsigned long freeswap;
unsigned short procs;
unsigned long totalbig;
unsigned long freebig;
unsigned int mem_unit;
char _f[20-2*sizeof(long)-sizeof(int)];
};
#define LINUX_RLIMIT_CPU 0
#define LINUX_RLIMIT_FSIZE 1
#define LINUX_RLIMIT_DATA 2
#define LINUX_RLIMIT_STACK 3
#define LINUX_RLIMIT_CORE 4
#define LINUX_RLIMIT_RSS 5
#define LINUX_RLIMIT_NPROC 6
#define LINUX_RLIMIT_NOFILE 7
#define LINUX_RLIMIT_MEMLOCK 8
#define LINUX_RLIMIT_AS 9
#define LINUX_RLIMIT_LOCKS 10
#define LINUX_RLIMIT_SIGPENDING 11
#define LINUX_RLIMIT_MSGQUEUE 12
#define LINUX_RLIMIT_NICE 13
#define LINUX_RLIMIT_RTPRIO 14
#define LINUX_RLIMIT_RTTIME 15
#ifdef __mips__
#define LINUX_RLIM_INFINITY 0x7fffffffUL
#define LINUX32_RLIM_INFINITY 0x7fffffffU
#else
#define LINUX_RLIM_INFINITY ~0ul
#define LINUX32_RLIM_INFINITY ~0u
#endif
#define LINUX_DEFAULT_SUPER_MAGIC LINUX_EXT2_SUPER_MAGIC
#define LINUX_ADFS_SUPER_MAGIC 0x0000adf5
#define LINUX_AFFS_SUPER_MAGIC 0x0000adff
#define LINUX_CODA_SUPER_MAGIC 0x73757245
#define LINUX_COH_SUPER_MAGIC (LINUX_SYSV_MAGIC_BASE + 4)
#define LINUX_DEVFS_SUPER_MAGIC 0x00001373
#define LINUX_EFS_SUPER_MAGIC 0x00414A53
#define LINUX_EXT2_SUPER_MAGIC 0x0000EF53
#define LINUX_HPFS_SUPER_MAGIC 0xf995e849
#define LINUX_ISOFS_SUPER_MAGIC 0x00009660
#define LINUX_MINIX2_SUPER_MAGIC 0x00002468
#define LINUX_MINIX2_SUPER_MAGIC2 0x00002478
#define LINUX_MINIX_SUPER_MAGIC 0x0000137F
#define LINUX_MINIX_SUPER_MAGIC2 0x0000138F
#define LINUX_MSDOS_SUPER_MAGIC 0x00004d44
#define LINUX_NCP_SUPER_MAGIC 0x0000564c
#define LINUX_NFS_SUPER_MAGIC 0x00006969
#define LINUX_OPENPROM_SUPER_MAGIC 0x00009fa1
#define LINUX_PROC_SUPER_MAGIC 0x00009fa0
#define LINUX_QNX4_SUPER_MAGIC 0x0000002f
#define LINUX_REISERFS_SUPER_MAGIC 0x52654973
#define LINUX_SMB_SUPER_MAGIC 0x0000517B
#define LINUX_SYSV2_SUPER_MAGIC (LINUX_SYSV_MAGIC_BASE + 3)
#define LINUX_SYSV4_SUPER_MAGIC (LINUX_SYSV_MAGIC_BASE + 2)
#define LINUX_SYSV_MAGIC_BASE 0x012FF7B3
#define LINUX_TMPFS_SUPER_MAGIC 0x01021994
#define LINUX_USBDEVICE_SUPER_MAGIC 0x00009fa2
#define LINUX_DEVPTS_SUPER_MAGIC 0x00001cd1
#define LINUX_XENIX_SUPER_MAGIC (LINUX_SYSV_MAGIC_BASE + 1)
struct linux_mnttypes {
const char *mty_bsd;
int mty_linux;
};
extern const struct linux_mnttypes linux_fstypes[];
extern const int linux_fstypes_cnt;
#define LINUX_PER_QUERY 0xffffffff
#define LINUX_PER_LINUX 0x00
#define LINUX_PER_LINUX32 0x08
#define LINUX_PER_MASK 0xff
#define LINUX_PER_ADDR_NO_RANDOMIZE 0x00040000
#define linux_to_bsd_posix_fadv(advice) (advice)
struct linux_getcpu_cache{
unsigned long blob[128 / sizeof(long)];
};
struct linux_epoll_event {
uint32_t events;
uint64_t data;
}
#if defined(__amd64__)
__packed
#endif
;
#ifdef _KERNEL
__BEGIN_DECLS
struct linux_timeval;
int bsd_to_linux_wstat(int);
int linux_select1(struct lwp *, register_t *, int, fd_set *, fd_set *,
fd_set *, struct linux_timeval *);
int linux_do_sys_utimensat(struct lwp *, int, const char *,
struct timespec *, int, register_t *);
int linux_do_futex(int *, int, int, struct timespec *, int *, int, int,
register_t *);
__END_DECLS
#endif
#endif