NetTunnelWindows/NetTunnelSDK/include/user.h

54 lines
1.7 KiB
C

#pragma once
#include "sccsdk.h"
#define HEART_PERIOD_MS (3000)
/**
*
* @brief 本地计算机网卡信息
*/
typedef struct {
int isCurrent; ///< 网卡 MAC 地址
TCHAR CfgPath[260]; ///< 配置文件路径
} USER_CFGFILE, *PUSER_CFGFILE;
#ifdef __cplusplus // If used by C++ code,
extern "C" {
// we need to export the C interface
#endif
/**
* @brief 连接到服务端控制服务
* @param pUserSvrUrl 服务端控制服务 URL 地址
*/
void ConnectServerControlService(const TCHAR *pUserSvrUrl);
/**
* @brief 设置本地 WireGuard 隧道配置
* @param[in] pCliPrivateKey 隧道私钥
* @param[in] pSvrPublicKey 隧道服务端公钥
* @param[in] pSvrNetwork 可访问隧道服务的云电脑网络
* @param[in] pCliNetwork 客户端共享网络地址
* @param[in] pSvrTunnelAddr 服务端隧道网络
* @param[in] pSvrEndPoint 隧道服务端接入地址
* @return 成功, 小于0 失败 @see USER_ERRNO
* - -ERR_INPUT_PARAMS 输入参数错误
* - -ERR_SYSTEM_UNINITIALIZE 服务端参数未初始化
* - -ERR_MALLOC_MEMORY 分配内存失败
* - -ERR_OPEN_FILE 打开文件失败
* - -ERR_MEMORY_STR 字符串处理失败
* - -ERR_UN_SUPPORT 不支持的格式转换
* - -ERR_MALLOC_MEMORY 分配内存失败
* - ERR_SUCCESS 成功
*/
int SetTunnelConfigure(const TCHAR *pCliPrivateKey,
const TCHAR *pSvrPublicKey,
const TCHAR *pSvrNetwork,
const TCHAR *pCliNetwork,
const TCHAR *pSvrTunnelAddr,
const TCHAR *pSvrEndPoint);
int GetUserConfigFiles(const TCHAR *pUserName, PUSER_CFGFILE* pCfgFile, int *pItems);
#ifdef __cplusplus
}
#endif