X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fydirectenv.h;h=ceaa6c8423e1a4fad573c5215815d9a31817ea0f;hp=d05912643be2503de11fe8af442c8772d97e732a;hb=380d86d186c04767c5f849f442ab960eef75f020;hpb=b9d0902ef84af3e242f6a95fb7a1b79e1eb94aa8;ds=inline diff --git a/direct/ydirectenv.h b/direct/ydirectenv.h index d059126..ceaa6c8 100644 --- a/direct/ydirectenv.h +++ b/direct/ydirectenv.h @@ -1,8 +1,7 @@ /* - * YAFFS: Yet another FFS. A NAND-flash specific file system. - * ydirectenv.h: Environment wrappers for direct. + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * - * Copyright (C) 2002 Aleph One Ltd. + * Copyright (C) 2002-2010 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -11,42 +10,62 @@ * it under the terms of the GNU Lesser General Public License version 2.1 as * published by the Free Software Foundation. * - * * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. - * - * $Id: ydirectenv.h,v 1.3 2006-05-21 09:39:12 charles Exp $ - * */ - + +/* + * ydirectenv.h: Environment wrappers for YAFFS direct. + */ + #ifndef __YDIRECTENV_H__ #define __YDIRECTENV_H__ // Direct interface -#include "devextras.h" - #include "stdlib.h" #include "stdio.h" #include "string.h" +#include "yaffs_osglue.h" +#include "yaffs_hweight.h" + +#include "assert.h" +#define YBUG() assert(0) +//#define YBUG() do { *((int *)0) =1;} while(0) + #define YCHAR char #define YUCHAR unsigned char #define _Y(x) x +#define yaffs_strcat(a,b) strcat(a,b) #define yaffs_strcpy(a,b) strcpy(a,b) #define yaffs_strncpy(a,b,c) strncpy(a,b,c) -#define yaffs_strlen(s) strlen(s) +#define yaffs_strncmp(a,b,c) strncmp(a,b,c) +#define yaffs_strnlen(s,m) strnlen(s,m) #define yaffs_sprintf sprintf #define yaffs_toupper(a) toupper(a) -#define Y_INLINE inline +#define hweight8(x) yaffs_hweight8(x) +#define hweight32(x) yaffs_hweight32(x) +void yaffs_qsort(void *aa, size_t n, size_t es, + int (*cmp)(const void *, const void *)); -#define YMALLOC(x) malloc(x) +#define yaffs_sort(base, n, sz, cmp_fn) yaffs_qsort(base, n, sz, cmp_fn) + +#define YAFFS_PATH_DIVIDERS "/" + +#ifdef NO_Y_INLINE +#define Y_INLINE +#else +#define Y_INLINE __inline__ +#endif + +#define YMALLOC(x) yaffs_malloc(x) #define YFREE(x) free(x) -#define YMALLOC_ALT(x) malloc(x) +#define YMALLOC_ALT(x) yaffs_malloc(x) #define YFREE_ALT(x) free(x) -#define YMALLOC_DMA(x) malloc(x) +#define YMALLOC_DMA(x) yaffs_malloc(x) #define YYIELD() do {} while(0) @@ -58,6 +77,7 @@ #define TENDSTR "\n" #define TSTR(x) x +#define TCONT(x) x #define TOUT(p) printf p @@ -73,9 +93,13 @@ #define YAFFS_ROOT_MODE 0666 #define YAFFS_LOSTNFOUND_MODE 0666 -#define yaffs_SumCompare(x,y) ((x) == (y)) +#define yaffs_sum_cmp(x,y) ((x) == (y)) #define yaffs_strcmp(a,b) strcmp(a,b) +#include "yaffs_list.h" + +#include "yaffsfs.h" + #endif