]> granicus.if.org Git - esp-idf/commitdiff
lwip, wpa_supplicant: use endianness macros from libc if possible
authorIvan Grokhotkov <ivan@espressif.com>
Tue, 19 Mar 2019 11:58:42 +0000 (19:58 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Tue, 19 Mar 2019 14:15:32 +0000 (22:15 +0800)
components/lwip/port/esp32/include/arch/cc.h
components/wpa_supplicant/port/include/byteswap.h
components/wpa_supplicant/port/include/endian.h

index cba0b365ea2658d1315465de29dd7b0b77043206..1841e3f45af4a4c996282ed59041ff320f43c650 100644 (file)
@@ -41,7 +41,9 @@
 
 #include "arch/sys_arch.h"
 
+#ifndef BYTE_ORDER
 #define BYTE_ORDER LITTLE_ENDIAN
+#endif // BYTE_ORDER
 
 typedef uint8_t  u8_t;
 typedef int8_t   s8_t;
index 1a8bb8fd1585a4d23e57d044972246590385c72d..d65503ba3919466ee9198344883f0df585cd98f8 100644 (file)
@@ -5,7 +5,10 @@
 #ifndef BYTESWAP_H
 #define BYTESWAP_H
 
+#include <machine/endian.h>
+
 /* Swap bytes in 16 bit value.  */
+#ifndef __bswap_16
 #ifdef __GNUC__
 # define __bswap_16(x) \
     (__extension__                                                           \
@@ -18,8 +21,10 @@ __bswap_16 (unsigned short int __bsx)
   return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
 }
 #endif
+#endif // __bswap_16
 
 /* Swap bytes in 32 bit value.  */
+#ifndef __bswap_32
 #ifdef __GNUC__
 # define __bswap_32(x) \
     (__extension__                                                           \
@@ -34,7 +39,9 @@ __bswap_32 (unsigned int __bsx)
          (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24));
 }
 #endif
+#endif // __bswap_32
 
+#ifndef __bswap_64
 #if defined __GNUC__ && __GNUC__ >= 2
 /* Swap bytes in 64 bit value.  */
 # define __bswap_constant_64(x) \
@@ -61,5 +68,6 @@ __bswap_32 (unsigned int __bsx)
           }                                                                  \
         __r.__ll; }))
 #endif
+#endif // __bswap_64
 
 #endif /* BYTESWAP_H */
index 1e2453f1645b8733be7d2e1f56267837fff09b64..655bc30135f5a7bcde53338258e9cb4f390ed886 100644 (file)
@@ -30,6 +30,7 @@
 #define _ENDIAN_H_
 
 #include <stdint.h>
+#include <sys/types.h>
 #include "byteswap.h"
 
 #ifndef BIG_ENDIAN