Logo
中文版
详情联系: neusar-support@reachauto.com
API 文档

1 说明

私有协议模块为应用程序提供面向服务的通信接口,API主要包含功能服务的接收注册和服务的发送。

2 头文件

MID_PRIPRO_Api.h

2.1 MID_PRIPRO_Api.h header file

私有协议提供给APP的宏,枚举,结构体等类型的头文件,使用私有协议的APP需要包含。

3 类型定义

3.1 MID_PRIPRO_gFnRtVal_en

Kind:enum
Symbol:MID_PRIPRO_gFnRtVal_en
Syntax:typedef enum
{
mid_pripro_FnRtOk = 0u,
mid_pripro_FnRtNg,
mid_pripro_FnRtBuffFull,
mid_pripro_FnRtNotMedType,
mid_pripro_FnRtNotRegId,
mid_pripro_FnRtFuncErr,
mid_pripro_FnRtMesTypeErr,
mid_pripro_FnRtNoModule,
mid_pripro_FnUsingByModule,
mid_pripro_FnUsingByPriPro,
mid_pripro_FnNotifiTypeErr,
mid_pripro_FnRtMax,
}MID_PRIPRO_gFnRtVal_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块接调用外部接口的返回值。
mid_pripro_FnRtOk:设置成功。
mid_pripro_FnRtNg:设置失败。
mid_pripro_FnRtBuffFull:本地缓存的Buff已满。
mid_pripro_FnRtNotMedType:输入的通信介质有误。
mid_pripro_FnRtNotRegId:功能未注册。
mid_pripro_FnRtFuncErr:输入的功能方法有误。
mid_pripro_FnRtMesTypeErr:输入的MessageType有误。
mid_pripro_FnRtNoModule:输入的模块索引有误。
mid_pripro_FnUsingByModule:数据被其他模块操作中。
mid_pripro_FnUsingByPriPro:数据被私有协议模块操作中。
mid_pripro_FnNotifiTypeErr:输入的NotificationType有误。

3.2 MID_PRIPRO_gRecSts_en

Kind:enum
Symbol:MID_PRIPRO_gRecSts_en
Syntax:typedef enum
{
mid_pripro_NotNeedReceive = 0u,
mid_pripro_NeedReceive,
mid_pripro_ReceiveStsMax,
}MID_PRIPRO_gRecSts_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块接收到数据后需不需要再回复数据。
mid_pripro_NotNeedReceive:不需要回复。
mid_pripro_NeedReceive:需要回复。

3.3 MID_PRIPRO_gMedType_en

Kind:enum
Symbol:MID_PRIPRO_gMedType_en
Syntax:typedef enum
{
mid_pripro_EnIpcf = 0u,
mid_pripro_EnPfe,
mid_pripro_EnMax,
}MID_PRIPRO_gMedType_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的通信介质类型。
mid_pripro_EnIpcf:通信介质为IPCF。
mid_pripro_EnPfe:通信介质为PFE。

3.4 MID_PRIPRO_gSendType_en

Kind:enum
Symbol:MID_PRIPRO_gSendType_en
Syntax:typedef enum
{
mid_pripro_SendRequest = 0u,
mid_pripro_SendReply,
mid_pripro_SendMax,
}MID_PRIPRO_gSendType_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示私有协议的MID_PRIPRO_SetSendRequestMessage接口的发送类型。
mid_pripro_SendRequest:本端核发送Request。
mid_pripro_SendReply:本端核发送Reply。

3.5 MID_PRIPRO_gLinkType_en

Kind:enum
Symbol:MID_PRIPRO_gLinkType_en
Syntax:typedef enum
{
mid_pripro_LinkConnect = 0u,
mid_pripro_LinkConnectReply,
mid_pripro_LinkDisconnect,
mid_pripro_LinkDisconnectReply,
mid_pripro_LinkMax,
}MID_PRIPRO_gLinkType_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示私有协议的MID_PRIPRO_SendLink接口的发送类型。
mid_pripro_LinkConnect:本端核发送Link connect。
mid_pripro_LinkConnectReply:对端核发送Link connect时,本端核发送Link connect的reply。
mid_pripro_LinkDisconnect:本端核发送Link disconnect。
mid_pripro_LinkDisconnectReply:对端核发送Link disconnect时,本端核发送Link disconnect的reply。

3.6 MID_PRIPRO_gNotifiType_en

Kind:enum
Symbol:MID_PRIPRO_gNotifiType_en
Syntax:typedef enum { mid_pripro_NotifiUnicast = 0u, mid_pripro_NotifiBroadcast, mid_pripro_NotifiMax, }MID_PRIPRO_gNotifiType_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示私有协议的Event方式类型(单播或广播)。 mid_pripro_NotifiUnicast:单播。 mid_pripro_NotifiBroadcast:广播。

3.7 MID_PRIPRO_gReturnCode_en

Kind:enum
Symbol:MID_PRIPRO_gReturnCode_en
Syntax:typedef enum { mid_pripro_RtOk = 0x00u, mid_pripro_RtNotOk = 0x01u, mid_pripro_RtNotReady = 0x02u, mid_pripro_RtMax, }MID_PRIPRO_gReturnCode_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示私有协议的Return Code各个值的含义。

3.8 MID_PRIPRO_gMessageType_en

Kind:enum
Symbol:MID_PRIPRO_gMessageType_en
Syntax:typedef enum
{
mid_pripro_MtLinkAvailable = 0x00u,
mid_pripro_MtOfferService = 0x01u,
mid_pripro_MtStopOfferService = 0x02u,
mid_pripro_MtSubScribeService = 0x03u,
mid_pripro_MtStopSubScribeService = 0x04u,
mid_pripro_MtRequest = 0x05u,
mid_pripro_MtRequestNoReturnWithAck = 0x06u,
mid_pripro_MtRequestNoReturnWithoutAck = 0x07u,
mid_pripro_MtNotificationWithAck = 0x08u,
mid_pripro_MtNotificationWithOutAck = 0x09u,
mid_pripro_MtResponse = 0x80u,
mid_pripro_MtAck = 0x81u,
mid_pripro_MtEventAck = 0x82u,
mid_pripro_MtError = 0x99u,
mid_pripro_MtMessageMax,
}MID_PRIPRO_gMessageType_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示私有协议的MessageType各个值的含义。
mid_pripro_MtRequest:Method方法的Requset请求。
mid_pripro_MtRequestNoReturnWithAck:Method方法的Requset请求(不需要但需要ACK回复)。
mid_pripro_MtRequestNoReturnWithoutAck:Method方法的Requset请求(不需要也不需要ACK回复)。
mid_pripro_MtNotificationWithAck:Notification通知(不需要但需要ACK回复)。
mid_pripro_MtNotificationWithOutAck:Notification通知(不需要也不需要ACK回复)。
mid_pripro_MtResponse:Method方法的回复。
mid_pripro_MtAck:Method方法的ACK回复。
mid_pripro_MtEventAck:Notification的ACK回复。

