Home | History | Annotate | Download | only in yaffs2
      1 /*
      2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
      3  *
      4  * Copyright (C) 2002-2011 Aleph One Ltd.
      5  *   for Toby Churchill Ltd and Brightstar Engineering
      6  *
      7  * Created by Charles Manning <charles (at) aleph1.co.uk>
      8  *
      9  * This program is free software; you can redistribute it and/or modify
     10  * it under the terms of the GNU Lesser General Public License version 2.1 as
     11  * published by the Free Software Foundation.
     12  *
     13  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
     14  */
     15 
     16 /*
     17  * ydirectenv.h: Environment wrappers for YAFFS direct.
     18  */
     19 
     20 #ifndef __YDIRECTENV_H__
     21 #define __YDIRECTENV_H__
     22 
     23 #include <common.h>
     24 #include <malloc.h>
     25 #include <linux/compat.h>
     26 
     27 #include "yaffs_osglue.h"
     28 
     29 void yaffs_bug_fn(const char *file_name, int line_no);
     30 
     31 
     32 
     33 #define YCHAR char
     34 #define YUCHAR unsigned char
     35 #define _Y(x) x
     36 
     37 #define yaffs_strcat(a, b)	strcat(a, b)
     38 #define yaffs_strcpy(a, b)	strcpy(a, b)
     39 #define yaffs_strncpy(a, b, c)	strncpy(a, b, c)
     40 #define yaffs_strnlen(s, m)	strnlen(s, m)
     41 #ifdef CONFIG_YAFFS_CASE_INSENSITIVE
     42 #define yaffs_strcmp(a, b)	strcasecmp(a, b)
     43 #define yaffs_strncmp(a, b, c)	strncasecmp(a, b, c)
     44 #else
     45 #define yaffs_strcmp(a, b)	strcmp(a, b)
     46 #define yaffs_strncmp(a, b, c)	strncmp(a, b, c)
     47 #endif
     48 
     49 
     50 void yaffs_qsort(void *aa, size_t n, size_t es,
     51 		int (*cmp)(const void *, const void *));
     52 
     53 #define sort(base, n, sz, cmp_fn, swp) yaffs_qsort(base, n, sz, cmp_fn)
     54 
     55 #define YAFFS_PATH_DIVIDERS  "/"
     56 
     57 #ifdef NO_inline
     58 #define inline
     59 #endif
     60 
     61 #define yaffs_trace(msk, fmt, ...) do { \
     62 	if (yaffs_trace_mask & (msk)) \
     63 		printf("yaffs: " fmt "\n", ##__VA_ARGS__); \
     64 } while (0)
     65 
     66 
     67 #define YAFFS_LOSTNFOUND_NAME		"lost+found"
     68 #define YAFFS_LOSTNFOUND_PREFIX		"obj"
     69 
     70 #include "yaffscfg.h"
     71 
     72 #define Y_CURRENT_TIME yaffsfs_CurrentTime()
     73 #define Y_TIME_CONVERT(x) x
     74 
     75 #define YAFFS_ROOT_MODE			0666
     76 #define YAFFS_LOSTNFOUND_MODE		0666
     77 
     78 #include <linux/list.h>
     79 
     80 #include "yaffsfs.h"
     81 
     82 #endif
     83