#ifndef __PFDL_USER_H_
#define __PFDL_USER_H_

/* PFDL request type (base type for any PFDL access) */
typedef struct
{                                               /* ---------------------------------------------- */
	unsigned long addr;              			/* 2, W, virt. byte/block index inside PFDL-pool  */
    unsigned short size;              			/* 2, W, pointer to the 1'st byte of data buffer  */
} fdl_index_t;                                 /*------------------------------------------------*/
                                                  /* 7 bytes in total                               */
                                                  /*------------------------------------------------*/

/* BLOCK 0 */
#define INDEX_MEMORY  		0			//8			Power lost memory

/* BLOCK 1 */
#define INDEX_REPROGMA  	1			//4 byte	自编程标志 				不常用
#define INDEX_APP_VALID		2			//4 byte	自编程标志 				不常用
#define INDEX_0xF110		3			//8			汽车网络配置			一次写入
#define INDEX_0xF190    	4			//17		车辆识别号码			一次写入
#define INDEX_0xF197    	5			//8			系统名字或发动机类型	一次写入
#define INDEX_0xF198    	6			//16		维修厂代码或检测仪串号	一次写入
#define INDEX_0xF199    	7			//4			编程或配置日期			不常用
#define INDEX_0xF19D    	8   		//4			ECU安装日期				一次写入
#define INDEX_0xF112    	9   		//8			汽车名字				一次写入

/* BLOCK 2 */
#define INDEX_19_0xF00616	10         	//2			19服务故障代码                                  //
#define INDEX_19_0xF00617	11         	//2			19服务故障代码
#define INDEX_19_0x918112	12          //2			19服务故障代码
#define INDEX_19_0x918114	13          //2			19服务故障代码
#define INDEX_19_0x918171	14          //2			19服务故障代码
#define INDEX_19_0x918312	15          //2			19服务故障代码
#define INDEX_19_0x918314	16  		//2			19服务故障代码
#define INDEX_19_0x918371	17          //2			19服务故障代码
#define INDEX_19_0x918412	18          //2			19服务故障代码
#define INDEX_19_0x918414	19          //2			19服务故障代码
#define INDEX_19_0x918471	20          //2			19服务故障代码
#define INDEX_19_0x918611	21          //2			19服务故障代码
#define INDEX_19_0x918614	22	        //2			19服务故障代码
#define INDEX_19_0xC07300	23			//2			19服务故障代码

#define INDEX_19_BASE 		INDEX_19_0xF00616			//42		19服务故障代码起始位置				偶尔使用

#define DF_BLOCK0_USE		(8+1)			//
#define DF_BLOCK1_USE		(69+8)			//
#define DF_BLOCK2_USE		(28+14)			//


unsigned char DF_Write(unsigned char* write_buf,unsigned char data_num,unsigned char len);
unsigned char DF_Read(unsigned char* read_buf,unsigned char data_num,unsigned char len);
unsigned char DF_Write_All_DTC(unsigned char* write_buf,unsigned long addr,unsigned char len);
unsigned char DF_Read_All_DTC(unsigned char* read_buf,unsigned long addr,unsigned char len);

#endif