3.9 MID_PRIPRO_gIpcfAppModule_en

Kind:enum
Symbol:MID_PRIPRO_gIpcfAppModule_en
Syntax:typedef enum { mid_pripro_IpcfPowerModule = 0u, mid_pripro_IpcfOtaModule, mid_pripro_IpcfHealthModule, mid_pripro_IpcfCommModule, mid_pripro_IpcfNvmModule, mid_pripro_IpcfDiagModule, mid_pripro_IpcfTimerModule, mid_pripro_IpcfSoaModule, mid_pripro_IpcfSvmModule, mid_pripro_IpcfReserved3, mid_pripro_IpcfReserved4, mid_pripro_IpcfAppModuleMax, }MID_PRIPRO_gIpcfAppModule_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议以IPCF为通信介质的APP模块。 mid_pripro_IpcfPowerModule:电源管理模块。 mid_pripro_IpcfOtaModule:OTA模块。 mid_pripro_IpcfHealthModule:健康管理模块。 mid_pripro_IpcfCommModule:通信模块。 mid_pripro_IpcfNvmModule:存储模块。 mid_pripro_IpcfDiagModule:诊断模块。 mid_pripro_IpcfTimerModule:时钟模块。 mid_pripro_IpcfSoaModule:SOA模块。 mid_pripro_IpcfSvmModule:版本管理模块。

3.10 MID_PRIPRO_gIpcfMcoreId_en

Kind:enum
Symbol:MID_PRIPRO_gIpcfMcoreId_en
Syntax:typedef enum
{
mid_pripro_IpcfInvalid0 = 0u,
mid_pripro_IpcfPowerSt = 1u,
mid_pripro_IpcfPowerEd = 10u,
mid_pripro_IpcfOtaSt = 11u,
mid_pripro_IpcfOtaEd = 20u,
mid_pripro_IpcfHealthSt = 21u,
mid_pripro_IpcfHealthEd = 30u,
mid_pripro_IpcfCimmSt = 31u,
mid_pripro_IpcfCommEd = 40u,
mid_pripro_IpcfNvmSt = 41u,
mid_pripro_IpcfNvmEd = 50u,
mid_pripro_IpcfDiagSt = 51u,
mid_pripro_IpcfDiagEd = 60u,
mid_pripro_IpcfTimerst = 61u,
mid_pripro_IpcfTimerEd = 70u,
mid_pripro_IpcfSoaSt = 71u,
mid_pripro_IpcfSoaEd = 80u,
mid_pripro_IpcfReserved2st = 81u,
mid_pripro_IpcfReserved2Ed = 90u,
mid_pripro_IpcfReserved3st = 91u,
mid_pripro_IpcfReserved3Ed = 100u,
mid_pripro_IpcfReserved4st = 101u,
mid_pripro_IpcfReserved4Ed = 110u,
mid_pripro_IpcfInvaildFF = 0xFFu,
}MID_PRIPRO_gIpcfMcoreId_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议以IPCF为通信介质的APP模块作为Service或Client的ID选取范围。

3.11 MID_PRIPRO_gSocketAppModule_en

Kind:enum
Symbol:MID_PRIPRO_gSocketAppModule_en
Syntax:typedef enum
{
mid_pripro_SocketCommModule = 0u,
mid_pripro_SocketNvmModule,
mid_pripro_SocketBdcModule,
mid_pripro_SocketReserved3,
mid_pripro_SocketReserved4,
mid_pripro_SocketAppModuleMax,
}MID_PRIPRO_gSocketAppModule_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议以PFE为通信介质的APP模块。
mid_pripro_SocketCommModule:通信模块。
mid_pripro_SocketNvmModule:存储模块。
mid_pripro_SocketBdcModule:大数据模块。

3.12 MID_PRIPRO_gSocketMcoreId_en

Kind:enum
Symbol:MID_PRIPRO_gSocketMcoreId_en
Syntax:typedef enum { MID_PRIPRO_SocketInvalid0 = 0u, MID_PRIPRO_SocketCommst = 31u, MID_PRIPRO_SocketCommEd = 40u, MID_PRIPRO_SocketNvmSt = 41u, MID_PRIPRO_SocketNvmEd = 50u, MID_PRIPRO_SocketReserved2St = 81u, MID_PRIPRO_SocketReserved2Ed = 90u, MID_PRIPRO_SocketReserved3St = 91u, MID_PRIPRO_SocketReserved3Ed = 100u, MID_PRIPRO_SocketReserved4St = 101u, MID_PRIPRO_SocketReserved4Ed = 110u, MID_PRIPRO_SocketInvalidFF = 0xFFu, }MID_PRIPRO_gSocketMcoreId_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议以PFE为通信介质的APP模块作为Service或Client的ID选取范围。

3.13 MID_PRIPRO_gComCoreId_en

