00001 #ifndef UFFS_TYPES_H 00002 #define UFFS_TYPES_H 00003 00004 #ifdef __cplusplus 00005 extern "C"{ 00006 #endif 00007 00008 00009 00016 /* basic types */ 00017 00021 typedef char i8; 00022 00026 typedef unsigned char u8; 00027 00031 typedef short int i16; 00032 00033 00037 typedef unsigned short int u16; 00038 00039 00043 typedef int i32; 00044 00048 typedef unsigned int u32; 00049 00050 00051 /* boolean type */ 00052 00056 typedef int UBOOL; 00057 00058 00062 #define U_TRUE 1 00063 00064 00068 #define U_FALSE 0 00069 00073 typedef int URET; 00074 00078 #define U_FAIL -1 00079 00083 #define U_SUCC 0 00084 00088 #define IS_SUCC(ret) (ret >= 0 ? U_TRUE : U_FALSE) 00089 00090 00094 #define IS_FAIL(ret) (ret < 0 ? U_TRUE : U_FALSE) 00095 00096 #ifndef NULL 00097 00100 #define NULL 0 00101 #endif 00102 00103 00105 typedef struct uffs_DeviceSt uffs_Device; //NAND flash device 00107 typedef struct uffs_DeviceOpsSt uffs_DevOps; //NAND flash operations 00108 00109 typedef struct uffs_blockInfoSt uffs_blockInfo; 00110 typedef struct uffs_pageSpareSt uffs_pageSpare; 00111 typedef struct uffs_TagsSt uffs_Tags; //UFFS page tags 00112 00113 typedef struct uffs_BufSt uffs_Buf; //page buffer 00114 00115 00116 #ifdef __cplusplus 00117 } 00118 #endif 00119 00120 00121 #endif 00122