#ifndef __ACE_SDK_PROTOCOL_BINDING_H__ #define __ACE_SDK_PROTOCOL_BINDING_H__ #include #include #define INIT_FUNC_KEY (0xaa55abca) namespace AceProtocolBindingSDK { #pragma pack(push, 1) struct AceSdkAntiDataInfo { unsigned int anti_data_len_; /* [in] length of anti data */ const unsigned char *anti_data_; /* [in] anti data buffer */ }; #pragma pack(pop) typedef struct { uint64_t xor_key; uint64_t get_report_data3_ptr; uint64_t del_report_data_ptr; uint64_t on_receive_signature; }SharedMemInfo,*PSharedMemInfo; typedef struct { uint64_t xor_key; uint64_t report_data_encrypt_ptr; uint64_t get_encrypt_key_ptr; }EncryptSharedMemInfo, *PEncryptSharedMemInfo; //游戏启动时调用该函数初始化共享内存数据 uint32_t __ace_sdk_protocol_binding_init(); //在发送协议时通过该指针调获取安全需要上报的数据 extern void (*g__ace_sdk_get_report_data3)(AceSdkAntiDataInfo*); //上报完成后调用该函数删除数据 extern void(*g__ace_sdk_del_report_data)(AceSdkAntiDataInfo*); //下行收到服务端下发的夹带数据调用该函数 extern void(*g__ace_sdk_on_receive_signature)(const char* name, const unsigned char *buf, uint32_t buf_len, uint32_t crc); } #endif #include "ace_sdk_protocol_binding_impl.h"