/************************************************************************
*
* 文件名   ：  
* 版权说明 ：  北京交控科技有限公司 
* 版本号   ：  1.0
* 创建时间 ：  2011.12.29
* 作者     ：  研发中心软件部
* 功能描述 ：  冗余层查询函数  
* 使用注意 ： 
* 修改记录 ：  
*
************************************************************************/

#ifndef _DSU_RP_FUNC_H_
#define _DSU_RP_FUNC_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "CommonTypes.h"

#define INTERFACE_TYPE_FOUR (0x55) /*接口类型0x55:发送/接收标识为4字节*/

	/*设备通信协议表0x4002*/
	typedef struct
	{
		UINT8 EmitterType;	/*发送设备类型*/
		UINT8 ReceptorType;	/*接受设备类型*/
		UINT8 CommuType;	/*所使用的通信协议，1为Sfp，2为Rp，3为Rsr，4为RSSPI,5为RSSPII*/
	}DSU_COMM_PROTCL_STRU;

	/*设备类型ID对应互联互通ID*/
	typedef struct
	{
		UINT16 devTypeId; /*设备类型ID*/
		UINT32 hlhtId; /*互联互通ID*/
	}DEV_TYPE_ID_HLHT_ID;

	/*设备通信协议表信息*/
	typedef struct
	{
		UINT16 CommProtclStruLen;	/*设备通信协议表行数*/
		DSU_COMM_PROTCL_STRU *pCommProtclStru;	/*设备通信协议表*/

		UINT16 devTypeIdHlhtIdLen; /*设备类型ID对应互联互通ID数组长度*/
		DEV_TYPE_ID_HLHT_ID* pDevTypeIdHlhtId; /*设备类型ID对应互联互通ID数组*/
	}DSU_BOOK_IP_INFO_STRU;

	/**
	 * @brief dsuIpInit 初始化读取数据参数
	 * @param pFsName FS文件 取值范围：字节数组
	 * @param interfaceType 接口类型 取值范围:0x55:发送/接收标识为4字节;其他(默认值):发送/接收标识为2字节
	 * @return 0:失败 1:成功
	 */
	UINT8 dsuIpInit(UINT8* pFsName, UINT8 interfaceType);

	/*
	*函数名:	dsuRpGetDevType
	*功能描述:	根据设备名称获取设备类型
	*输入参数:	UINT16 DevName	设备名称
	*输入出参:	无
	*输出参数:	无
	*返回值:	设备类型
	*/
	UINT8 dsuRpGetDevType(UINT16 DevName);

	/*
	*函数名:	dsuRpTypeId2DevName
	*功能描述:	根据类型 ID获取设备名称
	*输入参数:	UINT8 Type	设备类型
	*			UINT8 Id	设备ID
	*输入出参:	无
	*输出参数:	UINT16 DevName	设备名称
	*返回值:	无
	*/
	void dsuRpTypeId2DevName(UINT8 Type, UINT8 Id, UINT16* pDevName);

	/*
	*函数名:	dsurRpGetProtclType
	*功能描述:	根据本方名称对方名称获取协议类型
	*输入参数:	UINT16 LocalName	本方名称
	*			UINT16 DestName	对方名称
	*输入出参:	无
	*输出参数:	UINT8* protclTye	协议类型
	*返回值:	1:成功;0失败
	*/
	UINT8 dsurRpGetProtclType(UINT16 LocalName, UINT16 DestName, UINT8* protclTye);

	/**
	 * @brief GetHlhtId 根据设备类型ID获取互联互通ID
	 * @param devTypeId 设备类型ID 取值范围:0x0000-0xFFFF
	 * @return 互联互通ID 取值范围:0x00000000-0xFFFFFFFF
	 */
	UINT32 GetHlhtId(UINT16 devTypeId);

	/**
	 * @brief GetDevTypeId 根据互联互通ID获取设备类型ID
	 * @param hlhtId 互联互通ID 取值范围:0x00000000-0xFFFFFFFF
	 * @return 设备类型ID 取值范围:0x0000-0xFFFF
	 */
	UINT16 GetDevTypeId(UINT32 hlhtId);

#ifdef __cplusplus
}
#endif

#endif