Kind:enum
Symbol:MID_PRIPRO_gComCoreId_en
Syntax:typedef enum
{
mid_prirpo_Rt1Core0 = 0u,
mid_pripro_Rt1Core1,
mid_pripro_Rt1Core2,
mid_pripro_Rt1Core3,
mid_pripro_Rt2Core0,
mid_pripro_Rt2Core1,
mid_pripro_Rt2Core2,
mid_pripro_Rt2Core3,
mid_pripro_Vm1,
mid_pripro_Vm2,
mid_pripro_CoreMAX,
}MID_PRIPRO_gComCoreId_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块,部署的核位置。
mid_prirpo_Rt1Core0:RT1-C0核。
mid_pripro_Rt1Core1:RT1-C1核。
mid_pripro_Rt1Core2:RT1-C2核。
mid_pripro_Rt1Core3:RT1-C3核。
mid_pripro_Rt2Core0:RT2-C0核。
mid_pripro_Rt2Core1:RT2-C1核。
mid_pripro_Rt2Core2:RT2-C2核。
mid_pripro_Rt2Core3:RT2-C3核。
mid_pripro_Vm1:VM1核。
mid_pripro_Vm2:VM2核。

3.14 MID_PRIPRO_gComPart_en

Kind:enum
Symbol:MID_PRIPRO_gComPart_en
Syntax:typedef enum { mid_pripro_ComPartService = 0u, mid_pripro_ComPartClient, mid_pripro_ComPartMax, }MID_PRIPRO_gComPart_en;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块,的角色信息。 mid_pripro_ComPartService:本端角色为Service。 mid_pripro_ComPartClient:本端角色为Client。

3.15 MID_PRIPRO_gAppRecPar_st

Kind:struct
Symbol:MID_PRIPRO_gAppRecPar_st
Syntax:typedef struct
{
uint16 mid_pripro_awLength;
MID_PRIPRO_gMessageType_en mid_pripro_aenMessage;
MID_PRIPRO_gRecSts_en mid_pripro_aenPriProRecSts;
}MID_PRIPRO_gAppRecPar_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块接收服务报文时,Payload长度,MessageTpye等信息。
mid_pripro_awLength:Payload的长度。
mid_pripro_aenMessage:私有协议帧头的MessageType。
mid_pripro_aenPriProRecSts:发送的类型,参见3.2 MID_PRIPRO_gRecSts_en。

3.16 MID_PRIPRO_gAysHeader_st

Kind:struct
Symbol:MID_PRIPRO_gAysHeader_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; MID_PRIPRO_gMedType_en mid_pripro_aenPriProMedType; }MID_PRIPRO_gAysHeader_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块接收报文时,调用接收接口MID_PRIPRO_Receive_LinkMessage_Operatio和 MID_PRIPRO_Receive_FunctionMessageByHeader_Operation需要填充的Link数据。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_aenPriProMedType:通信介质, 参见3.3 MID_PRIPRO_gMedType_en。

3.17 MID_PRIPRO_gSendLink_st

Kind:struct
Symbol:MID_PRIPRO_gSendLink_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; MID_PRIPRO_gMedType_en mid_pripro_aenPriProMedType; }MID_PRIPRO_gSendLink_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块发送Link报文时,调用发送接口MID_PRIPRO_Send_LinkMessage_Operation需要填充的Link数据。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_aenPriProMedType:通信介质, 参见3.3 MID_PRIPRO_gMedType_en。

3.18 MID_PRIPRO_gSendMessage_st

Kind:struct
Symbol:MID_PRIPRO_gSendMessage_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; MID_PRIPRO_gMedType_en mid_pripro_aenPriProMedType; MID_PRIPRO_gMessageType_en mid_pripro_aenMessageTpye; MID_PRIPRO_gReturnCode_en mid_pripro_aenReturnCode; MID_PRIPRO_gSendType_en mid_pripro_aenSendType; }MID_PRIPRO_gSendMessage_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块发送服务报文时,调用发送接口MID_PRIPRO_Send_MethodMessage_Operation需要填充的数据。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_aenPriProMedType:通信介质, 参见3.3 MID_PRIPRO_gMedType_en。 mid_pripro_aenMessageTpye:私有协议帧头的MessageType。 mid_pripro_aenReturnCode:私有协议帧头的ReturnCode。 mid_pripro_aenSendType:发送的类型, 参见3.4 Com_MW_PriProSendType。

3.19 MID_PRIPRO_gSendNoti_st

Kind:struct
Symbol:MID_PRIPRO_gSendNoti_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; MID_PRIPRO_gMedType_en mid_pripro_aenPriProMedType; MID_PRIPRO_gMessageType_en mid_pripro_aenMessageTpye; MID_PRIPRO_gReturnCode_en mid_pripro_aenReturnCode; MID_PRIPRO_gNotifiType_en mid_pripro_aenNotifiType; }MID_PRIPRO_gSendNoti_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块发送Notification报文时,调用发送接口MID_PRIPRO_SetSendNotification需要填充的数据。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_aenPriProMedType:通信介质, 参见3.3 MID_PRIPRO_gMedType_en。 mid_pripro_aenMessageTpye:私有协议帧头的MessageType。 mid_pripro_aenReturnCode:私有协议帧头的ReturnCode。 mid_pripro_aenNotifiType:发送Notification方式的类型, 参见3.6 MID_PRIPRO_gNotifiType_en。

3.20 MID_PRIPRO_gLinkContent_st

Kind:struct
Symbol:MID_PRIPRO_gLinkContent_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; uint8 mid_pripro_acModuleName; MID_PRIPRO_gComPart_en mid_pripro_acModulePart; }MID_PRIPRO_gLinkContent_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块建立连接和断开连接前注册的Link表的类型。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:0(设置为默认值0)。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_acModuleName:APP的模块名, 参见3.9 MID_PRIPRO_gIpcfAppModule_en及参见3.11 MID_PRIPRO_gSocketAppModule_en。 mid_pripro_acModulePart:该APP模块M核作为Service还是Client,参见3.14 MID_PRIPRO_gComPart_en。

3.21 MID_PRIPRO_gAppContent_st

Kind:struct
Symbol:MID_PRIPRO_gAppContent_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; uint8 mid_pripro_acModuleName; MID_PRIPRO_gComPart_en mid_pripro_acModulePart; }MID_PRIPRO_gAppContent_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块发送和接收服务报文前注册的功能表的类型。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID,各个模块选值的范围参考3.10 MID_PRIPRO_gIpcfMcoreId_en及参考3.12 MID_PRIPRO_gSocketMcoreId_en。 mid_pripro_aenLocalCore:本端Core, mid_pripro_aenRemoteCore:对端Core, 参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_acModuleName:APP的模块名, 参见3.9 MID_PRIPRO_gIpcfAppModule_en及参见3.11 MID_PRIPRO_gSocketAppModule_en。 mid_pripro_acModulePart:该APP模块M核作为Service还是Client,参见3.14 MID_PRIPRO_gComPart_en。

3.22 MID_PRIPRO_gGetSendFdSts_st

Kind:struct
Symbol:MID_PRIPRO_gGetSendFdSts_st
Syntax:typedef struct { uint8 mid_pripro_acLocalId; uint8 mid_pripro_acRemoteId; uint8 mid_pripro_acMethodId; MID_PRIPRO_gComCoreId_en mid_pripro_aenLocalCore; MID_PRIPRO_gComCoreId_en mid_pripro_aenRemoteCore; MID_PRIPRO_gMedType_en mid_pripro_aenPriProMedType; }MID_PRIPRO_gGetSendFdSts_st;
Header file:#include "MID_PRIPRO_Api.h "
Description:表示使用私有协议的APP模块发送和接收服务报文前注册的功能表的类型。 mid_pripro_acLocalId:本端ID。 mid_pripro_acRemoteId:对端ID。 mid_pripro_acMethodId:私有协议帧头的MethodID,各个模块选值的范围参考3.10 MID_PRIPRO_gIpcfMcoreId_en及参考3.12 MID_PRIPRO_gSocketMcoreId_en。 mid_pripro_aenLocalCore:本端Core,mid_pripro_aenRemoteCore:对端Core,参见3.13 MID_PRIPRO_gComCoreId_en。 mid_pripro_aenPriProMedType:通信介质,参见3.3 MID_PRIPRO_gMedType_en。

4 接口定义

4.1 注册表的设置和删除接口

4.1.1 MID_PRIPRO_RegTbl_SetDynLink_Operation()

Symbol:MID_PRIPRO_RegTbl_SetDynLink_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_RegTbl_SetDynLink_Operation(const MID_PRIPRO_gLinkContent_st* astPriProLinkTbl,MID_PRIPRO_gMedType_en aenPriProMedType)
Parameters (in):const MID_PRIPRO_gLinkContent_st* astPriProLinkTbl参见3.20 MID_PRIPRO_gLinkContent_st
MID_PRIPRO_gMedType_en aenPriProMedType参见3.3 MID_PRIPRO_gMedType_en
Parameters (inout):none
Parameters (out):none
Return value:nonemid_pripro_FnRtOk:在私有协议中Link注册成功。mid_pripro_FnRtNg:在私有协议中Link注册失败(已注册)。mid_pripro_FnUsingByModule:接口被其他模块使用。
Header file:#include " MID_PRIPRO.h "
Description:在使用私有协议发送接收Link数据前,APP模块需要先将Link-Table的信息注册在私有协议模块中。
Additional
Notes:

4.1.2 MID_PRIPRO_RegTbl_SetDynAppContent_Operation()

Symbol:MID_PRIPRO_RegTbl_SetDynAppContent_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_RegTbl_SetDynAppContent_Operation (const MID_PRIPRO_gAppContent_st* astPriProAppTbl, MID_PRIPRO_gMedType_en aenPriProMedType)
Parameters (in):const MID_PRIPRO_gAppContent_st* astPriProAppTbl参见3.21 MID_PRIPRO_gAppContent_st
MID_PRIPRO_gMedType_en aenPriProMedType参见3.3 MID_PRIPRO_gMedType_en
Parameters (inout):none
Parameters (out):none
Return value:nonemid_pripro_FnRtOk: 在私有协议中服务注册成功 mid_pripro_FnRtNg: 在私有协议中服务注册失败(已注册) mid_pripro_FnUsingByModule: 接口被其他模块使用
Header file:#include " MID_PRIPRO.h "
Description:在使用私有协议发送接收服务数据前,APP模块需要先将APP-Table的信息注册在私有协议模块中,在连接建立后注册相关的服务。
Additional
Notes:

4.1.3 MID_PRIPRO_RegTbl_DeleteDynAppContent_Operation()

Symbol:MID_PRIPRO_RegTbl_DeleteDynAppContent_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_RegTbl_DeleteDynAppContent_Operation (const MID_PRIPRO_gAppContent_st* astPriProAppTbl, MID_PRIPRO_gMedType_en aenPriProMedType)
Parameters (in):const MID_PRIPRO_gAppContent_st* astPriProAppTbl参见3.21 MID_PRIPRO_gAppContent_st
MID_PRIPRO_gMedType_en aenPriProMedType参见3.3 MID_PRIPRO_gMedType_en
Parameters (inout):none
Parameters (out):none
Return value:nonemid_pripro_FnRtOk: 在私有协议中服务删除成功 mid_pripro_FnRtNg: 在私有协议中服务删除失败(输入的服务不存在) mid_pripro_FnUsingByModule: 接口被其他模块使用
Header file:#include " MID_PRIPRO.h "
Description:在连接断开后删除相关的服务
Additional
Notes:

4.2 发送报文接口

4.2.1 MID_PRIPRO_Send_LinkMessage_Operation()

Symbol:MID_PRIPRO_Send_LinkMessage_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Send_LinkMessage_Operation (MID_PRIPRO_gSendLink_st* astSendLink, MID_PRIPRO_gLinkType_en acLinkType)
Parameters (in):MID_PRIPRO_gSendLink_st* astSendLink参见3.17 MID_PRIPRO_gSendLink_st
MID_PRIPRO_gLinkType_en acLinkType参见3.5 MID_PRIPRO_gLinkType_en
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltVal在私有协议中Link预发送成功。mid_pripro_FnRtNotMedType通信介质有误。mid_pripro_FnRtNotRegId:该服务ID没有注册。mid_pripro_FnUsingByPriPro:DataBuff被私有协议使用。
Header file:#include " MID_PRIPRO.h "
Description:发送Link(建立和断开)相关的报文
Additional
Notes:

4.2.2 MID_PRIPRO_Send_MethodMessage_Operation()

