Files
dnf-utils/ace_sdk/client/include/ace_sdk_protocol_binding.h
T
2025-12-06 17:59:24 +08:00

48 lines
1.3 KiB
C++

#ifndef __ACE_SDK_PROTOCOL_BINDING_H__
#define __ACE_SDK_PROTOCOL_BINDING_H__
#include <stdint.h>
#include <stdio.h>
#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"