- patch from Denis Vlasenko to add and use bb_xsocket() and to use
[oweals/busybox.git] / include / platform.h
index 763292d7a21d06382c4c4598784b03d8ce1217ac..ea2983d30f859b00bd12125311c0cc769455084f 100644 (file)
 #endif
 
 #ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
 #endif /* ATTRIBUTE_UNUSED */
 
 #ifndef ATTRIBUTE_NORETURN
-#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
+# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
 #endif /* ATTRIBUTE_NORETURN */
 
 #ifndef ATTRIBUTE_PACKED
-#define ATTRIBUTE_PACKED __attribute__ ((__packed__))
-#endif /* ATTRIBUTE_NORETURN */
+# define ATTRIBUTE_PACKED __attribute__ ((__packed__))
+#endif /* ATTRIBUTE_PACKED */
+
+#ifndef ATTRIBUTE_ALIGNED
+# define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m)))
+#endif /* ATTRIBUTE_ALIGNED */
 
 /* -fwhole-program makes all symbols local. The attribute externally_visible
    forces a symbol global.  */
 #ifndef ATTRIBUTE_EXTERNALLY_VISIBLE
 # if __GNUC_PREREQ (4,1)
-# define ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((__externally_visible__))
+#  define ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((__externally_visible__))
 # else
-# define ATTRIBUTE_EXTERNALLY_VISIBLE
+#  define ATTRIBUTE_EXTERNALLY_VISIBLE
 # endif /* GNUC >= 4.1 */
 #endif /* ATTRIBUTE_EXTERNALLY_VISIBLE */
 
 # endif
 #endif
 
+/* ---- Endian Detection ------------------------------------ */
+#ifndef __APPLE__
+# include <byteswap.h>
+# include <endian.h>
+#endif
+
+#ifdef __BIG_ENDIAN__
+# define BB_BIG_ENDIAN 1
+# define BB_LITTLE_ENDIAN 0
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define BB_BIG_ENDIAN 1
+# define BB_LITTLE_ENDIAN 0
+#else
+# define BB_BIG_ENDIAN 0
+# define BB_LITTLE_ENDIAN 1
+#endif
+
+/* ---- Networking ------------------------------------------ */
+#ifndef __APPLE__
+# include <arpa/inet.h>
+#else
+# include <netinet/in.h>
+#endif
+
+/* ---- miscellaneous --------------------------------------- */
+/* NLS stuff */
+/* THIS SHOULD BE CLEANED OUT OF THE TREE ENTIRELY */
+#define _(Text) Text
+#define N_(Text) (Text)
 
-/* include USAGE_APPLET_x helper macros for usage.h.  */
-/*
-#include "_usage.h"
-*/
 #endif /* platform.h   */