Files
2013-09-26 17:14:40 +02:00

150 lines
5.2 KiB
Plaintext

$NetBSD: patch-ap,v 1.1.1.1 2011/07/27 10:23:50 cherry Exp $
--- src/netbsd/syscall-netbsd.h.orig 2009-12-16 13:06:31.000000000 +0000
+++ src/netbsd/syscall-netbsd.h
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+#ifndef _SKI_SYSCALL_H
+#define _SKI_SYSCALL_H
+
+#define STAT64_USE_TIMESPEC 1
+
+typedef long long long64 __attribute__((aligned(8)));
+typedef long64 time64;
+
+struct timeval64 {
+ long64 tv_sec;
+ long64 tv_usec;
+};
+
+struct itimerval64 {
+ struct timeval64 it_interval;
+ struct timeval64 it_value;
+};
+
+struct rusage64 {
+ struct timeval64 ru_utime;
+ struct timeval64 ru_stime;
+ long64 ru_maxrss;
+ long64 ru_ixrss;
+ long64 ru_idrss;
+ long64 ru_isrss;
+ long64 ru_minflt;
+ long64 ru_majflt;
+ long64 ru_nswap;
+ long64 ru_inblock;
+ long64 ru_oublock;
+ long64 ru_msgsnd;
+ long64 ru_msgrcv;
+ long64 ru_nsignals;
+ long64 ru_nvcsw;
+ long64 ru_nivcsw;
+};
+
+struct timespec64 {
+ time64 tv_sec;
+ long64 tv_nsec;
+};
+
+
+/* $NetBSD: patch-ap,v 1.1.1.1 2011/07/27 10:23:50 cherry Exp $ */
+
+struct stat64 {
+ dev_t st_dev; /* inode's device */
+ mode_t st_mode; /* inode protection mode */
+ ino_t st_ino; /* inode's number */
+ nlink_t st_nlink; /* number of hard links */
+ uid_t st_uid; /* user ID of the file's owner */
+ gid_t st_gid; /* group ID of the file's group */
+ dev_t st_rdev; /* device type */
+
+#if defined(_NETBSD_SOURCE)
+ struct timespec64 st_atimespec;/* time of last access */
+ struct timespec64 st_mtimespec;/* time of last data modification */
+ struct timespec64 st_ctimespec;/* time of last file status change */
+ struct timespec64 st_birthtimespec; /* time of creation */
+#else
+ time_t st_atime; /* time of last access */
+ long st_atimensec; /* nsec of last access */
+ time_t st_mtime; /* time of last data modification */
+ long st_mtimensec; /* nsec of last data modification */
+ time_t st_ctime; /* time of last file status change */
+ long st_ctimensec; /* nsec of last file status change */
+ time_t st_birthtime; /* time of creation */
+ long st_birthtimensec; /* nsec of time of creation */
+#endif
+ off_t st_size; /* file size, in bytes */
+ blkcnt_t st_blocks; /* blocks allocated for file */
+ blksize_t st_blksize; /* optimal blocksize for I/O */
+ uint32_t st_flags; /* user defined flags for file */
+ uint32_t st_gen; /* file generation number */
+ uint32_t st_spare[2];
+};
+
+
+/* $NetBSD: patch-ap,v 1.1.1.1 2011/07/27 10:23:50 cherry Exp $ */
+struct statvfs64 {
+ unsigned long f_flag; /* copy of mount exported flags */
+ unsigned long f_bsize; /* file system block size */
+ unsigned long f_frsize; /* fundamental file system block size */
+ unsigned long f_iosize; /* optimal file system block size */
+
+ fsblkcnt_t f_blocks; /* number of blocks in file system, */
+ /* (in units of f_frsize) */
+ fsblkcnt_t f_bfree; /* free blocks avail in file system */
+ fsblkcnt_t f_bavail; /* free blocks avail to non-root */
+ fsblkcnt_t f_bresvd; /* blocks reserved for root */
+
+ fsfilcnt_t f_files; /* total file nodes in file system */
+ fsfilcnt_t f_ffree; /* free file nodes in file system */
+ fsfilcnt_t f_favail; /* free file nodes avail to non-root */
+ fsfilcnt_t f_fresvd; /* file nodes reserved for root */
+
+ uint64_t f_syncreads; /* count of sync reads since mount */
+ uint64_t f_syncwrites; /* count of sync writes since mount */
+
+ uint64_t f_asyncreads; /* count of async reads since mount */
+ uint64_t f_asyncwrites; /* count of async writes since mount */
+
+ fsid_t f_fsidx; /* NetBSD compatible fsid */
+ unsigned long f_fsid; /* Posix compatible fsid */
+ unsigned long f_namemax; /* maximum filename length */
+ uid_t f_owner; /* user that mounted the file system */
+
+ uint32_t f_spare[4]; /* spare space */
+
+ char f_fstypename[_VFS_NAMELEN]; /* fs type name */
+ char f_mntonname[_VFS_MNAMELEN]; /* directory on which mounted */
+ char f_mntfromname[_VFS_MNAMELEN]; /* mounted file system */
+
+};
+
+void ntos_itimerval(const struct itimerval *, struct itimerval64 *);
+void ntos_rusage(const struct rusage *, struct rusage64 *);
+void ntos_stat(const struct stat *, struct stat64 *);
+void ntos_statvfs(const struct statvfs *, struct statvfs64 *);
+void ntos_timespec(const struct timespec *, struct timespec64 *);
+void ntos_timeval(const struct timeval *, struct timeval64 *);
+
+void ston_itimerval(const struct itimerval64 *, struct itimerval *);
+void ston_timeval(const struct timeval64 *, struct timeval *);
+
+#endif /* _SKI_SYSCALL_H */