101 lines
3.2 KiB
C
101 lines
3.2 KiB
C
|
/*
|
||
|
+------------------------------------------------------------------------------
|
||
|
| Project : Device Filesystem
|
||
|
+------------------------------------------------------------------------------
|
||
|
| Copyright 2004, 2005 www.fayfayspace.org.
|
||
|
| All rights reserved.
|
||
|
|------------------------------------------------------------------------------
|
||
|
| File : dfs_opts.h, the option definitions of Device FileSystem
|
||
|
|------------------------------------------------------------------------------
|
||
|
| Chang Logs:
|
||
|
| Date Author Notes
|
||
|
| 2005-01-22 ffxz The first version.
|
||
|
+------------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
#ifndef __DFS_CONFIG_H__
|
||
|
#define __DFS_CONFIG_H__
|
||
|
|
||
|
/*
|
||
|
+------------------------------------------------------------------------------
|
||
|
| Device Manager options
|
||
|
+------------------------------------------------------------------------------
|
||
|
*/
|
||
|
/* Device Options parameters */
|
||
|
#define DEVICES_MAX 8
|
||
|
#define DEVICE_NAME_MAX 8
|
||
|
|
||
|
/*
|
||
|
+------------------------------------------------------------------------------
|
||
|
| Device Filesystem options
|
||
|
+------------------------------------------------------------------------------
|
||
|
*/
|
||
|
/* the max length of filesystem name */
|
||
|
#define DFS_FS_NAME_MAX 4
|
||
|
/* the max type of filesystem */
|
||
|
#define DFS_FILESYSTEM_TYPES_MAX 2
|
||
|
|
||
|
/* the max length of path name */
|
||
|
#define DFS_PATH_MAX 256
|
||
|
/* the max length of file name */
|
||
|
#define DFS_FILE_MAX 256
|
||
|
|
||
|
/* options for server task */
|
||
|
#define DFS_MBOX_NUMBER 32
|
||
|
#define DFS_SERVER_STACK 1024
|
||
|
#define DFS_SERVER_PRI 110
|
||
|
#define DFS_SERVER_SLICE 20
|
||
|
|
||
|
/*
|
||
|
+------------------------------------------------------------------------------
|
||
|
| FAT filesystem options
|
||
|
+------------------------------------------------------------------------------
|
||
|
*/
|
||
|
/* file name max length */
|
||
|
#define FAT_NAME_MAX 256
|
||
|
/* max number of FAT filesystem */
|
||
|
#define FATFS_MAX 2
|
||
|
|
||
|
/* the size of sector */
|
||
|
#define SECTOR_SIZE 512
|
||
|
|
||
|
/* FAT table sector cache options */
|
||
|
#define FAT_CACHE_SIZE 0x10 /* config parameter */
|
||
|
#define FAT_CACHE_MASK (FAT_CACHE_SIZE-1)
|
||
|
|
||
|
#define GET16(x) (*(x)) | (*((x)+1) << 8)
|
||
|
#define GET32(x) (*(x)) | (*((x)+1) << 8) | (*((x)+2) << 16) | (*((x)+3) << 24)
|
||
|
|
||
|
#define SET16(x, v) \
|
||
|
do \
|
||
|
{ \
|
||
|
*(x) = (v) & 0x00ff; \
|
||
|
(*((x)+1)) = (v) >> 8; \
|
||
|
} while ( 0 )
|
||
|
|
||
|
#define SET32(x, v) \
|
||
|
do \
|
||
|
{ \
|
||
|
*(x) = (v) & 0x000000ff; \
|
||
|
(*((x)+1)) = ((v) >> 8) & 0x000000ff; \
|
||
|
(*((x)+2)) = ((v) >> 16) & 0x000000ff; \
|
||
|
(*((x)+3)) = ((v) >> 24); \
|
||
|
} while ( 0 )
|
||
|
|
||
|
#define DFS_DEBUG_INFO 0x01
|
||
|
#define DFS_DEBUG_WARNING 0x02
|
||
|
#define DFS_DEBUG_ERROR 0x04
|
||
|
|
||
|
#define DFS_DEBUG_LEVEL (DFS_DEBUG_INFO | DFS_DEBUG_WARNING | DFS_DEBUG_ERROR)
|
||
|
|
||
|
/* #define DFS_DEBUG */
|
||
|
#ifdef DFS_DEBUG
|
||
|
#define dfs_log(level, x) do { if (level & DFS_DEBUG_LEVEL) \
|
||
|
{rt_kprintf("DFS %s, %d:", __FILE__, __LINE__); rt_kprintf x; \
|
||
|
rt_kprintf ("\n");}}while (0)
|
||
|
#else
|
||
|
#define dfs_log(level, x)
|
||
|
#endif
|
||
|
|
||
|
#endif
|