⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flreq.h

📁 M-System DOC(Disk on a Chip) Flash芯片的诊断工具, 可以从Flash芯片中获取特定的数据信息, 用于判断芯片当前的状态.
💻 H
字号:
/***********************************************************************************/
/*                        M-Systems Confidential                                   */
/*           Copyright (C) M-Systems Flash Disk Pioneers Ltd. 1995-2003            */
/*                         All Rights Reserved                                     */
/***********************************************************************************/
/*                            NOTICE OF M-SYSTEMS OEM                              */
/*                           SOFTWARE LICENSE AGREEMENT                            */
/*                                                                                 */
/*      THE USE OF THIS SOFTWARE IS GOVERNED BY A SEPARATE LICENSE                 */
/*      AGREEMENT BETWEEN THE OEM AND M-SYSTEMS. REFER TO THAT AGREEMENT           */
/*      FOR THE SPECIFIC TERMS AND CONDITIONS OF USE,                              */
/*      OR CONTACT M-SYSTEMS FOR LICENSE ASSISTANCE:                               */
/*      E-MAIL = info@m-sys.com                                                    */
/***********************************************************************************/

/*
 * $Log:   V:/PVCSDB/DiskOnChip/archives/general storage/TrueFFS/src/include/flreq.h-arc  $
 * 
 *    Rev 1.1   Sep 30 2003 17:59:06   oris
 * Changed irPath pointer type.
 * 
 *    Rev 1.0   Apr 09 2003 12:16:00   OriS
 * Initial revision.
 * 
 */

#ifndef FLREQ_H
#define FLREQ_H

#include "flbase.h"
#include "_flreq.h"

#define VOLUME_LOW_LVL_MOUNTED 1  /* Volume is mounted for low level operations */
#define VOLUME_MOUNTED         2  /* Volume is mounted                          */
#define VOLUME_12BIT_FAT       4  /* Volume uses 12-bit FAT                     */
#define VOLUME_ABS_MOUNTED     8  /* Volume is mounted for abs calls            */
#define VOLUME_WRITE_PROTECTED 16 /* Volume is write protected                  */
#define VOLUME_ACCUPIED        32 /* Volume record bellongs to a volume         */

typedef unsigned FLHandle;        /* Handle of an open file or drive.   */
                                  /* Actually an index to file table or */
                                  /* drive table.                       */

/*----------------------------------------------------------------------*/
/*                  P a t h - N a m e s                                 */
/*                                                                      */
/* A path-name is represented as an array of SimplePath records.        */
/* Each SimplePath record holds a directory or file name segment, with  */
/* the full 8.3 (spaces not compressed) name.                           */
/*                                                                      */
/* Path-names always start at the root directory. There is no current   */
/* directory. The directories pointers '.' and '..' can be specified    */
/* as the 'name' part of the path-segment, except at the root-directory.*/
/*                                                                      */
/* Lower-case letters are different from upper-case. To be compatible   */
/* with DOS, file-names should be upper-case. File names may contain    */
/* any character, but files starting with hex E5 are considered deleted */
/* according to DOS convention.                                         */
/*                                                                      */
/* A null (hex 0) in the first byte of the name field denotes that the  */
/* path ends here.                                                      */
/*                                                                      */
/* Note that paths can be specified as strings: For example:            */
/*                                                                      */
/* "UTIL       FATLITE H  "    ===> "\UTIL\FATLITE.H".                  */
/* ""       ===> "\" (root directory)                                   */
/* "AUTOEXECBAT"                ===> "\AUTOEXEC.BAT"                    */
/* "UTIL       ..         "    ===> "\UTIL\.." (root directory)         */
/*                                                                      */
/* The optional service flParsePath may be used to convert regular      */
/* string paths to this format.                                         */
/*----------------------------------------------------------------------*/

typedef struct {
  FLSByte   name[8];   /* name part of path segment */
  /* A hex 0 in 1st character indicates end of path */
  FLSByte   ext[3];   /* extension part of path segment */
} FLSimplePath;

/*----------------------------------------------------------------------*/
/*                            I O r e q                                 */
/*                                                                      */
/* IOreq is a common structure passed to all file-system functions.     */
/* Refer to the description of individual functions for specific usage  */
/* of fields. Some fields have different names when used by different   */
/* functions, hence the use of unions.                                  */
/*                                                                      */
/*----------------------------------------------------------------------*/

typedef struct {
  FLHandle   irHandle;         /* Handle of file or drive for operation*/
  unsigned   irFlags;          /* function-specific flags              */
  void FAR1 * irPath;	       /* path of file for operation 		*/
  void FAR1 * irData;          /* Pointer to user-buffer for operation */
  FLSDword   irLength;         /* No. of bytes, size or position for   */
                               /* operation                            */
  FLSDword   irCount;          /* Count or offset for operaion         */
} IOreq;

/* definiftions for absolute read & write */
#define irSectorCount   irCount
#define irSectorNo      irLength

/* definitions for physical read & write */
#define irByteCount     irCount
#define irAddress       irLength

/* definitions for physical erase */
#define irUnitCount     irCount
#define irUnitNo        irLength

/* definitions for writing exb file */
#define irWindowBase    irCount

#endif /* FLREQ_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -