$NetBSD: patch-ah,v 1.3 2007/12/05 16:31:00 christos Exp $ --- file.c.orig 2007-01-15 15:25:52.000000000 -0500 +++ file.c 2007-12-05 11:22:56.000000000 -0500 @@ -1,5 +1,4 @@ /* -#ifdef LINUX * Copyright (c) 1991, 1992 Paul Kranenburg * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey @@ -44,6 +43,13 @@ #else #define kernel_dirent dirent #endif +#ifdef NETBSD +#include +#define statfs statvfs +#define __val __fsid_val +#define f_fsid f_fsidx +#endif + #ifdef LINUX # ifdef LINUXSPARC @@ -162,7 +168,7 @@ #define XATTR_REPLACE 2 #endif -#ifdef FREEBSD +#ifdef ALLBSD #include #include #include @@ -831,16 +837,20 @@ #endif /* LINUXSPARC */ static const struct xlat fileflags[] = { -#ifdef FREEBSD +#ifdef ALLBSD { UF_NODUMP, "UF_NODUMP" }, { UF_IMMUTABLE, "UF_IMMUTABLE" }, { UF_APPEND, "UF_APPEND" }, { UF_OPAQUE, "UF_OPAQUE" }, +#ifdef UF_NOUNLINK { UF_NOUNLINK, "UF_NOUNLINK" }, +#endif { SF_ARCHIVED, "SF_ARCHIVED" }, { SF_IMMUTABLE, "SF_IMMUTABLE" }, { SF_APPEND, "SF_APPEND" }, +#ifdef SF_NOUNLINK { SF_NOUNLINK, "SF_NOUNLINK" }, +#endif #elif UNIXWARE >= 2 #ifdef _S_ISMLD { _S_ISMLD, "_S_ISMLD" }, @@ -852,7 +862,7 @@ { 0, NULL }, }; -#ifdef FREEBSD +#ifdef ALLBSD int sys_chflags(tcp) struct tcb *tcp; @@ -1058,7 +1068,7 @@ #endif /* !HAVE_STRUCT_STAT_ST_RDEV */ break; default: - tprintf("st_size=%llu, ", statbuf.st_size); + tprintf("st_size=%llu, ", (unsigned long long)statbuf.st_size); break; } if (!abbrev(tcp)) { @@ -1546,6 +1556,7 @@ #endif /* LINUX */ #ifndef SVR4 +#ifndef NETBSD static const char * sprintfstype(magic) @@ -1564,6 +1575,7 @@ sprintf(buf, "%#x", magic); return buf; } +#endif static void printstatfs(tcp, addr) @@ -1591,7 +1603,11 @@ statbuf.f_namelen); #else /* !ALPHA */ tprintf("{f_type=%s, f_bsize=%lu, f_blocks=%lu, f_bfree=%lu, ", +#ifndef NETBSD sprintfstype(statbuf.f_type), +#else + statbuf.f_fstypename, +#endif (unsigned long)statbuf.f_bsize, (unsigned long)statbuf.f_blocks, (unsigned long)statbuf.f_bfree); @@ -1846,7 +1862,7 @@ return 0; } -#if defined(SUNOS4) || defined(SVR4) +#if defined(SUNOS4) || defined(SVR4) || defined(NETBSD) int sys_fchroot(tcp) struct tcb *tcp; @@ -1856,7 +1872,7 @@ } return 0; } -#endif /* SUNOS4 || SVR4 */ +#endif /* SUNOS4 || SVR4 || NETBSD */ int sys_link(tcp) @@ -2188,7 +2204,7 @@ } #endif -#ifdef FREEBSD +#ifdef ALLBSD int sys_mkfifo(tcp) struct tcb *tcp; @@ -2199,7 +2215,7 @@ } return 0; } -#endif /* FREEBSD */ +#endif /* ALLBSD */ int sys_fsync(tcp) @@ -2254,7 +2270,7 @@ #endif /* LINUX */ -#if defined FREEBSD || defined LINUX +#if defined ALLBSD || defined LINUX static const struct xlat direnttypes[] = { { DT_UNKNOWN, "DT_UNKNOWN" }, { DT_FIFO, "DT_FIFO" }, @@ -2327,15 +2343,16 @@ d->d_namlen, d->d_namlen, d->d_name); } #endif /* SUNOS4 */ -#ifdef FREEBSD +#ifdef ALLBSD if (!abbrev(tcp)) { - tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=", - i ? " " : "", d->d_fileno, d->d_reclen); + tprintf("%s{d_fileno=%llu, d_reclen=%u, d_type=", + i ? " " : "", (unsigned long long)d->d_fileno, + d->d_reclen); printxval(direnttypes, d->d_type, "DT_???"); tprintf(", d_namlen=%u, d_name=\"%.*s\"}", d->d_namlen, d->d_namlen, d->d_name); } -#endif /* FREEBSD */ +#endif /* ALLBSD */ if (!d->d_reclen) { tprintf("/* d_reclen == 0, problem here */"); break; @@ -2421,7 +2438,7 @@ } #endif -#ifdef FREEBSD +#ifdef ALLBSD int sys_getdirentries(tcp) struct tcb * tcp; @@ -2454,8 +2471,9 @@ for (i = 0; i < len;) { struct kernel_dirent *d = (struct kernel_dirent *) &buf[i]; if (!abbrev(tcp)) { - tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=", - i ? " " : "", d->d_fileno, d->d_reclen); + tprintf("%s{d_fileno=%llu, d_reclen=%u, d_type=", + i ? " " : "", (unsigned long long)d->d_fileno, + d->d_reclen); printxval(direnttypes, d->d_type, "DT_???"); tprintf(", d_namlen=%u, d_name=\"%.*s\"}", d->d_namlen, d->d_namlen, d->d_name); @@ -2493,7 +2511,7 @@ } #endif /* LINUX */ -#ifdef FREEBSD +#ifdef ALLBSD int sys___getcwd(tcp) struct tcb *tcp;