/* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * * Copyright (C) 2002-2011 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning * * This program is free software; you can redistribute it and/or modify * 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. */ /* * ydirectenv.h: Environment wrappers for YAFFS direct. */ #ifndef __YDIRECTENV_H__ #define __YDIRECTENV_H__ #include #include #include #include "yaffs_osglue.h" void yaffs_bug_fn(const char *file_name, int line_no); #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_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 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) yaffs_qsort(base, n, sz, cmp_fn) #define YAFFS_PATH_DIVIDERS "/" #ifdef NO_inline #define inline #endif #define yaffs_trace(msk, fmt, ...) do { \ if (yaffs_trace_mask & (msk)) \ printf("yaffs: " fmt "\n", ##__VA_ARGS__); \ } while (0) #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj" #include "yaffscfg.h" #define Y_CURRENT_TIME yaffsfs_CurrentTime() #define Y_TIME_CONVERT(x) x #define YAFFS_ROOT_MODE 0666 #define YAFFS_LOSTNFOUND_MODE 0666 #include "linux/list.h" #include "yaffsfs.h" #endif