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

📄 ghdd.h

📁 dvr
💻 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 + -