X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Farchitecture.h;h=f1fef23cf281af782a694a6668941c0004bc7541;hb=651c33185eeb449385b471fffa8882a163c496f0;hp=4821d5d289f9dda0d6f961c39093bded046be09a;hpb=579af51964e21201d11b9d5bd371e2de0da8d0c3;p=elogind.git diff --git a/src/shared/architecture.h b/src/shared/architecture.h index 4821d5d28..f1fef23cf 100644 --- a/src/shared/architecture.h +++ b/src/shared/architecture.h @@ -21,14 +21,16 @@ along with systemd; If not, see . ***/ +#include + #include "util.h" /* A cleaned up architecture definition. We don't want to get lost in * processor features, models, generations or even ABIs. Hence we * focus on general family, and distuignish word width and - * endianess. */ + * endianness. */ -typedef enum Architecture { +enum { ARCHITECTURE_X86 = 0, ARCHITECTURE_X86_64, ARCHITECTURE_PPC, @@ -58,9 +60,9 @@ typedef enum Architecture { ARCHITECTURE_CRIS, _ARCHITECTURE_MAX, _ARCHITECTURE_INVALID = -1 -} Architecture; +}; -Architecture uname_architecture(void); +int uname_architecture(void); /* * LIB_ARCH_TUPLE should resolve to the local library path @@ -80,15 +82,15 @@ Architecture uname_architecture(void); # define native_architecture() ARCHITECTURE_X86 # define LIB_ARCH_TUPLE "i386-linux-gnu" #elif defined(__powerpc64__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_PPC64 # define LIB_ARCH_TUPLE "ppc64-linux-gnu" # else # define native_architecture() ARCHITECTURE_PPC64_LE -# error "Missing LIB_ARCH_TUPLE for PPC64LE" +# define LIB_ARCH_TUPLE "powerpc64le-linux-gnu" # endif #elif defined(__powerpc__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_PPC # define LIB_ARCH_TUPLE "powerpc-linux-gnu" # else @@ -117,7 +119,7 @@ Architecture uname_architecture(void); # define native_architecture() ARCHITECTURE_SPARC # define LIB_ARCH_TUPLE "sparc-linux-gnu" #elif defined(__mips64__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_MIPS64 # error "Missing LIB_ARCH_TUPLE for MIPS64" # else @@ -125,7 +127,7 @@ Architecture uname_architecture(void); # error "Missing LIB_ARCH_TUPLE for MIPS64_LE" # endif #elif defined(__mips__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_MIPS # define LIB_ARCH_TUPLE "mips-linux-gnu" # else @@ -136,7 +138,7 @@ Architecture uname_architecture(void); # define native_architecture() ARCHITECTURE_ALPHA # define LIB_ARCH_TUPLE "alpha-linux-gnu" #elif defined(__aarch64__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_ARM64_BE # define LIB_ARCH_TUPLE "aarch64_be-linux-gnu" # else @@ -144,7 +146,7 @@ Architecture uname_architecture(void); # define LIB_ARCH_TUPLE "aarch64-linux-gnu" # endif #elif defined(__arm__) -# if defined(WORDS_BIGENDIAN) +# if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_ARM_BE # if defined(__ARM_EABI__) # if defined(__ARM_PCS_VFP) @@ -186,5 +188,5 @@ Architecture uname_architecture(void); #error "Please register your architecture here!" #endif -const char *architecture_to_string(Architecture a) _const_; -Architecture architecture_from_string(const char *s) _pure_; +const char *architecture_to_string(int a) _const_; +int architecture_from_string(const char *s) _pure_;