Symbol:MID_PRIPRO_Send_MethodMessage_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Send_MethodMessage_Operation(MID_PRIPRO_gSendMessage_st* astSendRequest, uint8* acSessionId,uint16 awLength,uint8* acPayload)
Parameters (in):MID_PRIPRO_gSendMessage_st* astSendRequest参见3.18 MID_PRIPRO_gSendMessage_st
uint8* acSessionId私有协议的序列号信息SessionID
uint16 awLengthPayload数据长度
uint8* acPayloadPayload数据
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk:在私有协议中Method预发送成功。mid_pripro_FnRtBuffFull:私有协议的发送Buff已满。mid_pripro_FnRtNotMedType:通信介质有误。mid_pripro_FnRtNotRegId:该服务ID没有注册。mid_pripro_FnRtFuncErr:Method功能设置错误。mid_pripro_FnRtMesTypeErr:MessageType设置错误。mid_pripro_FnRtNoModule:模块不存在。mid_pripro_FnUsingByPriPro:DataBuff被私有协议使用。
Header file:#include " MID_PRIPRO.h "
Description:发送Request相关的报文
Additional
Notes:*acSessionId参数说明:1.接口作为发送Method请求时,*acSessionId为output,非必要关注项,可用于确认发送请求是否发送成功(作为MID_PRIPRO_Get_SendFuncDataSts_Operation()的入参之一)或用于接收确认该条报文的接收(作为MID_PRIPRO_Receive_FunctionMessageByHeader_Operation()的入参之一)。2.接口作为发送Method回复时,*acSessionId为input,需要关注并输入有效值,值的获取依赖MID_PRIPRO_Receive_FunctionMessageByHeader_Operation ()调用获取*acSessionId的值,并作为输入值输入。

4.2.3 MID_PRIPRO_Send_EventMessage_Operation()

Symbol:MID_PRIPRO_Send_EventMessage_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Send_EventMessage_Operation(MID_PRIPRO_gSendNoti_st* astSendNotification, uint8* acSessionId,uint16 awLength,uint8* acPayload)
Parameters (in):MID_PRIPRO_gSendNoti_st* astSendNotification参见3.19 MID_PRIPRO_gSendNoti_st
uint8* acSessionId私有协议的序列号信息SessionID
uint16 awLengthPayload数据长度
uint8* acPayloadPayload数据
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk:在私有协议中Notification预发送成功。mid_pripro_FnRtBuffFull:私有协议的发送Buff已满。mid_pripro_FnRtNotMedType:通信介质有误。mid_pripro_FnRtNotRegId:该服务ID没有注册。mid_pripro_FnRtFuncErr:Event功能设置错误。mid_pripro_FnRtMesTypeErr:MessageType设置错误。mid_pripro_FnRtNoModule:模块不存在。mid_pripro_FnUsingByPriPro:DataBuff被私有协议使用。mid_pripro_FnNotifiTypeErr:Event播送类型设置错位。
Header file:#include " MID_PRIPRO.h "
Description:设置模块的IPCF分配通道
Additional
Notes:*acSessionId参数说明:1.接口作为发送Event请求时,*acSessionId为output,非必要关注项,可用于确认发送通知是否发送成功(作为MID_PRIPRO_Get_SendFuncDataSts_Operation()的入参之一)

4.2.4 MID_PRIPRO_Send_IpcfChannel_Operation()

Symbol:MID_PRIPRO_Send_IpcfChannel_Operation()
Kind:function
Syntax:void MID_PRIPRO_Send_IpcfChannel_Operation (uint8 acModName, uint8 acChannel)
Parameters (in):uint8 acModName模块索引号
uint8 acChannel设置分配的IPCF通道
Parameters (inout):none
Parameters (out):none
Return value:Void
Header file:#include " MID_PRIPRO.h "
Description:发送Notification相关的报文
Additional
Notes:

4.3 接收报文接口

4.3.1 MID_PRIPRO_Receive_LinkMessage_Operation()

Symbol:MID_PRIPRO_Receive_LinkMessage_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Receive_LinkMessage_Operation (MID_PRIPRO_gAysHeader_st astHeader, MID_PRIPRO_gLinkType_en* aenpLinkType)
Parameters (in):MID_PRIPRO_gAysHeader_st astHeader参见3.16
MID_PRIPRO_gAysHeader_st
MID_PRIPRO_gLinkType_en* aenpLinkType参见3.5 MID_PRIPRO_gLinkType_en
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 在私有协议中Link报文接收成功 mid_pripro_FnRtNg: 在私有协议中Link报文接收失败 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnUsingByModule: 接口被其他模块使用
Header file:#include " MID_PRIPRO.h "
Description:获取接收Link(建立和断开)相关的报文
Additional
Notes:

4.3.2 MID_PRIPRO_Receive_FunctionMessageByHeader_Operation()

Symbol:MID_PRIPRO_Receive_FunctionMessageByHeader_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Receive_FunctionMessageByHeader_Operation (MID_PRIPRO_gAysHeader_st astHeader, uint8* acSessionId, MID_PRIPRO_gAppRecPar_st* astpAppRecPar,uint8* acpPayload)
Parameters (in):MID_PRIPRO_gAysHeader_st astHeader参见3.16 MID_PRIPRO_gAysHeader_st
uint8* acSessionId私有协议的序列号信息SessionID
MID_PRIPRO_gAppRecPar_st* astpAppRecPar私有协议报文的长度,类型等信息
uint8* acpPayloadPayload数据
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 在私有协议中服务报文接收成功 mid_pripro_FnRtNg: 在私有协议中服务报文接收失败 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用
Header file:#include " MID_PRIPRO.h "
Description:发送Request相关的报文
Additional
Notes:*acSessionId参数说明:
  1. 如果本次交互,本端是发起方,*acSessionId作为Input,可输入有效值,如果不关注指定的某条回复,可设置输入值为 MID_PRIPRO_SESSIONID_INVALID_VAL。
  2. 如果本次交互,本端是应答方,*acSessionId作为Output,并在回复消息时在调用MID_PRIPRO_Send_MethodMessage_Operation (),将*acSessionId作为入参之一。

4.3.3 MID_PRIPRO_Receive_FunctionMessageByModule_Operation()

Symbol:MID_PRIPRO_Receive_FunctionMessageByModule_Operation ()
Kind:function
Syntax:uint8 MID_PRIPRO_Receive_FunctionMessageByModule_Operation (MID_PRIPRO_gAysHeader_st astHeader, uint8 acAppModule, MID_PRIPRO_gAppRecPar_st* astpAppRecPar,uint8* acpPayload)
Parameters (in):MID_PRIPRO_gMedType_en aenPriProMedType参见3.3 MID_PRIPRO_gMedType_en
uint8 acAppModule使用私有协议的模块名 参见3.9 MID_PRIPRO_gIpcfAppModule_en 参见3.11 MID_PRIPRO_gSocketAppModule_en
MID_PRIPRO_gAppRecPar_st* astpAppRecPar私有协议报文的长度,类型等信息
uint8* acpPayloadPayload数据
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 在私有协议中服务报文接收成功 mid_pripro_FnRtNg: 在私有协议中服务报文接收失败 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用
Header file:#include " MID_PRIPRO.h "
Description:发送Request相关的报文
Additional
Notes:

4.4 报文确认接口

4.4.1 MID_PRIPRO_Get_SendLinkMsgSts_Operation()

Symbol:MID_PRIPRO_Get_SendLinkMsgSts_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Get_SendLinkMsgSts_Operation (MID_PRIPRO_gSendLink_st * astSendLink)
Parameters (in):MID_PRIPRO_gSendLink_st* astSendLink参见3.17
MID_PRIPRO_gSendLink_st
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: LINK报文发送成功 mid_pripro_FnRtNg: LINK报文还未发送 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册
Header file:#include " MID_PRIPRO.h "
Description:获取LINK报文的发送状态
Additional
Notes:

4.4.2 MID_PRIPRO_Get_LinkConnectSts()

Symbol:MID_PRIPRO_Get_ LinkConnectSts_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Get_LinkConnectSts_Operation (MID_PRIPRO_gSendLink_st * astSendLink)
Parameters (in):MID_PRIPRO_gSendLink_st* astSendLink参见3.17
MID_PRIPRO_gSendLink_st
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: LINK链路建立成功 mid_pripro_FnRtNg: LINK链路还未建立 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册
Header file:#include " MID_PRIPRO.h "
Description:获取LINK链路的连接状态
Additional
Notes:

4.4.3 MID_PRIPRO_Get_SendFuncDataSts_Operation()

Symbol:MID_PRIPRO_Get_SendFuncDataSts_Operation()
Kind:function
Syntax:uint8 MID_PRIPRO_Get_SendFuncDataSts_Operation (MID_PRIPRO_gGetSendFdSts_st * astGetSendFdSts, uint8* acSessionId)
Parameters (in):MID_PRIPRO_gGetSendFdSts_st * astGetSendFdSts参见3.22
MID_PRIPRO_gGetSendFdSts_st
uint8* acSessionId私有协议的序列号信息SessionID
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 功能报文发送成功 mid_pripro_FnRtNg: 功能报文还未发送 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册
Header file:#include " MID_PRIPRO.h "
Description:获取服务报文的发送状态
Additional
Notes:*acSessionId参数说明:
  1. 输入值设置为MID_PRIPRO_SESSIONID_INVALID_VAL时,如果有相应服务的报文被发送,*acSessionId返回该条报文的序号。
  2. 输入值为准确值时,检查该条序号下报文的发送情况。

4.5 私有协议内部模块交互接口

4.5.1 MID_PRIPRO_IpcfSetSendLinkDataBuff()

Symbol:MID_PRIPRO_IpcfSetSendLinkDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfSetSendLinkDataBuff (uint8 acLinkTblId,MID_PRIPRO_gDataBuffInfo_st astLinkBuffInfo, uint8* acpPayload)
Parameters (in):uint8 acLinkTblIdLink注册表中的ID号
MID_PRIPRO_gDataBuffInfo_st astLinkBuffInfo数据长度及交互的核ID
uint8* acpPayload私有协议报文数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置发送 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:设置缓存IPCF Link报文
Additional
Notes:

4.5.2 MID_PRIPRO_SocketSetSendLinkDataBuff()

Symbol:MID_PRIPRO_SocketSetSendLinkDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketSetSendLinkDataBuff (uint8 acLinkTblId,MID_PRIPRO_gDataBuffInfo_st astLinkBuffInfo, uint8* acpPayload)
Parameters (in):uint8 acLinkTblIdLink注册表中的ID号
MID_PRIPRO_gDataBuffInfo_st astLinkBuffInfo数据长度及交互的核ID
uint8* acpPayload私有协议报文数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置发送 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:设置缓存PFE Link报文
Additional
Notes:

4.5.3 MID_PRIPRO_IpcfSetSendAppDataBuff()

Symbol:MID_PRIPRO_IpcfSetSendAppDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfSetSendAppDataBuff (uint8 acAppModule,MID_PRIPRO_gDataBuffInfo_st astAppBuffInfo, uint8* acpPayload)
Parameters (in):uint8 acAppModule模块的索引ID号
MID_PRIPRO_gDataBuffInfo_st astAppBuffInfo数据长度及交互的核ID
uint8* acpPayload私有协议报文数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置发送 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:设置缓存IPCF 功能报文
Additional
Notes:

4.5.4 MID_PRIPRO_SocketSetSendAppDataBuff()

Symbol:MID_PRIPRO_SocketSetSendAppDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketSetSendAppDataBuff (uint8 acAppModule,MID_PRIPRO_gDataBuffInfo_st astAppBuffInfo, uint8* acpPayload)
Parameters (in):uint8 acAppModule模块的索引ID号
MID_PRIPRO_gDataBuffInfo_st astAppBuffInfo数据长度及交互的核ID
uint8* acpPayload私有协议报文数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置发送 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:设置缓存PFE功能报文
Additional
Notes:

4.5.5 MID_PRIPRO_IpcfGetLinkType()

Symbol:MID_PRIPRO_IpcfGetLinkType()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfGetLinkType (uint8 acLinkId, MID_PRIPRO_gLinkType_en* aenpLinkType)
Parameters (in):uint8 acLinkIdLink注册表中的ID号
MID_PRIPRO_gLinkType_en* aenpLinkTypeLink状态值
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文获取成功 mid_pripro_FnRtNg: 报文获取失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:获取IPCF 的Link状态
Additional
Notes:

4.5.6 MID_PRIPRO_SocketGetLinkType()

Symbol:MID_PRIPRO_SocketGetLinkType()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketGetLinkType (uint8 acLinkId, MID_PRIPRO_gLinkType_en* aenpLinkType)
Parameters (in):uint8 acLinkIdLink注册表中的ID号
MID_PRIPRO_gLinkType_en* aenpLinkTypeLink状态值
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文获取成功 mid_pripro_FnRtNg: 报文获取失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:获取PFE的Link状态
Additional
Notes:

4.5.7 MID_PRIPRO_IpcfGetRecFuncData()

Symbol:MID_PRIPRO_IpcfGetRecFuncData()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfGetRecFuncData (uint8 acFuncId,uint8 acAppModule, MID_PRIPRO_gAppRecPar_st* astpAppRecPar,uint8* acpPayload)
Parameters (in):uint8 acFuncId功能注册表中的ID号
uint8 acAppModule模块名索引ID号
ID_PRIPRO_gAppRecPar_st* astpAppRecPar数据长度及报文类型信息
uint8* acpPayload私有协议报文payload数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文获取成功 mid_pripro_FnRtNg: 报文获取失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:获取PFE的Link状态
Additional
Notes:

4.5.8 MID_PRIPRO_SocketGetRecFuncData()

Symbol:MID_PRIPRO_SocketGetRecFuncData()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketGetRecFuncData (uint8 acFuncId,uint8 acAppModule, MID_PRIPRO_gAppRecPar_st* astpAppRecPar,uint8* acpPayload)
Parameters (in):uint8 acFuncId功能注册表中的ID号
uint8 acAppModule模块名索引ID号
ID_PRIPRO_gAppRecPar_st* astpAppRecPar数据长度及报文类型信息
uint8* acpPayload私有协议报文payload数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文获取成功 mid_pripro_FnRtNg: 报文获取失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:获取PFE的Link状态
Additional
Notes:

4.5.9 MID_PRIPRO_IpcfStoreRecLinkDataBuff()

Symbol:MID_PRIPRO_IpcfStoreRecLinkDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfStoreRecLinkDataBuff (uint8 acLinkId,MID_PRIPRO_gLinkType_en aenLinkType)
Parameters (in):uint8 acLinkIdLink注册表中的ID号
MID_PRIPRO_gLinkType_en* aenpLinkTypeLink状态值
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:缓存接收的IPCF 的Link状态
Additional
Notes:

4.5.10 MID_PRIPRO_SocketStoreRecLinkDataBuff()

Symbol:MID_PRIPRO_SocketStoreRecLinkDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketStoreRecLinkDataBuff (uint8 acLinkId,MID_PRIPRO_gLinkType_en aenLinkType)
Parameters (in):uint8 acLinkIdLink注册表中的ID号
MID_PRIPRO_gLinkType_en* aenpLinkTypeLink状态值
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:缓存接收的PFE 的Link状态
Additional
Notes:

4.5.11 MID_PRIPRO_IpcfStoreRecAppDataBuff()

Symbol:MID_PRIPRO_IpcfStoreRecAppDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_IpcfStoreRecAppDataBuff (uint8 acAppModule,uint8 acFuncId, MID_PRIPRO_gAppRecPar_st astPPAppRecPar,uint8* acpPayload)
Parameters (in):uint8 acAppModule模块名索引ID号
uint8 acFuncId功能注册表中的ID号
ID_PRIPRO_gAppRecPar_st* astpAppRecPar数据长度及报文类型信息
uint8* acpPayload私有协议报文payload数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:缓存接收的IPCF 功能报文payload
Additional
Notes:

4.5.12 MID_PRIPRO_SocketStoreRecAppDataBuff()

Symbol:MID_PRIPRO_SocketStoreRecAppDataBuff()
Kind:function
Syntax:MID_PRIPRO_gFnRtVal_en MID_PRIPRO_SocketStoreRecAppDataBuff (uint8 acAppModule,uint8 acFuncId, MID_PRIPRO_gAppRecPar_st astPPAppRecPar,uint8* acpPayload)
Parameters (in):uint8 acAppModule模块名索引ID号
uint8 acFuncId功能注册表中的ID号
ID_PRIPRO_gAppRecPar_st* astpAppRecPar数据长度及报文类型信息
uint8* acpPayload私有协议报文payload数据地址
Parameters (inout):none
Parameters (out):none
Return value:uint8 acRltValmid_pripro_FnRtOk: 报文保存设置成功 mid_pripro_FnRtNg: 报文保存设置失败 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByModule: 接口被其他模块使用 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include " MID_PRIPRO.h "
Description:缓存接收的PFE 功能报文payload
Additional
Notes:

5 DS上位机生成的接口

由于实际的接口跟随配置命名的不同而发生变化,不是固定的接口命名,下文以《DS_用户手册_M核核间通信私有协议.DOCX》中示例接口进行说明

5.1 固定生成的接口

5.1.1 CommTest_IPCF_Init()

Symbol:CommTest_IPCF_Init()
Kind:function
Syntax:void CommTest_IPCF_Init(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块与私有协议相关的初始化接口
Additional
Notes:

5.1.2 CommTest_IPCF_LinkRec()

Symbol:CommTest_IPCF_LinkRec()
Kind:Function
Syntax:void CommTest_IPCF_LinkRec(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块轮询获取接收到的Link报文接口
Additional
Notes:

5.1.3 CommTest_IPCF_FuncRec()

Symbol:CommTest_IPCF_FuncRec()
Kind:Function
Syntax:void CommTest_IPCF_FuncRec(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块轮询获取接收到的功能报文接口
Additional
Notes:

5.2 生成获取Link状态的接口

5.2.1 CommTest_IPCF_GetServerTo37LinkFinishSts()

Symbol:CommTest_IPCF_GetServerTo37LinkFinishSts()
Kind:function
Syntax:uint8 CommTest_IPCF_GetServerTo37LinkFinishSts(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8mid_pripro_FnRtNg:Link未建立 mid_pripro_FnRtOk:Link已建立
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Server端的Link状态
Additional
Notes:

5.2.2 CommTest_IPCF_GetClientTo31LinkFinishSts()

Symbol:CommTest_IPCF_GetClientTo31LinkFinishSts()
Kind:function
Syntax:uint8 CommTest_IPCF_GetClientTo31LinkFinishSts(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8mid_pripro_FnRtNg:Link未建立 mid_pripro_FnRtOk:Link已建立
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Client端的Link状态
Additional
Notes:

5.3 生成主动发送的接口

5.3.1 CommTest_IPCF_ClientTo31_SendLink()

Symbol:CommTest_IPCF_ClientTo31_SendLink()
Kind:function
Syntax:uint8 CommTest_IPCF_Init(void)
Parameters (in):nonenone
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8在私有协议中Link预发送成功 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Client端发送Link请求的接口
Additional
Notes:

5.3.2 CommTest_IPCF_Server_ProvidedEventTo37_NotificationFunc()

Symbol:CommTest_IPCF_Server_ProvidedEventTo37_NotificationFunc()
Kind:function
Syntax:uint8 CommTest_IPCF_Server_ProvidedEventTo37_NotificationFunc (uint8* acpPayLoad,uint16 awLength)
Parameters (in):uint8* acpPayLoad发送的数据
uint16 awLength发送的数据长度
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8mid_pripro_FnRtOk: 在私有协议中Notification预发送成功 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Event功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用 mid_pripro_FnNotifiTypeErr: Event播送类型设置错位
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Server端发送Notifiaction的接口
Additional
Notes:

5.3.3 CommTest_IPCF_Server_ProvidedMethodTo37_SendMtdRly()

Symbol:CommTest_IPCF_Server_ProvidedMethodTo37_SendMtdRly()
Kind:Function
Syntax:uint8 CommTest_IPCF_Server_ProvidedMethodTo37_SendMtdRly (uint8* acpPayLoad,uint16 awLength,uint8 acSessionId)
Parameters (in):uint8* acpPayLoad发送的数据
uint16 awLength发送的数据长度
uint8 acSessionId发送报文的SessionId值
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8mid_pripro_FnRtOk: 在私有协议中Method预发送成功 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Server端发送Method Reply的接口
Additional
Notes:

5.3.4 CommTest_IPCF_Client_RequiredMethodTo31_SendMethodFunc()

Symbol:CommTest_IPCF_Client_RequiredMethodTo31_SendMethodFunc()
Kind:function
Syntax:uint8 CommTest_IPCF_Client_RequiredMethodTo31_SendMethodFunc (uint8* acpPayLoad,uint16 awLength)
Parameters (in):uint8* acpPayLoad发送的数据
uint16 awLength发送的数据长度
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:uint8mid_pripro_FnRtOk: 在私有协议中Method预发送成功 mid_pripro_FnRtBuffFull: 私有协议的发送Buff已满 mid_pripro_FnRtNotMedType: 通信介质有误 mid_pripro_FnRtNotRegId: 该服务ID没有注册 mid_pripro_FnRtFuncErr: Method功能设置错误 mid_pripro_FnRtMesTypeErr: MessageType设置错误 mid_pripro_FnRtNoModule: 模块不存在 mid_pripro_FnUsingByPriPro: DataBuff被私有协议使用
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Client端发送Method Request请求的接口
Additional
Notes:

5.4 需要实现的获取接收报文的接口

5.4.1 CommTest_IPCF_Server_ProvidedEventTo37_GetRecNtiRlyData()

Symbol:CommTest_IPCF_Server_ProvidedEventTo37_GetRecNtiRlyData()
Kind:Function
Syntax:void CommTest_IPCF_Server_ProvidedEventTo37_GetRecNtiRlyData (uint8* acpPayLoad,uint16 awLength)
Parameters (in):uint8* acpPayLoad接收的数据
uint16 awLength接收的数据长度
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Server端获取接收Notification通知结果的接口,由CommTest模块实现
Additional
Notes:

5.4.2 CommTest_IPCF_Server_ProvidedMethodTo37_GetRecMtdRqtData()

Symbol:CommTest_IPCF_Server_ProvidedMethodTo37_GetRecMtdRqtData()
Kind:Function
Syntax:void CommTest_IPCF_Server_ProvidedMethodTo37_GetRecMtdRqtData (uint8* acpPayLoad,uint16 awLength,uint8 acSessionId,uint8 acRecSts)
Parameters (in):uint8* acpPayLoad接收的数据
uint16 awLength接收的数据长度
uint8 acSessionId接收报文的SessionId
uint8 acRecSts接收报文是否需要回复的状态标志
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Server端获取接收Method Request请求的接口,由CommTest模块实现
Additional
Notes:

5.4.3 CommTest_IPCF_Client_RequiredEventTo31_GetRecNotiData()

Symbol:CommTest_IPCF_Client_RequiredEventTo31_GetRecNotiData()
Kind:Function
Syntax:void CommTest_IPCF_Client_RequiredEventTo31_GetRecNotiData (uint8* acpPayLoad,uint16 awLength)
Parameters (in):uint8* acpPayLoad接收的数据
uint16 awLength接收的数据长度
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Client端获取接收Notification通知的接口,由CommTest模块实现
Additional
Notes:

5.4.4 CommTest_IPCF_Client_RequiredMethodTo31_GetRecMtdRlyData()

Symbol:CommTest_IPCF_Client_RequiredMethodTo31_GetRecMtdRlyData()
Kind:Function
Syntax:void CommTest_IPCF_Client_RequiredMethodTo31_GetRecMtdRlyData (uint8* acpPayLoad,uint16 awLength)
Parameters (in):uint8* acpPayLoad接收的数据
uint16 awLength接收的数据长度
Parameters (inout):nonenone
Parameters (out):nonenone
Return value:nonenone
Header file:#include "CommTest_PriProIpcf.h"
Description:CommTest模块M核作为Client端获取接收Method Reply回复结果的接口,由CommTest模块实现
Additional
Notes:

6 ERROR

7 附录