X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyportenv.h;h=4208e806661fa8f1d95a58bd0e1d9ab623052b84;hp=22afb069b14c2b0d80780f1a2d429cdf90f6be1a;hb=2899f1fb283094d96a13bc50fff5c03f2d85cdba;hpb=4aab7ea4c9b8fb1bb9b375476a9faf70d29871b1 diff --git a/direct/yportenv.h b/direct/yportenv.h index 22afb06..4208e80 100644 --- a/direct/yportenv.h +++ b/direct/yportenv.h @@ -17,65 +17,78 @@ #ifndef __YPORTENV_H__ #define __YPORTENV_H__ -/* - * Define the MTD version in terms of Linux Kernel versions - * This allows yaffs to be used independantly of the kernel - * as well as with it. - */ +/* Definition of types */ +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned u32; -#if defined CONFIG_YAFFS_WINCE -#include "ywinceenv.h" +#ifndef WIN32 +#include +#endif -#elif defined CONFIG_YAFFS_DIRECT +#ifdef CONFIG_YAFFS_PROVIDE_DEFS +/* File types */ -/* Direct interface */ -#include "ydirectenv.h" -#elif defined CONFIG_YAFFS_UTIL +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 -/* Stuff for YAFFS utilities */ -#include "stdlib.h" -#include "stdio.h" -#include "string.h" +#ifndef WIN32 +#include +#endif +/* + * Attribute flags. + * These are or-ed together to select what has been changed. + */ +#define ATTR_MODE 1 +#define ATTR_UID 2 +#define ATTR_GID 4 +#define ATTR_SIZE 8 +#define ATTR_ATIME 16 +#define ATTR_MTIME 32 +#define ATTR_CTIME 64 + +struct iattr { + unsigned int ia_valid; + unsigned ia_mode; + unsigned ia_uid; + unsigned ia_gid; + unsigned ia_size; + unsigned ia_atime; + unsigned ia_mtime; + unsigned ia_ctime; + unsigned int ia_attr_flags; +}; -#define YMALLOC(x) malloc(x) -#define YFREE(x) free(x) -#define YMALLOC_ALT(x) malloc(x) -#define YFREE_ALT(x) free(x) +#endif -#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) -#define yaffs_sprintf sprintf -#define yaffs_toupper(a) toupper(a) -#define Y_INLINE inline -/* #define YINFO(s) YPRINTF(( __FILE__ " %d %s\n",__LINE__,s)) */ -/* #define YALERT(s) YINFO(s) */ +#if defined CONFIG_YAFFS_WINCE + +#include "ywinceenv.h" + -#define TENDSTR "\n" -#define TSTR(x) x -#define TOUT(p) printf p +#elif defined CONFIG_YAFFS_DIRECT -#define YAFFS_LOSTNFOUND_NAME "lost+found" -#define YAFFS_LOSTNFOUND_PREFIX "obj" -/* #define YPRINTF(x) printf x */ +/* Direct interface */ +#include "ydirectenv.h" -#define YAFFS_ROOT_MODE 0755 -#define YAFFS_LOSTNFOUND_MODE 0700 +#elif defined CONFIG_YAFFS_UTIL -#define yaffs_sum_cmp(x, y) ((x) == (y)) -#define yaffs_strcmp(a, b) strcmp(a, b) +#include "yutilsenv.h" #else /* Should have specified a configuration type */ @@ -163,6 +176,10 @@ #define ENOSPC 28 #endif +#ifndef EROFS +#define EROFS 30 +#endif + #ifndef ERANGE #define ERANGE 34 #endif @@ -183,6 +200,10 @@ #define ENOMEM 12 #endif +#ifndef EFAULT +#define EFAULT 14 +#endif + #ifndef EEXIST #define EEXIST 17 #endif @@ -195,6 +216,10 @@ #define EISDIR 21 #endif +#ifndef ELOOP +#define ELOOP 40 +#endif + // Mode flags @@ -255,98 +280,11 @@ #ifndef YBUG #define YBUG() do {\ - T(YAFFS_TRACE_BUG,\ - (TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),\ - __LINE__));\ + yaffs_trace(YAFFS_TRACE_BUG,\ + "==>> yaffs bug: " __FILE__ " %d",\ + __LINE__);\ Y_DUMP_STACK();\ } while (0) #endif - -#endif - -/* - * 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 - * - * 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. - */ - -/* - * This file is just holds extra declarations of macros that would normally - * be provided in the Linux kernel. These macros have been written from - * scratch but are functionally equivalent to the Linux ones. - * - */ - -#ifndef __EXTRAS_H__ -#define __EXTRAS_H__ - - -/* Definition of types */ -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned u32; - - -#ifndef WIN32 -#include -#endif - - -#ifdef CONFIG_YAFFS_PROVIDE_DEFS -/* File types */ - - -#define DT_UNKNOWN 0 -#define DT_FIFO 1 -#define DT_CHR 2 -#define DT_DIR 4 -#define DT_BLK 6 -#define DT_REG 8 -#define DT_LNK 10 -#define DT_SOCK 12 -#define DT_WHT 14 - - -#ifndef WIN32 -#include -#endif - -/* - * Attribute flags. These should be or-ed together to figure out what - * has been changed! - */ -#define ATTR_MODE 1 -#define ATTR_UID 2 -#define ATTR_GID 4 -#define ATTR_SIZE 8 -#define ATTR_ATIME 16 -#define ATTR_MTIME 32 -#define ATTR_CTIME 64 - -struct iattr { - unsigned int ia_valid; - unsigned ia_mode; - unsigned ia_uid; - unsigned ia_gid; - unsigned ia_size; - unsigned ia_atime; - unsigned ia_mtime; - unsigned ia_ctime; - unsigned int ia_attr_flags; -}; - -#endif - - - #endif