X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Ftypes.h;h=d8b993b2442967565e6787d028512a6cf886ea0e;hb=fe29af4c888d48cc1f16b1a247c2ffb6f0864522;hp=8b9227e7d98c54aea2de32385097268625894b9f;hpb=3fd8e510dc0a5184be2ec4b909b172ff7b7043cf;p=sliver-openvswitch.git diff --git a/include/linux/types.h b/include/linux/types.h index 8b9227e7d..d8b993b24 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -1,13 +1,62 @@ -#ifndef __LINUX_TYPES_USER_WRAPPER_H -#define __LINUX_TYPES_USER_WRAPPER_H 1 +/* + * Copyright (c) 2011 Nicira, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef LINUX_TYPES_H +#define LINUX_TYPES_H 1 + +/* On Linux, this header file just includes . + * + * On other platforms, this header file implements just enough of + * to allow to work, that is, it defines + * the __u and __be types. */ + +#ifdef __KERNEL__ #include_next +#elif defined(HAVE_LINUX_TYPES_H) +/* With some combinations of kernel and userspace headers, including both + * and only works if you do so in that order, so + * force it. */ -/* These were only introduced in v2.6.36. */ -#ifndef __aligned_u64 -#define __aligned_u64 __u64 __attribute__((aligned(8))) -#define __aligned_be64 __be64 __attribute__((aligned(8))) -#define __aligned_le64 __le64 __attribute__((aligned(8))) +#ifdef __CHECKER__ +#define __CHECK_ENDIAN__ #endif +#include +#include_next +#else /* no */ +#include + +#ifdef __CHECKER__ +#define __bitwise__ __attribute__((bitwise)) +#else +#define __bitwise__ #endif + +typedef uint8_t __u8; +typedef uint16_t __u16; +typedef uint32_t __u32; +typedef uint64_t __u64; + +typedef uint16_t __bitwise__ __be16; +typedef uint32_t __bitwise__ __be32; +typedef uint64_t __bitwise__ __be64; +#endif /* no */ + +#ifndef _WIN32 +typedef __u32 HANDLE; +#endif + +#endif /* */