📄 ghdd.h
字号:
/*
********************************************************************************
*
* (c) Copyright 2002, Vineyard Technologies, Inc.
*
* Filename : ghdd.h
* Programmer(s): Steve KyeongHyeon Lee
* Created : 2003/05/07
* Modified :
*
* Description :
********************************************************************************
*/
#ifndef __GHDD_H__
#define __GHDD_H__
#include "types.h"
typedef struct {
u16 evt_old;
u16 evt_new;
} EvtHead;
typedef struct {
u8 evt_read;
u8 evt_id;
u8 evt_type;
u8 rez1;
u8 evt_timed[6];
u8 rez2[2];
u32 evt_lba;
} EvtNode;
#define HDD_ERRCODE_NOERR 0
#define HDD_ERRCODE_NO_HDD 1
#define EVTREQ_CURRENT 0
#define EVTREQ_FUTURE 1
#define EVTREQ_PAST 2
#define EVTREQ_REMOVE 3
#define EVT_INVALID 0x00
#define EVT_VALID 'v'
#define EVTID_NOEVENT 0x00
#define EVTID_RECSTART 'R'
#define EVTID_RECSTOP 'S'
#define EVTTYPE_NONE 0x00
#define EVTTYPE_TIME 'T'
#define EVTTYPE_SENSOR 'S'
#define EVTTYPE_POWER 'P'
#define EVTTYPE_BUTTON 'B'
#define HEC_NEWEVT 0x00
#define HEC_NOEVT 0x01
#define HEC_LASTEVT 0x02
char HDD_Initial(void);
void HDD_Format(u8 hddIndex);
//void HDD_Consume4K(void);
void HDD_Search_LBA(u8 hddIndex, u32 para_gv_RCurrent_LBA);
void HDD_Read4KTime(u8 hddIndex, u32 *lba, u8* rtime);
void HDD_Int_Block_Write(void);
void HDD_Int_Block_Read(void);
void HDD_Info_Block_Write(u8 hddIndex, u8 wrapping_flag, u32 lba);
void HDD_Info_Block_Read(u8 hddIndex, u8 *wrapping_flag, u32 *lba);
void HDD_EventLog_Clear(u8 hddIndex);
void HDD_EventLog_Add(u8 hddIndex, u8 evt_id, u8 evt_type, u8 *evt_timed, u32 lba);
u8 HDD_EventLog_FixLast(u8 hddIndex);
u8 HDD_EventLog_Get(u8 hddIndex, u16 *eoffset, u8 direct, EvtNode *evt_buf);
void HDD_EventLog_Write(u8 hddIndex, u8 whichpart);
void HDD_EventLog_Load(u8 hddIndex);
u8 HDD_EventLog_Choose(u8 hddIndex);
void HDD_EventLog_Update(u8 hddIndex, u32 s_lba, u32 e_lba, u8 dir);
#ifdef RS232_TO_PC_TRANSFER
u8 HDD_ReadSector(u8 hddIndex, u32 lba, u8*buf);
#endif
#ifdef PWRCV2
#define EVTRCV_MODE_CHECK 0
#define EVTRCV_MODE_REMOVE 1
#define EVTRCV_MODE_FIND 2
u8 HDD_EventRecovery(u8 hddIndex, u8 mode, u32 *new_lba);
u8 hdd_check_signature(u8 hddIndex, u8* disk_id);
#endif
#ifdef DEBUG_HDD_DUMP
void hdd_report(void);
void hdd_clear(u8 hddIndex);
void hdd_dump(u8 hddIndex, u32 lba, u16 sz, u16 cnt);
//void hdd_rw_test(u32 lba, u32 sec_num, u32 count);
void hdd_cache_enable(u8 flag);
#endif
#ifdef DEBUG_HDD_BW
void hdd_bw(u8 sec_cnt, u16 cnt, u8 ch);
#endif
extern xdata u32 gv_HDD_size[2];
extern xdata u32 gv_WCurrent_LBA[2];
extern xdata u32 gv_RCurrent_LBA[2];
extern xdata u8 gv_HDD_play_hdd_index;
extern xdata u8 gv_hdd_count;
extern xdata u8 gv_HDD_format_index;
extern xdata u8 gv_HDD_exist[2];
extern xdata u8 gv_HDD_usage[2];
extern xdata u8 gv_hdd_error_flag;
#endif // #ifndef __GHDD_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -