X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fydirectenv.h;h=b477343d683f52f8f2d710603321c7feaa4426ec;hp=3c6ddf566a8b3d713bc0019c19d37e5e933ab4d1;hb=223ff79f689aba309ebc3ef856fb46095148d40e;hpb=3c25b14489d1ef9c4ba073dacd9a9f8bb218fe32 diff --git a/direct/ydirectenv.h b/direct/ydirectenv.h index 3c6ddf5..b477343 100644 --- a/direct/ydirectenv.h +++ b/direct/ydirectenv.h @@ -1,8 +1,7 @@ /* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * - * Copyright (C) 2002-2010 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Charles Manning * @@ -20,31 +19,45 @@ #ifndef __YDIRECTENV_H__ #define __YDIRECTENV_H__ -// Direct interface - #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) +void yaffs_bug_fn(const char *file_name, int line_no); + +#define BUG() do { yaffs_bug_fn(__FILE__, __LINE__); } while (0) #define YCHAR char #define YUCHAR unsigned char #define _Y(x) x +#ifndef Y_LOFF_T +#define Y_LOFF_T loff_t +#endif + +/* Some RTOSs (eg. VxWorks) need strnlen. */ +size_t strnlen(const char *s, size_t maxlen); + +#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_strnlen(s, m) strnlen(s, m) +#ifdef CONFIG_YAFFS_CASE_INSENSITIVE +#define yaffs_strcmp(a, b) strcasecmp(a, b) +#define yaffs_strncmp(a, b, c) strncasecmp(a, b, c) +#else +#define yaffs_strcmp(a, b) strcmp(a, b) +#define yaffs_strncmp(a, b, c) strncmp(a, b, c) +#endif + #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 sort(base, n, sz, cmp_fn, swp) qsort(base, n, sz, cmp_fn) -#define sort(base, n, sz, cmp_fn, swp) yaffs_qsort(base, n, sz, cmp_fn) - #define YAFFS_PATH_DIVIDERS "/" #ifdef NO_inline @@ -53,18 +66,22 @@ void yaffs_qsort(void *aa, size_t n, size_t es, #define inline __inline__ #endif -#define kmalloc(x,flags) yaffsfs_malloc(x) +#define kmalloc(x, flags) yaffsfs_malloc(x) #define kfree(x) yaffsfs_free(x) #define vmalloc(x) yaffsfs_malloc(x) #define vfree(x) yaffsfs_free(x) -#define cond_resched() do {} while(0) +#define cond_resched() do {} while (0) +#ifdef CONFIG_YAFFS_NO_TRACE +#define yaffs_trace(...) do { } while (0) +#else #define yaffs_trace(msk, fmt, ...) do { \ - if(yaffs_trace_mask & ((msk) | YAFFS_TRACE_ALWAYS)) \ + if (yaffs_trace_mask & (msk)) \ printf("yaffs: " fmt "\n", ##__VA_ARGS__); \ -} while(0) +} while (0) +#endif #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj" @@ -74,7 +91,7 @@ void yaffs_qsort(void *aa, size_t n, size_t es, #define Y_CURRENT_TIME yaffsfs_CurrentTime() #define Y_TIME_CONVERT(x) x -#define YAFFS_ROOT_MODE 0666 +#define YAFFS_ROOT_MODE 0666 #define YAFFS_LOSTNFOUND_MODE 0666 #include "yaffs_list.h"