// This file is Copyright (c) 2015 Florent Kermarrec // LiteETH lwIP port for ARTIQ // License: BSD #ifndef __ARCH_CC_H__ #define __ARCH_CC_H__ /* Include some files for defining library routines */ #include #include #include #define BYTE_ORDER BIG_ENDIAN /* Define generic types */ typedef unsigned char u8_t; typedef signed char s8_t; typedef unsigned short u16_t; typedef signed short s16_t; typedef unsigned long u32_t; typedef signed long s32_t; typedef u32_t mem_ptr_t; /* Define (sn)printf formatters for these types */ #define U8_F "c" #define S8_F "c" #define X8_F "x" #define U16_F "u" #define S16_F "d" #define X16_F "x" #define U32_F "u" #define S32_F "d" #define X32_F "x" /* Compiler hints for packing structures */ #define PACK_STRUCT_FIELD(x) x #define PACK_STRUCT_STRUCT __attribute__((packed)) #define PACK_STRUCT_BEGIN #define PACK_STRUCT_END /* prototypes for printf() and abort() */ #include #include #include "console.h" #define pp_printf printf /* Definitions for ASSERT/DIAG */ #ifdef LWIP_NOASSERT #define LWIP_PLATFORM_ASSERT(x) #else #define LWIP_PLATFORM_ASSERT(x) do {pp_printf("Assertion \"%s\" failed at line %d in %s\n", \ x, __LINE__, __FILE__); } while(0) #endif #ifdef LWIP_DEBUG #define LWIP_PLATFORM_DIAG(x) do {pp_printf x;} while(0) #endif #endif /* __ARCH_CC_H__ */