diff options
author | pjd <pjd@FreeBSD.org> | 2013-08-18 13:34:11 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2013-08-18 13:34:11 +0000 |
commit | 999f81be5b44b280d1139e3f2099bc28f7d5675d (patch) | |
tree | 3e6b5608f66ae516abf574e76c9377ce0551c51a | |
parent | 1d1d0428d27d178332c36d3cf6b9d05f4aa88bef (diff) | |
download | FreeBSD-src-999f81be5b44b280d1139e3f2099bc28f7d5675d.zip FreeBSD-src-999f81be5b44b280d1139e3f2099bc28f7d5675d.tar.gz |
Move the PAIR32TO64() macro and the RETVAL_HI/RETVAL_LO defines to a
header file for use by other .c files.
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.c | 11 | ||||
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.h | 47 |
2 files changed, 48 insertions, 10 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 51175aa..16d1205 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -102,6 +102,7 @@ __FBSDID("$FreeBSD$"); #include <compat/freebsd32/freebsd32_util.h> #include <compat/freebsd32/freebsd32.h> #include <compat/freebsd32/freebsd32_ipc.h> +#include <compat/freebsd32/freebsd32_misc.h> #include <compat/freebsd32/freebsd32_signal.h> #include <compat/freebsd32/freebsd32_proto.h> @@ -128,16 +129,6 @@ CTASSERT(sizeof(struct sigaction32) == 24); static int freebsd32_kevent_copyout(void *arg, struct kevent *kevp, int count); static int freebsd32_kevent_copyin(void *arg, struct kevent *kevp, int count); -#if BYTE_ORDER == BIG_ENDIAN -#define PAIR32TO64(type, name) ((name ## 2) | ((type)(name ## 1) << 32)) -#define RETVAL_HI 0 -#define RETVAL_LO 1 -#else -#define PAIR32TO64(type, name) ((name ## 1) | ((type)(name ## 2) << 32)) -#define RETVAL_HI 1 -#define RETVAL_LO 0 -#endif - void freebsd32_rusage_out(const struct rusage *s, struct rusage32 *s32) { diff --git a/sys/compat/freebsd32/freebsd32_misc.h b/sys/compat/freebsd32/freebsd32_misc.h new file mode 100644 index 0000000..b81a9a1 --- /dev/null +++ b/sys/compat/freebsd32/freebsd32_misc.h @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _COMPAT_FREEBSD32_MISC_H_ +#define _COMPAT_FREEBSD32_MISC_H_ + +#include <sys/endian.h> + +#if BYTE_ORDER == BIG_ENDIAN +#define PAIR32TO64(type, name) ((name ## 2) | ((type)(name ## 1) << 32)) +#define RETVAL_HI 0 +#define RETVAL_LO 1 +#else +#define PAIR32TO64(type, name) ((name ## 1) | ((type)(name ## 2) << 32)) +#define RETVAL_HI 1 +#define RETVAL_LO 0 +#endif + +#endif /* !_COMPAT_FREEBSD32_MISC_H_ */ |