📄 driver.h
字号:
/*
* @(#)Driver.h
* @date 2005/12/25
* @version 1.0
* @author Zhou Shangpin.
* Copyright 2005 Anyka corporation, Inc. All rights reserved.
* ANYKA PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
#ifndef _DRIVER_H_
#define _DRIVER_H_
#include "partition.h"
#include "list.h"
#include "ustring.h"
typedef struct Driver T_DRIVER;
typedef struct Driver* T_PDRIVER;
typedef T_BOOL (*F_SREAD)(T_POBJECT file);
typedef T_BOOL (*F_SWRITE)(T_POBJECT file);
typedef enum
{
FS_FAT = 0,
FS_NTFS = 1,
FS_HFS = 2,
FS_EXT = 3
}E_FS;
typedef enum
{
FS_SEARCH_FILE,
FS_SEARCH_FOLDER,
FS_SEARCH_NOEXIST,
FS_SEARCH_ERROR
}E_FSSEARCH;
struct Driver
{
T_OBJECT object;
T_PMEDIUM medium; //mediu object
T_U32 SecBit; //sector length
T_U8* buf; //buffer
T_U32* addr; //save data addr.
T_U32 BufLen; //buffer length
T_U32 StartSector; //start in medium.
T_U32 capacity; //capactiy
T_CHAR separator[2]; //'/' or '\\'
E_CODE code; //CODE_ENG, CODE_GBK
E_FS fs; //FAT, NTFS, HFS+, EXT3
T_U32 DefaultPath; //default path id
T_PLIST FileList; //all of open file.
E_FSSEARCH result; //
T_POBJECT msg; //bpb object.
};
T_VOID Driver_Destroy(T_PDRIVER driver);
T_PDRIVER Driver_Initial(T_PPARTITION, T_U32 dn, T_U32 BufLen, E_CODE code);
T_BOOL Global_MountDriver(T_PDRIVER driver, T_U8 DriverNo);
T_PDRIVER Driver_Format(T_PMEDIUM medium, T_U32 start, T_U32 total, T_U32 BufLen, E_CODE code);
T_BOOL Driver_InsertFile(T_PDRIVER driver, T_POBJECT file);
T_U32 Driver_GetCapacity(T_PDRIVER driver, T_U32 *high);
T_U32 Driver_GetUsedSize(T_PDRIVER driver, T_U32 *high);
T_U32 Driver_GetFreeSize(T_PDRIVER driver, T_U32 *high);
T_PDRIVER Driver_GetObject(T_U8 DeviceId);
T_U32 Driver_GetOpenTotal(T_PDRIVER driver);
T_BOOL Driver_SetDefault(T_U8 dn);
T_VOID Driver_QuickFormat(T_PDRIVER driver);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -