|
|
|
/*
|
|
|
|
* Copyright (c) 2010 - 2011 Espressif System
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Modified for esp-link to confiorm with c99 using the patch included with
|
|
|
|
// esp-open-sdk https://github.com/pfalcon/esp-open-sdk/blob/master/c_types-c99.patch
|
|
|
|
// This is included here because otherwise there is a discrepancy between users that use
|
|
|
|
// the original Espressif SDK vs ones who want to use the SDK included with esp-open-sdk.
|
|
|
|
// This is a mess, if only Espressif fixed their crap!
|
|
|
|
|
|
|
|
#ifndef _C_TYPES_H_
|
|
|
|
#define _C_TYPES_H_
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
typedef unsigned char uint8_t;
|
|
|
|
typedef signed char sint8_t;
|
|
|
|
typedef signed char int8_t;
|
|
|
|
typedef unsigned short uint16_t;
|
|
|
|
typedef signed short sint16_t;
|
|
|
|
typedef signed short int16_t;
|
|
|
|
typedef unsigned int uint32_t;
|
|
|
|
typedef signed int sint32_t;
|
|
|
|
typedef signed int int32_t;
|
|
|
|
typedef signed long long sint64_t;
|
|
|
|
typedef unsigned long long uint64_t;
|
|
|
|
typedef unsigned long long u_int64_t;
|
|
|
|
typedef float real32_t;
|
|
|
|
typedef double real64_t;
|
|
|
|
|
|
|
|
typedef unsigned char uint8;
|
|
|
|
typedef unsigned char u8;
|
|
|
|
typedef signed char sint8;
|
|
|
|
typedef signed char int8;
|
|
|
|
typedef signed char s8;
|
|
|
|
typedef unsigned short uint16;
|
|
|
|
typedef unsigned short u16;
|
|
|
|
typedef signed short sint16;
|
|
|
|
typedef signed short s16;
|
|
|
|
typedef unsigned int uint32;
|
|
|
|
typedef unsigned int u_int;
|
|
|
|
typedef unsigned int u32;
|
|
|
|
typedef signed int sint32;
|
|
|
|
typedef signed int s32;
|
|
|
|
typedef int int32;
|
|
|
|
typedef signed long long sint64;
|
|
|
|
typedef unsigned long long uint64;
|
|
|
|
typedef unsigned long long u64;
|
|
|
|
typedef float real32;
|
|
|
|
typedef double real64;
|
|
|
|
|
|
|
|
#define __le16 u16
|
|
|
|
|
|
|
|
typedef unsigned int size_t;
|
|
|
|
|
|
|
|
#define __packed __attribute__((packed))
|
|
|
|
|
|
|
|
#define LOCAL static
|
|
|
|
|
|
|
|
#ifndef NULL
|
|
|
|
#define NULL (void *)0
|
|
|
|
#endif /* NULL */
|
|
|
|
|
|
|
|
/* probably should not put STATUS here */
|
|
|
|
typedef enum {
|
|
|
|
OK = 0,
|
|
|
|
FAIL,
|
|
|
|
PENDING,
|
|
|
|
BUSY,
|
|
|
|
CANCEL,
|
|
|
|
} STATUS;
|
|
|
|
|
|
|
|
#define BIT(nr) (1UL << (nr))
|
|
|
|
|
|
|
|
#define REG_SET_BIT(_r, _b) (*(volatile uint32_t*)(_r) |= (_b))
|
|
|
|
#define REG_CLR_BIT(_r, _b) (*(volatile uint32_t*)(_r) &= ~(_b))
|
|
|
|
|
|
|
|
#define DMEM_ATTR __attribute__((section(".bss")))
|
|
|
|
#define SHMEM_ATTR
|
|
|
|
|
|
|
|
#ifdef ICACHE_FLASH
|
|
|
|
#define ICACHE_FLASH_ATTR __attribute__((section(".irom0.text")))
|
|
|
|
#define ICACHE_RODATA_ATTR __attribute__((section(".irom.text")))
|
|
|
|
#else
|
|
|
|
#define ICACHE_FLASH_ATTR
|
|
|
|
#define ICACHE_RODATA_ATTR
|
|
|
|
#endif /* ICACHE_FLASH */
|
|
|
|
|
|
|
|
#define STORE_ATTR __attribute__((aligned(4)))
|
|
|
|
|
|
|
|
#ifndef __cplusplus
|
|
|
|
//typedef unsigned char bool;
|
|
|
|
#define BOOL bool
|
|
|
|
//#define true (1)
|
|
|
|
//#define false (0)
|
|
|
|
#define TRUE true
|
|
|
|
#define FALSE false
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* !__cplusplus */
|
|
|
|
|
|
|
|
#endif /* _C_TYPES_H_ */
|