diff options
Diffstat (limited to 'sysutils/xfsprogs/patches/patch-ad')
-rw-r--r-- | sysutils/xfsprogs/patches/patch-ad | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/sysutils/xfsprogs/patches/patch-ad b/sysutils/xfsprogs/patches/patch-ad new file mode 100644 index 00000000000..f667123e535 --- /dev/null +++ b/sysutils/xfsprogs/patches/patch-ad @@ -0,0 +1,201 @@ +$NetBSD: patch-ad,v 1.1.1.1 2005/12/30 23:03:05 agc Exp $ + +--- /dev/null 2005-12-29 13:42:11.000000000 +0000 ++++ include/netbsd.h 2005-12-29 14:07:41.000000000 +0000 +@@ -0,0 +1,196 @@ ++/* ++ * Copyright (c) 2004 Silicon Graphics, Inc. All Rights Reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of version 2 of the GNU General Public License as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it would be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ * ++ * Further, this software is distributed without any warranty that it is ++ * free of the rightful claim of any third person regarding infringement ++ * or the like. Any license provided herein, whether implied or ++ * otherwise, applies only to this software file. Patent licenses, if ++ * any, provided herein do not apply to combinations of this program with ++ * other software, or any other product whatsoever. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write the Free Software Foundation, Inc., 59 ++ * Temple Place - Suite 330, Boston MA 02111-1307, USA. ++ * ++ * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, ++ * Mountain View, CA 94043, or: ++ * ++ * http://www.sgi.com ++ * ++ * For further information regarding this notice, see: ++ * ++ * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ ++ * ++ */ ++#ifndef __XFS_NetBSD_H__ ++#define __XFS_NetBSD_H__ ++ ++#include <sys/stat.h> ++#include <sys/param.h> ++#include <sys/ioctl.h> ++#include <sys/ioccom.h> ++#include <sys/mount.h> ++#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900)) ++# include <sys/statvfs.h> ++#else ++# include <sys/statfs.h> ++#endif ++#include <ctype.h> ++#include <libgen.h> ++#include <paths.h> ++#include <uuid.h> ++ ++#include <sys/endian.h> ++ ++#define __bswap16 htobe16 ++#define __bswap32 htobe32 ++#define __bswap64 htobe64 ++ ++/* NetBSD file API is 64-bit aware */ ++#define fstat64 fstat ++#define ftruncate64 ftruncate ++#define lseek64 lseek ++#define stat64 stat ++#define pwrite64 pwrite ++#define pread64 pread ++#define fdatasync fsync ++#define memalign(a,size) valloc(size) ++ ++typedef u_int8_t __u8; ++typedef int8_t __s8; ++typedef u_int16_t __u16; ++typedef int16_t __s16; ++typedef u_int32_t __u32; ++typedef int32_t __s32; ++typedef u_int64_t __u64; ++typedef int64_t __s64; ++ ++#define constpp char * const * ++ ++#define EFSCORRUPTED 990 /* Filesystem is corrupted */ ++ ++typedef off_t xfs_off_t; ++typedef off_t off64_t; ++typedef __uint64_t xfs_ino_t; ++typedef __uint32_t xfs_dev_t; ++typedef __int64_t xfs_daddr_t; ++typedef char* xfs_caddr_t; ++typedef off_t loff_t; ++ ++#ifndef _UCHAR_T_DEFINED ++typedef unsigned char uchar_t; ++#define _UCHAR_T_DEFINED 1 ++#endif ++typedef enum { B_FALSE,B_TRUE } boolean_t; ++ ++#define O_LARGEFILE 0 ++ ++#ifndef O_DIRECT ++#define O_DIRECT 0 ++#endif ++ ++#define HAVE_FID 1 ++#define HAVE_SWABMACROS 1 ++#define INT_SWAP16(type,var) ((typeof(type))(__bswap16((__u16)(var)))) ++#define INT_SWAP32(type,var) ((typeof(type))(__bswap32((__u32)(var)))) ++#define INT_SWAP64(type,var) ((typeof(type))(__bswap64((__u64)(var)))) ++ ++static __inline__ int xfsctl(const char *path, int fd, int cmd, void *p) ++{ ++ return ioctl(fd, cmd, p); ++} ++ ++static __inline__ int platform_test_xfs_fd(int fd) ++{ ++#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900)) ++ struct statvfs buf; ++ if (fstatvfs(fd, &buf) < 0) ++ return 0; ++#else ++ struct statvfs buf; ++ if (fstatvfs(fd, &buf) < 0) ++ return 0; ++#endif ++ return strcpy(buf.f_fstypename, "xfs") == 0; ++} ++ ++static __inline__ int platform_test_xfs_path(const char *path) ++{ ++#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900)) ++ struct statvfs buf; ++ if (statvfs(path, &buf) < 0) ++ return 0; ++#else ++ struct statvfs buf; ++ if (statvfs(path, &buf) < 0) ++ return 0; ++#endif ++ return strcpy(buf.f_fstypename, "xfs") == 0; ++} ++ ++#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900)) ++static __inline__ int platform_fstatfs(int fd, struct statvfs *buf) ++{ ++ return fstatvfs(fd, buf); ++} ++#else ++static __inline__ int platform_fstatfs(int fd, struct statfs *buf) ++{ ++ return fstatfs(fd, buf); ++} ++#endif ++ ++static __inline__ void platform_getoptreset(void) ++{ ++ extern int optind; ++ optind = 0; ++} ++ ++/* ++ * Implement Linux libuuid functions in terms of DEC DCE's uuid ++ * functions from NetBSD libc. ++ */ ++ ++static __inline__ int gnu_uuid_compare(uuid_t a, uuid_t b) ++{ ++ return uuid_compare(&a, &b, NULL); ++} ++#define uuid_compare gnu_uuid_compare ++ ++static __inline__ int uuid_is_null(uuid_t uid) ++{ ++ return uuid_is_nil(&uid, NULL); ++} ++ ++static __inline__ void uuid_unparse(uuid_t uid, char *buf) ++{ ++ uint32_t status; ++ char *str; ++ uuid_to_string(&uid, &str, &status); ++ if (status == uuid_s_ok) ++ strcpy(buf, str); ++ else *buf = '\0'; ++ free(str); ++} ++ ++static __inline__ int gnu_uuid_parse(const char *buf, uuid_t *uid) ++{ ++ uint32_t status; ++ uuid_from_string(buf, uid, &status); ++ return (status == uuid_s_ok); ++} ++#define uuid_parse(s,u) gnu_uuid_parse((s), &(u)) ++ ++#define uuid_generate(uid) uuid_create(&(uid), NULL) ++#define uuid_clear(uid) uuid_create_nil(&(uid), NULL) ++#define uuid_copy(dst, src) memcpy(&(dst), &(src), sizeof(uuid_t)) ++ ++#endif /* __XFS_NetBSD_H__ */ |