📄 _common.h
字号:
/****************************************************************************** * * * Project: DOC Driver for Linux 2.4 Block device driver for mDOC H3 family * * of devices under Linux kernel 2.4. * * * * Version: 1.0 * * Email questions to: oemsupport@sandisk.com * * Copyright (C) SanDisk IL Ltd. 1995 - 2007 * * SanDisk IL Ltd., 7 Atir Yeda Street, Kfar Saba 44425, Israel * * * ****************************************************************************** * * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the Free * * Software Foundation; either version 2 of the License, or any later version.* * This program is distributed in the hope that it will be useful, but WITHOUT* * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * * more details, which is set forth in the readme.txt file. * * You should have received a copy of the GNU General Public License along * * with this program; if not, write to the Free Software Foundation, Inc., 51 * * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This License does not grant you any right to use the trademarks, service * * marks or logos of SanDisk IL Ltd. or SanDisk Corporation. * * Subject to the foregoing, SanDisk IL Ltd., for itself and on behalf of its * * licensors, hereby reserves all intellectual property rights in the program,* * except for the rights expressly granted in this License. * * * ******************************************************************************//***********************************************************************************/
/* */
/* Header file containing definitions used by external API */
/* */
/***********************************************************************************/
/*
* $Log: V:/PVCSDB/DiskOnChip/archives/version 7.0/TrueFFS FS/src/mdoc/_common.h-arc $
*
* Rev 1.2 Sep 11 2006 13:45:10 yaniv.iarovici
* Legal header added
*
* Rev 1.1 Aug 09 2006 16:52:44 Polina.Marimont
* initial for DOC Driver 1.0
*/
#ifndef _COMMON_H
#define _COMMON_H
/**************************************************************************/
/* General types definitions */
/* TrueFFS interface of all packages uses the following types as the */
/* variable definision. */
/**************************************************************************/
typedef int FLBoolean;
typedef unsigned char FLByte; /* 8 bit unsigned variable */
typedef unsigned short FLWord; /* 16 bit unsigned variable */
typedef unsigned long FLDword; /* 32 bit unsigned variable */
typedef unsigned int FLNative; /* Native variable at least 16 bits */
typedef signed char FLSByte; /* 8 bit signed variable */
typedef signed short FLSWord; /* 16 bit signed variable */
typedef signed long FLSDword; /* 32 bit signed variable */
typedef int FLSNative; /* Signed native variable at least 16 bits */
typedef FLSWord FLWchar; /* Unicode type variable */
typedef FLDword CardAddress ; /* Physical offset on card */
/**************************************************************************/
/* I O r e q */
/* */
/* IOreq is a common structure passed to all TrueFFS 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 unsigned FLHandle; /* Handle of an open file or drive. */
/* Actually an index to file table or */
/* drive table. */
typedef struct {
FLHandle irHandle; /* Handle of file or drive for operation*/
FLDword irFlags; /* function-specific flags */
void * irPath; /* path of file for operation */
void * 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;
/**************************************************************************/
/* Special ioreq field names: */
/* IOReq structure is the basic IO type used for all TrueFFS calls. */
/* Some of the fields has additional name for more trivial use of the */
/* function. The duplicate names are defined below. */
/**************************************************************************/
#define irSectorCount irCount
#define irSectorNo irLength
#define irByteCount irCount
#define irAddress irLength
#define FL_GET_SOCKET_FROM_HANDLE(ioreq) (FLByte)((ioreq)->irHandle & 0x0f)
#define FL_GET_FLASH_PARTITION_FROM_HANDLE(ioreq) (FLByte)(((ioreq)->irHandle & 0xf0) >> 4)
#endif /*_COMMON_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -