Files
SunnyNet/BuildLibrary/SunnyNet.h
2025-10-23 14:42:38 +08:00

1990 lines
72 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Code generated by cmd/cgo; DO NOT EDIT. */
/* package github.com/qtgolang/SunnyNet */
#line 1 "cgo-builtin-export-prolog"
#include <stddef.h>
#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
#endif
#endif
/* Start of preamble from import "C" comments. */
/* End of preamble from import "C" comments. */
/* Start of boilerplate cgo prologue. */
#line 1 "cgo-gcc-export-header-prolog"
#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H
typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt32 GoInt;
typedef GoUint32 GoUint;
typedef size_t GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
#ifdef _MSC_VER
#include <complex.h>
typedef _Fcomplex GoComplex64;
typedef _Dcomplex GoComplex128;
#else
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;
#endif
/*
static assertion to make sure the file is being used on architecture
at least with matching size of GoInt.
*/
typedef char _check_for_32_bit_pointer_matching_GoInt[sizeof(void*)==32/8 ? 1:-1];
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef _GoString_ GoString;
#endif
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
#endif
/* End of boilerplate cgo prologue. */
#ifdef __cplusplus
extern "C" {
#endif
/*
Java_com_SunnyNet_api_GetSunnyVersion 获取SunnyNet版本
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetSunnyVersion(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_CreateSunnyNet 创建Sunny中间件对象,可创建多个
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateSunnyNet(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_ReleaseSunnyNet 释放SunnyNet
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_ReleaseSunnyNet(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SunnyNetStart 启动Sunny中间件 成功返回true
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetStart(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SunnyNetSetPort 设置指定端口 Sunny中间件启动之前调用
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetSetPort(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoInt64 Port);
/*
Java_com_SunnyNet_api_SunnyNetClose 关闭停止指定Sunny中间件
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetClose(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SunnyNetSetCert 设置自定义证书
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetSetCert(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoInt64 CertificateManagerId);
/*
Java_com_SunnyNet_api_SunnyNetInstallCert 安装证书 将证书安装到Windows系统内
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SunnyNetInstallCert(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SunnyNetSetCallback 设置中间件回调地址 httpCallback
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetSetCallback(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Callback);
/*
Java_com_SunnyNet_api_SunnyNetSocket5AddUser 添加 S5代理需要验证的用户名
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetSocket5AddUser(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr User, GoUintptr Pass);
/*
Java_com_SunnyNet_api_SunnyNetVerifyUser 开启身份验证模式
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetVerifyUser(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 open);
/*
Java_com_SunnyNet_api_SunnyNetSocket5DelUser 删除 S5需要验证的用户名
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SunnyNetSocket5DelUser(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr User);
/*
Java_com_SunnyNet_api_SunnyNetGetSocket5User 开启身份验证模式后 获取授权的S5账号,注意UDP请求无法获取到授权的s5账号
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SunnyNetGetSocket5User(GoUintptr envObj, GoUintptr clazz, GoInt64 Theology);
/*
Java_com_SunnyNet_api_SunnyNetMustTcp 设置中间件是否开启强制走TCP
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SunnyNetMustTcp(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 open);
/*
Java_com_SunnyNet_api_CompileProxyRegexp 设置中间件上游代理使用规则
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_CompileProxyRegexp(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Regexp);
/*
Java_com_SunnyNet_api_SetMustTcpRegexp 设置强制走TCP规则,如果 打开了全部强制走TCP状态,本功能则无效
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetMustTcpRegexp(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Regexp, GoUint8 RulesAllow);
/*
Java_com_SunnyNet_api_SunnyNetError 获取中间件启动时的错误信息
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SunnyNetError(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SetGlobalProxy 设置全局上游代理 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetGlobalProxy(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr ProxyAddress, GoInt64 outTime);
/*
Java_com_SunnyNet_api_GetRequestProto 获取 HTTPS 请求的协议版本
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestProto(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_GetResponseProto 获取 HTTPS 响应的协议版本
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseProto(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_ExportCert 导出已设置的证书
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ExportCert(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SetHTTPRequestMaxUpdateLength 设置HTTP请求,提交数据,最大的长度
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetHTTPRequestMaxUpdateLength(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoInt64 i);
/*
Java_com_SunnyNet_api_CancelIEProxy 取消设置的IE代理
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_CancelIEProxy(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SetIeProxy 设置IE代理
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetIeProxy(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_SetRequestCookie 修改、设置 HTTP/S当前请求数据中指定Cookie
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetRequestCookie(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name, GoUintptr val);
/*
Java_com_SunnyNet_api_SetRequestAllCookie 修改、设置 HTTP/S当前请求数据中的全部Cookie
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetRequestAllCookie(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr val);
/*
Java_com_SunnyNet_api_GetRequestCookie 获取 HTTP/S当前请求数据中指定的Cookie
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestCookie(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name);
/*
Java_com_SunnyNet_api_GetRequestALLCookie 获取 HTTP/S 当前请求全部Cookie
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestALLCookie(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_DelResponseHeader 删除HTTP/S返回数据中指定的协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_DelResponseHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name);
/*
Java_com_SunnyNet_api_DelRequestHeader 删除HTTP/S请求数据中指定的协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_DelRequestHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name);
/*
Java_com_SunnyNet_api_SetRequestOutTime 请求设置超时-毫秒
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetRequestOutTime(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoInt64 times);
/*
Java_com_SunnyNet_api_SetRequestALLHeader 设置HTTP/ S请求体中的全部协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetRequestALLHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr val);
/*
Java_com_SunnyNet_api_SetRequestHeader 设置HTTP/S请求体中的协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetRequestHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name, GoUintptr val);
/*
Java_com_SunnyNet_api_RandomRequestCipherSuites 随机设置请求 CipherSuites
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RandomRequestCipherSuites(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_SetRequestHTTP2Config 设置HTTP 2.0 请求指纹配置 (若服务器支持则使用,若服务器不支持,设置了也不会使用),如果强制请求发送时使用HTTP/1.1 请填入参数 http/1.1
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetRequestHTTP2Config(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr h2Config);
/*
Java_com_SunnyNet_api_SetResponseHeader 修改、设置 HTTP/S当前返回数据中的指定协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetResponseHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name, GoUintptr val);
/*
Java_com_SunnyNet_api_GetRequestHeader 获取 HTTP/S当前请求数据中的指定协议头
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name);
/*
Java_com_SunnyNet_api_GetResponseHeader 获取 HTTP/S 当前返回数据中指定的协议头
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr name);
/*
Java_com_SunnyNet_api_GetResponseServerAddress 获取 HTTP/S 相应的服务器地址
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseServerAddress(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_SetResponseAllHeader 修改、设置 HTTP/S当前返回数据中的全部协议头例如设置返回两条Cookie 使用本命令设置 使用设置、修改 单条命令无效
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetResponseAllHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr value);
/*
Java_com_SunnyNet_api_GetResponseAllHeader 获取 HTTP/S 当前响应全部协议头
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseAllHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_GetRequestAllHeader 获取 HTTP/S 当前请求数据全部协议头
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestAllHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_SetRequestProxy 设置HTTP/S请求代理仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetRequestProxy(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr ProxyUrl, GoInt outTime);
/*
Java_com_SunnyNet_api_GetResponseStatusCode 获取HTTP/S返回的状态码
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_GetResponseStatusCode(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_GetRequestClientIp 获取当前HTTP/S请求由哪个IP发起
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestClientIp(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_GetResponseStatus 获取HTTP/S返回的状态文本 例如 [200 OK]
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseStatus(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_SetResponseStatus 修改HTTP/S返回的状态码
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetResponseStatus(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoInt64 code);
/*
Java_com_SunnyNet_api_SetRequestUrl 修改HTTP/S当前请求的URL
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetRequestUrl(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr URI);
/*
Java_com_SunnyNet_api_SetResponseData 设置、修改 HTTP/S 当前请求返回数据 如果再发起请求时调用本命令,请求将不会被发送,将会直接返回 data=数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetResponseData(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr data);
/*
Java_com_SunnyNet_api_SetRequestData 设置、修改 HTTP/S 当前请求POST提交数据 data=数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetRequestData(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr data);
/*
Java_com_SunnyNet_api_GetRequestBody 获取 HTTP/S 当前POST提交数据 返回 数据指针
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetRequestBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_IsRequestRawBody 此请求是否为原始body 如果是 将无法修改提交的Body请使用 RawRequestDataToFile 命令来储存到文件
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_IsRequestRawBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_RawRequestDataToFile 获取 HTTP/ S 当前POST提交数据原始Data,传入保存文件名路径,例如"c:\1.txt"
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RawRequestDataToFile(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr saveFileName);
/*
Java_com_SunnyNet_api_GetResponseBody 获取 HTTP/S 当前返回数据
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetResponseBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_CloseWebsocket 主动关闭Websocket
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_CloseWebsocket(GoUintptr envObj, GoUintptr clazz, GoInt64 Theology);
/*
Java_com_SunnyNet_api_GetWebsocketBody 获取 WebSocket消息
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetWebsocketBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_SetWebsocketBody 修改 WebSocket消息 data=数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetWebsocketBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr data);
/*
Java_com_SunnyNet_api_SendWebsocketBody 主动向Websocket服务器发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SendWebsocketBody(GoUintptr envObj, GoUintptr clazz, GoInt64 Theology, GoInt64 MessageType, GoUintptr data);
/*
Java_com_SunnyNet_api_SendWebsocketClientBody 主动向Websocket客户端发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SendWebsocketClientBody(GoUintptr envObj, GoUintptr clazz, GoInt64 Theology, GoInt64 MessageType, GoUintptr data);
/*
Java_com_SunnyNet_api_SetTcpBody 修改 TCP消息数据 MsgType=1 发送的消息 MsgType=2 接收的消息 如果 MsgType和MessageId不匹配将不会执行操作 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetTcpBody(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoInt64 MsgType, GoUintptr data);
/*
Java_com_SunnyNet_api_SetTcpAgent 给当前TCP连接设置代理 仅限 TCP回调 即将连接时使用 仅支持S5代理 例如 socket5://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetTcpAgent(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr ProxyUrl, GoInt outTime);
/*
Java_com_SunnyNet_api_TcpCloseClient 根据唯一ID关闭指定的TCP连接 唯一ID在回调参数中
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_TcpCloseClient(GoUintptr envObj, GoUintptr clazz, GoInt64 theology);
/*
Java_com_SunnyNet_api_SetTcpConnectionIP 给指定的TCP连接 修改目标连接地址 目标地址必须带端口号 例如 baidu.com:443
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetTcpConnectionIP(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr address);
/*
Java_com_SunnyNet_api_TcpSendMsg 指定的TCP连接 模拟客户端向服务器端主动发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_TcpSendMsg(GoUintptr envObj, GoUintptr clazz, GoInt64 theology, GoUintptr data);
/*
Java_com_SunnyNet_api_TcpSendMsgClient 指定的TCP连接 模拟服务器端向客户端主动发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_TcpSendMsgClient(GoUintptr envObj, GoUintptr clazz, GoInt64 theology, GoUintptr data);
/*
Java_com_SunnyNet_api_GzipUnCompress Gzip解压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GzipUnCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_BrUnCompress br解压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_BrUnCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_BrCompress br压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_BrCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_ZSTDDecompress ZSTD解压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ZSTDDecompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_ZSTDCompress ZSTD压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ZSTDCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_GzipCompress Gzip压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GzipCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_ZlibCompress Zlib压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ZlibCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_ZlibUnCompress Zlib解压缩
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ZlibUnCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_DeflateUnCompress Deflate解压缩 (可能等同于zlib解压缩)
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_DeflateUnCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_DeflateCompress Deflate压缩 (可能等同于zlib压缩)
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_DeflateCompress(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_WebpToJpegBytes Webp图片转JEG图片字节数组 SaveQuality=质量(默认75)
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_WebpToJpegBytes(GoUintptr envObj, GoUintptr clazz, GoUintptr data, GoInt64 SaveQuality);
/*
Java_com_SunnyNet_api_WebpToPngBytes Webp图片转Png图片字节数组
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_WebpToPngBytes(GoUintptr envObj, GoUintptr clazz, GoUintptr data);
/*
Java_com_SunnyNet_api_WebpToJpeg Webp图片转JEG图片 根据文件名 SaveQuality=质量(默认75)
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_WebpToJpeg(GoUintptr envObj, GoUintptr clazz, GoUintptr webpPath, GoUintptr savePath, GoInt64 SaveQuality);
/*
Java_com_SunnyNet_api_WebpToPng Webp图片转Png图片 根据文件名
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_WebpToPng(GoUintptr envObj, GoUintptr clazz, GoUintptr webpPath, GoUintptr savePath);
/*
Java_com_SunnyNet_api_OpenDrive 开启进程代理/打开驱动
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_OpenDrive(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 isNf);
/*
Java_com_SunnyNet_api_UnDrive 卸载驱动仅Windows 有效【需要管理权限】执行成功后会立即重启系统,若函数执行后没有重启系统表示没有管理员权限
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_UnDrive(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_ProcessAddName 进程代理 添加进程名
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessAddName(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Name);
/*
Java_com_SunnyNet_api_ProcessDelName 进程代理 删除进程名
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessDelName(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Name);
/*
Java_com_SunnyNet_api_ProcessAddPid 进程代理 添加PID
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessAddPid(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoInt64 pid);
/*
Java_com_SunnyNet_api_ProcessDelPid 进程代理 删除PID
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessDelPid(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoInt64 pid);
/*
Java_com_SunnyNet_api_ProcessCancelAll 进程代理 取消全部已设置的进程名
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessCancelAll(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext);
/*
Java_com_SunnyNet_api_ProcessALLName 进程代理 设置是否全部进程通过
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_ProcessALLName(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 open, GoUint8 StopNetwork);
/*
Java_com_SunnyNet_api_GetCommonName 证书管理器 获取证书 CommonName 字段
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetCommonName(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_ExportP12 证书管理器 导出为P12
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_ExportP12(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr path, GoUintptr pass);
/*
Java_com_SunnyNet_api_ExportPub 证书管理器 导出公钥
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ExportPub(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_ExportKEY 证书管理器 导出私钥
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ExportKEY(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_ExportCA 证书管理器 导出证书
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_ExportCA(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateCA 证书管理器 创建证书
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_CreateCA(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr Country, GoUintptr Organization, GoUintptr OrganizationalUnit, GoUintptr Province, GoUintptr CommonName, GoUintptr Locality, GoInt64 bits, GoInt64 NotAfter);
/*
Java_com_SunnyNet_api_AddClientAuth 证书管理器 设置ClientAuth
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_AddClientAuth(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 val);
/*
Java_com_SunnyNet_api_SetCipherSuites 证书管理器 设置CipherSuites
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetCipherSuites(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr val);
/*
Java_com_SunnyNet_api_AddCertPoolText 证书管理器 设置信任的证书 从 文本
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_AddCertPoolText(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr cer);
/*
Java_com_SunnyNet_api_AddCertPoolPath 证书管理器 设置信任的证书 从 文件
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_AddCertPoolPath(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr cer);
/*
Java_com_SunnyNet_api_GetServerName 证书管理器 取ServerName
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetServerName(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_SetServerName 证书管理器 设置ServerName
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetServerName(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr name);
/*
Java_com_SunnyNet_api_SetInsecureSkipVerify 证书管理器 设置跳过主机验证
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetInsecureSkipVerify(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUint8 b);
/*
Java_com_SunnyNet_api_LoadX509Certificate 证书管理器 载入X509证书
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_LoadX509Certificate(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr Host, GoUintptr CA, GoUintptr KEY);
/*
Java_com_SunnyNet_api_LoadX509KeyPair 证书管理器 载入X509证书2
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_LoadX509KeyPair(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr CaPath, GoUintptr KeyPath);
/*
Java_com_SunnyNet_api_LoadP12Certificate 证书管理器 载入p12证书
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_LoadP12Certificate(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr Name, GoUintptr Password);
/*
Java_com_SunnyNet_api_RemoveCertificate 释放 证书管理器 对象
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RemoveCertificate(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateCertificate 创建 证书管理器 对象
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateCertificate(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_HTTPSetH2Config HTTP 客户端 设置HTTP2指纹
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetH2Config(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr config);
/*
Java_com_SunnyNet_api_HTTPSetRandomTLS HTTP 客户端 设置随机使用TLS指纹
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetRandomTLS(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUint8 RandomTLS);
/*
Java_com_SunnyNet_api_HTTPSetRedirect HTTP 客户端 设置重定向
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetRedirect(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUint8 Redirect);
/*
Java_com_SunnyNet_api_HTTPGetCode HTTP 客户端 返回响应状态码
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_HTTPGetCode(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_HTTPSetCertManager HTTP 客户端 设置证书管理器
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetCertManager(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 CertManagerContext);
/*
Java_com_SunnyNet_api_HTTPGetBody HTTP 客户端 返回响应内容
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_HTTPGetBody(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_HTTPGetRequestHeader HTTP 客户端 添加的全部协议头
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_HTTPGetRequestHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_HTTPGetHeader HTTP 客户端 返回响应HTTPGetHeader
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_HTTPGetHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr name);
/*
Java_com_SunnyNet_api_HTTPGetHeads HTTP 客户端 返回响应全部Heads
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_HTTPGetHeads(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_HTTPGetBodyLen HTTP 客户端 返回响应长度
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_HTTPGetBodyLen(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_HTTPSendBin HTTP 客户端 发送Body
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_HTTPSendBin(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr body);
/*
Java_com_SunnyNet_api_HTTPSetTimeouts HTTP 客户端 设置超时 毫秒
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_HTTPSetTimeouts(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 t1);
// Java_com_SunnyNet_api_HTTPSetServerIP
// HTTP 客户端 设置真实连接IP地址
//
extern __declspec(dllexport) void Java_com_SunnyNet_api_HTTPSetServerIP(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr ServerIP);
/*
Java_com_SunnyNet_api_HTTPSetProxyIP HTTP 客户端 设置代理IP 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetProxyIP(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr ProxyUrl);
/*
Java_com_SunnyNet_api_HTTPSetHeader HTTP 客户端 设置协议头
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_HTTPSetHeader(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr name, GoUintptr value);
/*
Java_com_SunnyNet_api_HTTPOpen HTTP 客户端 Open
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_HTTPOpen(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr Method, GoUintptr URL);
/*
Java_com_SunnyNet_api_RemoveHTTPClient 释放 HTTP客户端
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RemoveHTTPClient(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateHTTPClient 创建 HTTP 客户端
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateHTTPClient(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_JsonToPB JSON格式的protobuf数据转为protobuf二进制数据
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_JsonToPB(GoUintptr envObj, GoUintptr clazz, GoUintptr bin);
/*
Java_com_SunnyNet_api_PbToJson protobuf数据转为JSON格式
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_PbToJson(GoUintptr envObj, GoUintptr clazz, GoUintptr bin);
/*
Java_com_SunnyNet_api_QueuePull 队列弹出
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_QueuePull(GoUintptr envObj, GoUintptr clazz, GoUintptr name);
/*
Java_com_SunnyNet_api_QueuePush 加入队列
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_QueuePush(GoUintptr envObj, GoUintptr clazz, GoUintptr name, GoUintptr val);
/*
Java_com_SunnyNet_api_QueueLength 取队列长度
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_QueueLength(GoUintptr envObj, GoUintptr clazz, GoUintptr name);
/*
Java_com_SunnyNet_api_QueueRelease 清空销毁队列
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_QueueRelease(GoUintptr envObj, GoUintptr clazz, GoUintptr name);
/*
Java_com_SunnyNet_api_QueueIsEmpty 队列是否为空
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_QueueIsEmpty(GoUintptr envObj, GoUintptr clazz, GoUintptr name);
/*
Java_com_SunnyNet_api_CreateQueue 创建队列
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_CreateQueue(GoUintptr envObj, GoUintptr clazz, GoUintptr name);
/*
Java_com_SunnyNet_api_SocketClientWrite TCP客户端 发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SocketClientWrite(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 OutTimes, GoUintptr val);
/*
Java_com_SunnyNet_api_SocketClientClose TCP客户端 断开连接
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SocketClientClose(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_SocketClientReceive TCP客户端 同步模式下 接收数据
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SocketClientReceive(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 OutTimes);
/*
Java_com_SunnyNet_api_SocketClientDial TCP客户端 连接
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SocketClientDial(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr addr, GoUintptr call, GoUint8 isTls, GoUint8 synchronous, GoUintptr ProxyUrl, GoInt64 CertificateContext, GoInt64 OutTime, GoUintptr OutRouterIP);
/*
Java_com_SunnyNet_api_SocketClientSetBufferSize TCP客户端 置缓冲区大小
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SocketClientSetBufferSize(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 BufferSize);
/*
Java_com_SunnyNet_api_SocketClientGetErr TCP客户端 取错误
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SocketClientGetErr(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_RemoveSocketClient 释放 TCP客户端
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RemoveSocketClient(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateSocketClient 创建 TCP客户端
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateSocketClient(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_WebsocketClientReceive Websocket客户端 同步模式下 接收数据 返回数据指针 失败返回0 length=返回数据长度
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_WebsocketClientReceive(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 OutTimes);
/*
Java_com_SunnyNet_api_WebsocketReadWrite Websocket客户端 发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_WebsocketReadWrite(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr val, GoInt64 messageType);
/*
Java_com_SunnyNet_api_WebsocketClose Websocket客户端 断开
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_WebsocketClose(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_WebsocketHeartbeat Websocket客户端 心跳设置
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_WebsocketHeartbeat(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoInt64 HeartbeatTime, GoUintptr call);
/*
Java_com_SunnyNet_api_WebsocketDial Websocket客户端 连接
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_WebsocketDial(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr URL, GoUintptr Heads, GoUintptr call, GoUint8 synchronous, GoUintptr ProxyUrl, GoInt64 CertificateConText, GoInt64 outTime, GoUintptr OutRouterIP);
/*
Java_com_SunnyNet_api_WebsocketGetErr Websocket客户端 获取错误
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_WebsocketGetErr(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_RemoveWebsocket 释放 Websocket客户端 对象
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RemoveWebsocket(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateWebsocket 创建 Websocket客户端 对象
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateWebsocket(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_AddHttpCertificate 创建 Http证书管理器 对象 实现指定Host使用指定证书
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_AddHttpCertificate(GoUintptr envObj, GoUintptr clazz, GoUintptr host, GoInt64 CertManagerId, GoInt64 Rules);
/*
Java_com_SunnyNet_api_DelHttpCertificate 删除 Http证书管理器 对象
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_DelHttpCertificate(GoUintptr envObj, GoUintptr clazz, GoUintptr host);
/*
Java_com_SunnyNet_api_RedisSubscribe Redis 订阅消息
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RedisSubscribe(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr scribe, GoUintptr call);
/*
Java_com_SunnyNet_api_RedisDelete Redis 删除
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RedisDelete(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisFlushDB Redis 清空当前数据库
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RedisFlushDB(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_RedisFlushAll Redis 清空redis服务器
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RedisFlushAll(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_RedisClose Redis 关闭
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RedisClose(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_RedisGetInt Redis 取整数值
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_RedisGetInt(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisGetKeys Redis 取指定条件键名
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_RedisGetKeys(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisDo Redis 自定义 执行和查询命令 返回操作结果可能是值 也可能是JSON文本
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_RedisDo(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr args);
/*
Java_com_SunnyNet_api_RedisGetStr Redis 取文本值
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_RedisGetStr(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisGetBytes Redis 取Bytes值
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_RedisGetBytes(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisExists Redis 检查指定 key 是否存在
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RedisExists(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key);
/*
Java_com_SunnyNet_api_RedisSetNx Redis 设置NX 【如果键名存在返回假】
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RedisSetNx(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key, GoUintptr val, GoInt expr);
/*
Java_com_SunnyNet_api_RedisSet Redis 设置值
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RedisSet(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key, GoUintptr val, GoInt64 expr);
/*
Java_com_SunnyNet_api_RedisSetBytes Redis 设置Bytes值
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RedisSetBytes(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr key, GoUintptr val, GoInt64 expr);
/*
Java_com_SunnyNet_api_RedisDial Redis 连接
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_RedisDial(GoUintptr envObj, GoUintptr clazz, GoInt64 Context, GoUintptr host, GoUintptr pass, GoInt64 db, GoInt64 PoolSize, GoInt64 MinIdleCons, GoInt64 DialTimeout, GoInt64 ReadTimeout, GoInt64 WriteTimeout, GoInt64 PoolTimeout, GoInt64 IdleCheckFrequency, GoInt64 IdleTimeout);
/*
Java_com_SunnyNet_api_RemoveRedis 释放 Redis 对象
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_RemoveRedis(GoUintptr envObj, GoUintptr clazz, GoInt64 Context);
/*
Java_com_SunnyNet_api_CreateRedis 创建 Redis 对象
*/
extern __declspec(dllexport) GoInt64 Java_com_SunnyNet_api_CreateRedis(GoUintptr envObj, GoUintptr clazz);
/*
Java_com_SunnyNet_api_SetUdpData 设置修改UDP数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetUdpData(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr data);
/*
Java_com_SunnyNet_api_GetUdpData 获取UDP数据
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_GetUdpData(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId);
/*
Java_com_SunnyNet_api_UdpSendToClient 指定的UDP连接 模拟服务器端向客户端主动发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_UdpSendToClient(GoUintptr envObj, GoUintptr clazz, GoInt64 theology, GoUintptr data);
/*
Java_com_SunnyNet_api_UdpSendToServer 指定的UDP连接 模拟客户端向服务器端主动发送数据
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_UdpSendToServer(GoUintptr envObj, GoUintptr clazz, GoInt64 theology, GoUintptr data);
// Java_com_SunnyNet_api_SetScriptCode 加载用户的脚本代码
//
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SetScriptCode(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr code);
/*
Java_com_SunnyNet_api_SetScriptPage 设置脚本编辑器页面 需不少于8个字符
*/
extern __declspec(dllexport) GoUintptr Java_com_SunnyNet_api_SetScriptPage(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr Page);
/*
Java_com_SunnyNet_api_DisableTCP 禁用TCP 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_DisableTCP(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 Disable);
/*
Java_com_SunnyNet_api_DisableUDP 禁用TCP 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_DisableUDP(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 Disable);
/*
Java_com_SunnyNet_api_SetRandomTLS 是否使用随机TLS指纹 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetRandomTLS(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUint8 open);
/*
Java_com_SunnyNet_api_SetDnsServer Dns解析服务器 默认:223.5.5.5:853
*/
extern __declspec(dllexport) void Java_com_SunnyNet_api_SetDnsServer(GoUintptr envObj, GoUintptr clazz, GoUintptr ServerName);
/*
Java_com_SunnyNet_api_SetOutRouterIP 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11(全局)
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_SetOutRouterIP(GoUintptr envObj, GoUintptr clazz, GoInt64 SunnyContext, GoUintptr value);
/*
Java_com_SunnyNet_api_RequestSetOutRouterIP 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11TCP/HTTP请求共用这个函数
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_RequestSetOutRouterIP(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr value);
/*
Java_com_SunnyNet_api_HTTPSetOutRouterIP 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11TCP/HTTP请求共用这个函数
*/
extern __declspec(dllexport) GoUint8 Java_com_SunnyNet_api_HTTPSetOutRouterIP(GoUintptr envObj, GoUintptr clazz, GoInt64 MessageId, GoUintptr value);
extern __declspec(dllexport) GoInt JNI_OnLoad(GoUintptr JavaVM, GoUintptr reserved);
/*
GetSunnyVersion 获取SunnyNet版本
*/
extern __declspec(dllexport) GoUintptr GetSunnyVersion();
/*
Free 释放指针
*/
extern __declspec(dllexport) void Free(GoUintptr ptr);
/*
CreateSunnyNet 创建Sunny中间件对象,可创建多个
*/
extern __declspec(dllexport) GoInt CreateSunnyNet();
/*
ReleaseSunnyNet ReleaseSunnyNet 释放SunnyNet
*/
extern __declspec(dllexport) GoUint8 ReleaseSunnyNet(GoInt SunnyContext);
/*
SunnyNetStart 启动Sunny中间件 成功返回true
*/
extern __declspec(dllexport) GoUint8 SunnyNetStart(GoInt SunnyContext);
/*
SunnyNetSetPort 设置指定端口 Sunny中间件启动之前调用
*/
extern __declspec(dllexport) GoUint8 SunnyNetSetPort(GoInt SunnyContext, GoInt Port);
/*
SunnyNetClose 关闭停止指定Sunny中间件
*/
extern __declspec(dllexport) GoUint8 SunnyNetClose(GoInt SunnyContext);
/*
SunnyNetSetCert 设置自定义证书
*/
extern __declspec(dllexport) GoUint8 SunnyNetSetCert(GoInt SunnyContext, GoInt CertificateManagerId);
/*
SunnyNetInstallCert 安装证书 将证书安装到Windows系统内
*/
extern __declspec(dllexport) GoUintptr SunnyNetInstallCert(GoInt SunnyContext);
/*
SunnyNetSetCallback 设置中间件回调地址 httpCallback
*/
extern __declspec(dllexport) GoUint8 SunnyNetSetCallback(GoInt SunnyContext, GoInt httpCallback, GoInt tcpCallback, GoInt wsCallback, GoInt udpCallback);
/*
SunnyNetSocket5AddUser 添加 S5代理需要验证的用户名
*/
extern __declspec(dllexport) GoUint8 SunnyNetSocket5AddUser(GoInt SunnyContext, char* User, char* Pass);
/*
SunnyNetVerifyUser 开启身份验证模式
*/
extern __declspec(dllexport) GoUint8 SunnyNetVerifyUser(GoInt SunnyContext, GoUint8 open);
/*
SunnyNetSocket5DelUser 删除 S5需要验证的用户名
*/
extern __declspec(dllexport) GoUint8 SunnyNetSocket5DelUser(GoInt SunnyContext, char* User);
/*
SunnyNetGetSocket5User 开启身份验证模式后 获取授权的S5账号,注意UDP请求无法获取到授权的s5账号
*/
extern __declspec(dllexport) GoUintptr SunnyNetGetSocket5User(GoInt Theology);
/*
SunnyNetMustTcp 设置中间件是否开启强制走TCP
*/
extern __declspec(dllexport) void SunnyNetMustTcp(GoInt SunnyContext, GoUint8 open);
/*
CompileProxyRegexp 设置中间件上游代理使用规则
*/
extern __declspec(dllexport) GoUint8 CompileProxyRegexp(GoInt SunnyContext, char* Regexp);
/*
SetMustTcpRegexp 设置强制走TCP规则,如果 打开了全部强制走TCP状态,本功能则无效 RulesAllow=false 规则之外走TCP RulesAllow=true 规则之内走TCP
*/
extern __declspec(dllexport) GoUint8 SetMustTcpRegexp(GoInt SunnyContext, char* Regexp, GoUint8 RulesAllow);
/*
SunnyNetError 获取中间件启动时的错误信息
*/
extern __declspec(dllexport) GoUintptr SunnyNetError(GoInt SunnyContext);
/*
SetGlobalProxy 设置全局上游代理 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 SetGlobalProxy(GoInt SunnyContext, char* ProxyAddress, GoInt outTime);
/*
GetRequestProto 获取 HTTPS 请求的协议版本
*/
extern __declspec(dllexport) GoUintptr GetRequestProto(GoInt MessageId);
/*
GetResponseProto 获取 HTTPS 响应的协议版本
*/
extern __declspec(dllexport) GoUintptr GetResponseProto(GoInt MessageId);
/*
ExportCert 导出已设置的证书
*/
extern __declspec(dllexport) GoUintptr ExportCert(GoInt SunnyContext);
/*
SetHTTPRequestMaxUpdateLength 设置HTTP请求,提交数据,最大的长度
*/
extern __declspec(dllexport) GoUint8 SetHTTPRequestMaxUpdateLength(GoInt SunnyContext, GoInt64 i);
/*
SetIeProxy 设置IE代理 Windows 有效
*/
extern __declspec(dllexport) GoUint8 SetIeProxy(GoInt SunnyContext);
/*
CancelIEProxy 取消设置的IE代理Windows 有效
*/
extern __declspec(dllexport) GoUint8 CancelIEProxy(GoInt SunnyContext);
/*
SetRequestCookie 修改、设置 HTTP/S当前请求数据中指定Cookie
*/
extern __declspec(dllexport) void SetRequestCookie(GoInt MessageId, char* name, char* val);
/*
SetRequestAllCookie 修改、设置 HTTP/S当前请求数据中的全部Cookie
*/
extern __declspec(dllexport) void SetRequestAllCookie(GoInt MessageId, char* val);
/*
GetRequestCookie 获取 HTTP/S当前请求数据中指定的Cookie
*/
extern __declspec(dllexport) GoUintptr GetRequestCookie(GoInt MessageId, char* name);
/*
GetRequestALLCookie 获取 HTTP/S 当前请求全部Cookie
*/
extern __declspec(dllexport) GoUintptr GetRequestALLCookie(GoInt MessageId);
/*
DelResponseHeader 删除HTTP/S返回数据中指定的协议头
*/
extern __declspec(dllexport) void DelResponseHeader(GoInt MessageId, char* name);
/*
DelRequestHeader 删除HTTP/S请求数据中指定的协议头
*/
extern __declspec(dllexport) void DelRequestHeader(GoInt MessageId, char* name);
/*
SetRequestOutTime 请求设置超时-毫秒
*/
extern __declspec(dllexport) void SetRequestOutTime(GoInt MessageId, GoInt times);
/*
SetRequestALLHeader SetRequestALLHeader 设置HTTP/ S请求体中的全部协议头
*/
extern __declspec(dllexport) void SetRequestALLHeader(GoInt MessageId, char* val);
/*
SetRequestHeader 设置HTTP/S请求体中的协议头
*/
extern __declspec(dllexport) void SetRequestHeader(GoInt MessageId, char* name, char* val);
/*
RandomRequestCipherSuites RandomRequestCipherSuites 随机设置请求 CipherSuites
*/
extern __declspec(dllexport) GoUint8 RandomRequestCipherSuites(GoInt MessageId);
/*
SetRequestHTTP2Config 设置HTTP 2.0 请求指纹配置 (若服务器支持则使用,若服务器不支持,设置了也不会使用)
*/
extern __declspec(dllexport) GoUint8 SetRequestHTTP2Config(GoInt MessageId, char* h2Config);
/*
SetResponseHeader 修改、设置 HTTP/S当前返回数据中的指定协议头
*/
extern __declspec(dllexport) void SetResponseHeader(GoInt MessageId, char* name, char* val);
/*
GetRequestHeader 获取 HTTP/S当前请求数据中的指定协议头
*/
extern __declspec(dllexport) GoUintptr GetRequestHeader(GoInt MessageId, char* name);
/*
GetResponseHeader 获取 HTTP/S 当前返回数据中指定的协议头
*/
extern __declspec(dllexport) GoUintptr GetResponseHeader(GoInt MessageId, char* name);
/*
GetResponseServerAddress 获取 HTTP/S 相应的服务器地址
*/
extern __declspec(dllexport) GoUintptr GetResponseServerAddress(GoInt MessageId);
/*
SetResponseAllHeader 修改、设置 HTTP/S当前返回数据中的全部协议头例如设置返回两条Cookie 使用本命令设置 使用设置、修改 单条命令无效
*/
extern __declspec(dllexport) void SetResponseAllHeader(GoInt MessageId, char* value);
/*
GetResponseAllHeader 获取 HTTP/S 当前返回全部协议头
*/
extern __declspec(dllexport) GoUintptr GetResponseAllHeader(GoInt MessageId);
/*
GetRequestAllHeader 获取 HTTP/S 当前请求数据全部协议头
*/
extern __declspec(dllexport) GoUintptr GetRequestAllHeader(GoInt MessageId);
/*
SetRequestProxy 设置HTTP/S请求代理仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 SetRequestProxy(GoInt MessageId, char* ProxyUrl, GoInt outTime);
/*
GetResponseStatusCode 获取HTTP/S返回的状态码
*/
extern __declspec(dllexport) GoInt GetResponseStatusCode(GoInt MessageId);
/*
GetRequestClientIp 获取当前HTTP/S请求由哪个IP发起
*/
extern __declspec(dllexport) GoUintptr GetRequestClientIp(GoInt MessageId);
/*
GetResponseStatus 获取HTTP/S返回的状态文本 例如 [200 OK]
*/
extern __declspec(dllexport) GoUintptr GetResponseStatus(GoInt MessageId);
/*
SetResponseStatus 修改HTTP/S返回的状态码
*/
extern __declspec(dllexport) void SetResponseStatus(GoInt MessageId, GoInt code);
/*
SetRequestUrl 修改HTTP/S当前请求的URL
*/
extern __declspec(dllexport) GoUint8 SetRequestUrl(GoInt MessageId, char* URI);
/*
GetRequestBodyLen 获取 HTTP/S 当前请求POST提交数据长度
*/
extern __declspec(dllexport) GoInt GetRequestBodyLen(GoInt MessageId);
/*
GetResponseBodyLen 获取 HTTP/S 当前返回 数据长度
*/
extern __declspec(dllexport) GoInt GetResponseBodyLen(GoInt MessageId);
/*
SetResponseData 设置、修改 HTTP/S 当前请求返回数据 如果再发起请求时调用本命令,请求将不会被发送,将会直接返回 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SetResponseData(GoInt MessageId, GoUintptr data, GoInt dataLen);
/*
SetRequestData 设置、修改 HTTP/S 当前请求POST提交数据 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SetRequestData(GoInt MessageId, GoUintptr data, GoInt dataLen);
/*
GetRequestBody 获取 HTTP/S 当前POST提交数据 返回 数据指针
*/
extern __declspec(dllexport) GoUintptr GetRequestBody(GoInt MessageId);
/*
IsRequestRawBody 此请求是否为原始body 如果是 将无法修改提交的Body请使用 RawRequestDataToFile 命令来储存到文件
*/
extern __declspec(dllexport) GoUint8 IsRequestRawBody(GoInt MessageId);
/*
RawRequestDataToFile 获取 HTTP/ S 当前POST提交数据原始Data,传入保存文件名路径,例如"c:\1.txt"
*/
extern __declspec(dllexport) GoUint8 RawRequestDataToFile(GoInt MessageId, GoUintptr saveFileName, GoInt len);
/*
GetResponseBody 获取 HTTP/S 当前返回数据 返回 数据指针
*/
extern __declspec(dllexport) GoUintptr GetResponseBody(GoInt MessageId);
/*
GetWebsocketBodyLen 获取 WebSocket消息长度
*/
extern __declspec(dllexport) GoInt GetWebsocketBodyLen(GoInt MessageId);
/*
CloseWebsocket 主动关闭Websocket
*/
extern __declspec(dllexport) GoUint8 CloseWebsocket(GoInt Theology);
/*
GetWebsocketBody 获取 WebSocket消息 返回数据指针
*/
extern __declspec(dllexport) GoUintptr GetWebsocketBody(GoInt MessageId);
/*
SetWebsocketBody 修改 WebSocket消息 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SetWebsocketBody(GoInt MessageId, GoUintptr data, GoInt dataLen);
/*
SendWebsocketBody 主动向Websocket服务器发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SendWebsocketBody(GoInt Theology, GoInt MessageType, GoUintptr data, GoInt dataLen);
/*
SendWebsocketClientBody SendWebsocketClientBody 主动向Websocket客户端发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SendWebsocketClientBody(GoInt Theology, GoInt MessageType, GoUintptr data, GoInt dataLen);
/*
SetTcpBody 修改 TCP消息数据 MsgType=1 发送的消息 MsgType=2 接收的消息 如果 MsgType和MessageId不匹配将不会执行操作 data=数据指针 dataLen=数据长度
*/
extern __declspec(dllexport) GoUint8 SetTcpBody(GoInt MessageId, GoInt MsgType, GoUintptr data, GoInt dataLen);
/*
SetTcpAgent 给当前TCP连接设置代理 仅限 TCP回调 即将连接时使用 仅支持S5代理 例如 socket5://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 SetTcpAgent(GoInt MessageId, char* ProxyUrl, GoInt outTime);
/*
TcpCloseClient 根据唯一ID关闭指定的TCP连接 唯一ID在回调参数中
*/
extern __declspec(dllexport) GoUint8 TcpCloseClient(GoInt theology);
/*
SetTcpConnectionIP 给指定的TCP连接 修改目标连接地址 目标地址必须带端口号 例如 baidu.com:443
*/
extern __declspec(dllexport) GoUint8 SetTcpConnectionIP(GoInt MessageId, char* address);
/*
TcpSendMsg 指定的TCP连接 模拟客户端向服务器端主动发送数据
*/
extern __declspec(dllexport) GoInt TcpSendMsg(GoInt theology, GoUintptr data, GoInt dataLen);
/*
TcpSendMsgClient 指定的TCP连接 模拟服务器端向客户端主动发送数据
*/
extern __declspec(dllexport) GoInt TcpSendMsgClient(GoInt theology, GoUintptr data, GoInt dataLen);
/*
BytesToInt 将Go int的Bytes 转为int
*/
extern __declspec(dllexport) GoInt BytesToInt(GoUintptr data, GoInt dataLen);
/*
GzipUnCompress Gzip解压缩
*/
extern __declspec(dllexport) GoUintptr GzipUnCompress(GoUintptr data, GoInt dataLen);
/*
BrUnCompress br解压缩
*/
extern __declspec(dllexport) GoUintptr BrUnCompress(GoUintptr data, GoInt dataLen);
/*
BrCompress br压缩
*/
extern __declspec(dllexport) GoUintptr BrCompress(GoUintptr data, GoInt dataLen);
/*
ZSTDDecompress ZSTD解压缩
*/
extern __declspec(dllexport) GoUintptr ZSTDDecompress(GoUintptr data, GoInt dataLen);
/*
ZSTDCompress ZSTD压缩
*/
extern __declspec(dllexport) GoUintptr ZSTDCompress(GoUintptr data, GoInt dataLen);
/*
BrCompress br压缩
*/
extern __declspec(dllexport) GoUintptr BrotliCompress(GoUintptr data, GoInt dataLen);
/*
GzipCompress Gzip压缩
*/
extern __declspec(dllexport) GoUintptr GzipCompress(GoUintptr data, GoInt dataLen);
/*
ZlibCompress Zlib压缩
*/
extern __declspec(dllexport) GoUintptr ZlibCompress(GoUintptr data, GoInt dataLen);
/*
ZlibUnCompress Zlib解压缩
*/
extern __declspec(dllexport) GoUintptr ZlibUnCompress(GoUintptr data, GoInt dataLen);
/*
DeflateUnCompress Deflate解压缩 (可能等同于zlib解压缩)
*/
extern __declspec(dllexport) GoUintptr DeflateUnCompress(GoUintptr data, GoInt dataLen);
/*
DeflateCompress Deflate压缩 (可能等同于zlib压缩)
*/
extern __declspec(dllexport) GoUintptr DeflateCompress(GoUintptr data, GoInt dataLen);
/*
WebpToJpegBytes Webp图片转JEG图片字节数组 SaveQuality=质量(默认75)
*/
extern __declspec(dllexport) GoUintptr WebpToJpegBytes(GoUintptr data, GoInt dataLen, GoInt SaveQuality);
/*
WebpToPngBytes Webp图片转Png图片字节数组
*/
extern __declspec(dllexport) GoUintptr WebpToPngBytes(GoUintptr data, GoInt dataLen);
/*
WebpToJpeg Webp图片转JEG图片 根据文件名 SaveQuality=质量(默认75)
*/
extern __declspec(dllexport) GoUint8 WebpToJpeg(char* webpPath, char* savePath, GoInt SaveQuality);
/*
WebpToPng Webp图片转Png图片 根据文件名
*/
extern __declspec(dllexport) GoUint8 WebpToPng(char* webpPath, char* savePath);
/*
OpenDrive 开始进程代理/打开驱动 只允许一个 SunnyNet 使用 [会自动安装所需驱动文件]
IsNfapi 如果为true表示使用NFAPI驱动 如果为false 表示使用Proxifier
*/
extern __declspec(dllexport) GoUint8 OpenDrive(GoInt SunnyContext, GoUint8 isNf);
/*
UnDrive 卸载驱动仅Windows 有效【需要管理权限】执行成功后会立即重启系统,若函数执行后没有重启系统表示没有管理员权限
*/
extern __declspec(dllexport) void UnDrive(GoInt SunnyContext);
/*
ProcessAddName 进程代理 添加进程名
*/
extern __declspec(dllexport) void ProcessAddName(GoInt SunnyContext, char* Name);
/*
ProcessDelName 进程代理 删除进程名
*/
extern __declspec(dllexport) void ProcessDelName(GoInt SunnyContext, char* Name);
/*
ProcessAddPid 进程代理 添加PID
*/
extern __declspec(dllexport) void ProcessAddPid(GoInt SunnyContext, GoInt pid);
/*
ProcessDelPid 进程代理 删除PID
*/
extern __declspec(dllexport) void ProcessDelPid(GoInt SunnyContext, GoInt pid);
/*
ProcessCancelAll 进程代理 取消全部已设置的进程名
*/
extern __declspec(dllexport) void ProcessCancelAll(GoInt SunnyContext);
/*
ProcessALLName 进程代理 设置是否全部进程通过
*/
extern __declspec(dllexport) void ProcessALLName(GoInt SunnyContext, GoUint8 open, GoUint8 StopNetwork);
/*
GetCommonName 证书管理器 获取证书 CommonName 字段
*/
extern __declspec(dllexport) GoUintptr GetCommonName(GoInt Context);
/*
ExportP12 证书管理器 导出为P12
*/
extern __declspec(dllexport) GoUint8 ExportP12(GoInt Context, char* path, char* pass);
/*
ExportPub 证书管理器 导出公钥
*/
extern __declspec(dllexport) GoUintptr ExportPub(GoInt Context);
/*
ExportKEY 证书管理器 导出私钥
*/
extern __declspec(dllexport) GoUintptr ExportKEY(GoInt Context);
/*
ExportCA 证书管理器 导出证书
*/
extern __declspec(dllexport) GoUintptr ExportCA(GoInt Context);
/*
CreateCA 证书管理器 创建证书
*/
extern __declspec(dllexport) GoUint8 CreateCA(GoInt Context, char* Country, char* Organization, char* OrganizationalUnit, char* Province, char* CommonName, char* Locality, GoInt bits, GoInt NotAfter);
/*
AddClientAuth 证书管理器 设置ClientAuth
*/
extern __declspec(dllexport) GoUint8 AddClientAuth(GoInt Context, GoInt val);
/*
SetCipherSuites SetCipherSuites 证书管理器 设置CipherSuites
*/
extern __declspec(dllexport) GoUint8 SetCipherSuites(GoInt Context, char* val);
/*
AddCertPoolText 证书管理器 设置信任的证书 从 文本
*/
extern __declspec(dllexport) GoUint8 AddCertPoolText(GoInt Context, char* cer);
/*
AddCertPoolPath 证书管理器 设置信任的证书 从 文件
*/
extern __declspec(dllexport) GoUint8 AddCertPoolPath(GoInt Context, char* cer);
/*
GetServerName 证书管理器 取ServerName
*/
extern __declspec(dllexport) GoUintptr GetServerName(GoInt Context);
/*
SetServerName 证书管理器 设置ServerName
*/
extern __declspec(dllexport) GoUint8 SetServerName(GoInt Context, char* name);
/*
SetInsecureSkipVerify 证书管理器 设置跳过主机验证
*/
extern __declspec(dllexport) GoUint8 SetInsecureSkipVerify(GoInt Context, GoUint8 b);
/*
LoadX509Certificate 证书管理器 载入X509证书
*/
extern __declspec(dllexport) GoUint8 LoadX509Certificate(GoInt Context, char* Host, char* CA, char* KEY);
/*
LoadX509KeyPair 证书管理器 载入X509证书2
*/
extern __declspec(dllexport) GoUint8 LoadX509KeyPair(GoInt Context, char* CaPath, char* KeyPath);
/*
LoadP12Certificate 证书管理器 载入p12证书
*/
extern __declspec(dllexport) GoUint8 LoadP12Certificate(GoInt Context, char* Name, char* Password);
/*
RemoveCertificate 释放 证书管理器 对象
*/
extern __declspec(dllexport) void RemoveCertificate(GoInt Context);
/*
CreateCertificate 创建 证书管理器 对象
*/
extern __declspec(dllexport) GoInt CreateCertificate();
/*
KeysWriteStr GoMap 写字符串
*/
extern __declspec(dllexport) void KeysWriteStr(GoInt KeysHandle, char* name, GoUintptr val, GoInt len);
/*
KeysGetJson GoMap 转为JSON字符串
*/
extern __declspec(dllexport) GoUintptr KeysGetJson(GoInt KeysHandle);
/*
KeysGetCount GoMap 取数量
*/
extern __declspec(dllexport) GoInt KeysGetCount(GoInt KeysHandle);
/*
KeysEmpty GoMap 清空
*/
extern __declspec(dllexport) void KeysEmpty(GoInt KeysHandle);
/*
KeysReadInt GoMap 读整数
*/
extern __declspec(dllexport) GoInt KeysReadInt(GoInt KeysHandle, char* name);
/*
KeysWriteInt GoMap 写整数
*/
extern __declspec(dllexport) void KeysWriteInt(GoInt KeysHandle, char* name, GoInt val);
/*
KeysReadLong GoMap 读长整数
*/
extern __declspec(dllexport) GoInt64 KeysReadLong(GoInt KeysHandle, char* name);
/*
KeysWriteLong GoMap 写长整数
*/
extern __declspec(dllexport) void KeysWriteLong(GoInt KeysHandle, char* name, GoInt64 val);
/*
KeysReadFloat GoMap 读浮点数
*/
extern __declspec(dllexport) GoFloat64 KeysReadFloat(GoInt KeysHandle, char* name);
/*
KeysWriteFloat GoMap 写浮点数
*/
extern __declspec(dllexport) void KeysWriteFloat(GoInt KeysHandle, char* name, GoFloat64 val);
/*
KeysWrite GoMap 写字节数组
*/
extern __declspec(dllexport) void KeysWrite(GoInt KeysHandle, char* name, GoUintptr val, GoInt length);
/*
KeysRead GoMap 写读字符串/字节数组
*/
extern __declspec(dllexport) GoUintptr KeysRead(GoInt KeysHandle, char* name);
/*
KeysDelete GoMap 删除
*/
extern __declspec(dllexport) void KeysDelete(GoInt KeysHandle, char* name);
/*
RemoveKeys GoMap 删除GoMap
*/
extern __declspec(dllexport) void RemoveKeys(GoInt KeysHandle);
/*
CreateKeys GoMap 创建
*/
extern __declspec(dllexport) GoInt CreateKeys();
/*
HTTPSetH2Config HTTP 客户端 设置HTTP2指纹
*/
extern __declspec(dllexport) GoUint8 HTTPSetH2Config(GoInt Context, char* config);
/*
HTTPSetRandomTLS HTTP 客户端 设置随机使用TLS指纹
*/
extern __declspec(dllexport) GoUint8 HTTPSetRandomTLS(GoInt Context, GoUint8 RandomTLS);
/*
HTTPSetRedirect HTTP 客户端 设置重定向
*/
extern __declspec(dllexport) GoUint8 HTTPSetRedirect(GoInt Context, GoUint8 Redirect);
/*
HTTPGetCode HTTP 客户端 返回响应状态码
*/
extern __declspec(dllexport) GoInt HTTPGetCode(GoInt Context);
/*
HTTPSetCertManager HTTP 客户端 设置证书管理器
*/
extern __declspec(dllexport) GoUint8 HTTPSetCertManager(GoInt Context, GoInt CertManagerContext);
/*
HTTPGetBody HTTP 客户端 返回响应内容
*/
extern __declspec(dllexport) GoUintptr HTTPGetBody(GoInt Context);
/*
HTTPGetHeader HTTP 客户端 返回响应HTTPGetHeader
*/
extern __declspec(dllexport) GoUintptr HTTPGetHeader(GoInt Context, char* name);
/*
HTTPGetRequestHeader HTTP 客户端 添加的全部协议头
*/
extern __declspec(dllexport) GoUintptr HTTPGetRequestHeader(GoInt Context);
/*
HTTPGetHeads HTTP 客户端 返回响应全部Heads
*/
extern __declspec(dllexport) GoUintptr HTTPGetHeads(GoInt Context);
/*
HTTPGetBodyLen HTTP 客户端 返回响应长度
*/
extern __declspec(dllexport) GoInt HTTPGetBodyLen(GoInt Context);
/*
HTTPSendBin HTTP 客户端 发送Body
*/
extern __declspec(dllexport) void HTTPSendBin(GoInt Context, GoUintptr body, GoInt bodyLength);
/*
HTTPSetTimeouts HTTP 客户端 设置超时 毫秒
*/
extern __declspec(dllexport) void HTTPSetTimeouts(GoInt Context, GoInt t1);
// HTTPSetServerIP
// HTTP 客户端 设置真实连接IP地址
//
extern __declspec(dllexport) void HTTPSetServerIP(GoInt Context, char* ServerIP);
/*
HTTPSetProxyIP HTTP 客户端 设置代理IP 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
*/
//
extern __declspec(dllexport) GoUint8 HTTPSetProxyIP(GoInt Context, char* ProxyUrl);
/*
HTTPSetHeader HTTP 客户端 设置协议头
*/
extern __declspec(dllexport) void HTTPSetHeader(GoInt Context, char* name, char* value);
/*
HTTPOpen HTTP 客户端 Open
*/
extern __declspec(dllexport) void HTTPOpen(GoInt Context, char* Method, char* URL);
/*
RemoveHTTPClient 释放 HTTP客户端
*/
extern __declspec(dllexport) void RemoveHTTPClient(GoInt Context);
/*
CreateHTTPClient 创建 HTTP 客户端
*/
extern __declspec(dllexport) GoInt CreateHTTPClient();
/*
JsonToPB JSON格式的protobuf数据转为protobuf二进制数据
*/
extern __declspec(dllexport) GoUintptr JsonToPB(GoUintptr bin, GoInt binLen);
/*
PbToJson protobuf数据转为JSON格式
*/
extern __declspec(dllexport) GoUintptr PbToJson(GoUintptr bin, GoInt binLen);
/*
QueuePull 队列弹出
*/
extern __declspec(dllexport) GoUintptr QueuePull(char* name);
/*
QueuePush 加入队列
*/
extern __declspec(dllexport) void QueuePush(char* name, GoUintptr val, GoInt valLen);
/*
QueueLength 取队列长度
*/
extern __declspec(dllexport) GoInt QueueLength(char* name);
/*
QueueRelease 清空销毁队列
*/
extern __declspec(dllexport) void QueueRelease(char* name);
/*
QueueIsEmpty 队列是否为空
*/
extern __declspec(dllexport) GoUint8 QueueIsEmpty(char* name);
/*
CreateQueue 创建队列
*/
extern __declspec(dllexport) void CreateQueue(char* name);
/*
SocketClientWrite TCP客户端 发送数据
*/
extern __declspec(dllexport) GoInt SocketClientWrite(GoInt Context, GoInt OutTimes, GoUintptr val, GoInt valLen);
/*
SocketClientClose TCP客户端 断开连接
*/
extern __declspec(dllexport) void SocketClientClose(GoInt Context);
/*
SocketClientReceive TCP客户端 同步模式下 接收数据
*/
extern __declspec(dllexport) GoUintptr SocketClientReceive(GoInt Context, GoInt OutTimes);
/*
SocketClientDial TCP客户端 连接
*/
extern __declspec(dllexport) GoUint8 SocketClientDial(GoInt Context, char* addr, GoInt call, GoUint8 isTls, GoUint8 synchronous, char* ProxyUrl, GoInt CertificateConText, GoInt OutTime, char* OutRouterIP);
/*
SocketClientSetBufferSize TCP客户端 置缓冲区大小
*/
extern __declspec(dllexport) GoUint8 SocketClientSetBufferSize(GoInt Context, GoInt BufferSize);
/*
SocketClientGetErr TCP客户端 取错误
*/
extern __declspec(dllexport) GoUintptr SocketClientGetErr(GoInt Context);
/*
RemoveSocketClient 释放 TCP客户端
*/
extern __declspec(dllexport) void RemoveSocketClient(GoInt Context);
/*
CreateSocketClient 创建 TCP客户端
*/
extern __declspec(dllexport) GoInt CreateSocketClient();
/*
WebsocketClientReceive Websocket客户端 同步模式下 接收数据 返回数据指针 失败返回0 length=返回数据长度
*/
extern __declspec(dllexport) GoUintptr WebsocketClientReceive(GoInt Context, GoInt OutTimes);
/*
WebsocketReadWrite Websocket客户端 发送数据
*/
extern __declspec(dllexport) GoUint8 WebsocketReadWrite(GoInt Context, GoUintptr val, GoInt valLen, GoInt messageType);
/*
WebsocketClose Websocket客户端 断开
*/
extern __declspec(dllexport) void WebsocketClose(GoInt Context);
/*
WebsocketHeartbeat Websocket客户端 心跳设置
*/
extern __declspec(dllexport) void WebsocketHeartbeat(GoInt Context, GoInt HeartbeatTime, GoInt call);
/*
WebsocketDial Websocket客户端 连接
*/
extern __declspec(dllexport) GoUint8 WebsocketDial(GoInt Context, char* URL, char* Heads, GoInt call, GoUint8 synchronous, char* ProxyUrl, GoInt CertificateConText, GoInt outTime, char* OutRouterIP);
/*
WebsocketGetErr Websocket客户端 获取错误
*/
extern __declspec(dllexport) GoUintptr WebsocketGetErr(GoInt Context);
/*
RemoveWebsocket 释放 Websocket客户端 对象
*/
extern __declspec(dllexport) void RemoveWebsocket(GoInt Context);
/*
CreateWebsocket 创建 Websocket客户端 对象
*/
extern __declspec(dllexport) GoInt CreateWebsocket();
/*
AddHttpCertificate 创建 Http证书管理器 对象 实现指定Host使用指定证书
*/
extern __declspec(dllexport) GoUint8 AddHttpCertificate(char* host, GoInt CertManagerId, GoInt Rules);
/*
DelHttpCertificate 删除 Http证书管理器 对象
*/
extern __declspec(dllexport) void DelHttpCertificate(char* host);
/*
RedisSubscribe Redis 订阅消息
*/
extern __declspec(dllexport) GoUint8 RedisSubscribe(GoInt Context, char* scribe, GoInt call, GoUint8 nc);
/*
RedisDelete Redis 删除
*/
extern __declspec(dllexport) GoUint8 RedisDelete(GoInt Context, char* key);
/*
RedisFlushDB Redis 清空当前数据库
*/
extern __declspec(dllexport) void RedisFlushDB(GoInt Context);
/*
RedisFlushAll Redis 清空redis服务器
*/
extern __declspec(dllexport) void RedisFlushAll(GoInt Context);
/*
RedisClose Redis 关闭
*/
extern __declspec(dllexport) void RedisClose(GoInt Context);
/*
RedisGetInt Redis 取整数值
*/
extern __declspec(dllexport) GoInt64 RedisGetInt(GoInt Context, char* key);
/*
RedisGetKeys Redis 取指定条件键名
*/
extern __declspec(dllexport) GoUintptr RedisGetKeys(GoInt Context, char* key);
/*
RedisDo Redis 自定义 执行和查询命令 返回操作结果可能是值 也可能是JSON文本
*/
extern __declspec(dllexport) GoUintptr RedisDo(GoInt Context, char* args, GoUintptr error);
/*
RedisGetStr Redis 取文本值
*/
extern __declspec(dllexport) GoUintptr RedisGetStr(GoInt Context, char* key);
/*
RedisGetBytes Redis 取Bytes值
*/
extern __declspec(dllexport) GoUintptr RedisGetBytes(GoInt Context, char* key);
/*
RedisExists Redis 检查指定 key 是否存在
*/
extern __declspec(dllexport) GoUint8 RedisExists(GoInt Context, char* key);
/*
RedisSetNx Redis 设置NX 【如果键名存在返回假】
*/
extern __declspec(dllexport) GoUint8 RedisSetNx(GoInt Context, char* key, char* val, GoInt expr);
/*
RedisSet Redis 设置值
*/
extern __declspec(dllexport) GoUint8 RedisSet(GoInt Context, char* key, char* val, GoInt expr);
/*
RedisSetBytes Redis 设置Bytes值
*/
extern __declspec(dllexport) GoUint8 RedisSetBytes(GoInt Context, char* key, GoUintptr val, GoInt valLen, GoInt expr);
/*
RedisDial Redis 连接
*/
extern __declspec(dllexport) GoUint8 RedisDial(GoInt Context, char* host, char* pass, GoInt db, GoInt PoolSize, GoInt MinIdleCons, GoInt DialTimeout, GoInt ReadTimeout, GoInt WriteTimeout, GoInt PoolTimeout, GoInt IdleCheckFrequency, GoInt IdleTimeout, GoUintptr error);
/*
RemoveRedis 释放 Redis 对象
*/
extern __declspec(dllexport) void RemoveRedis(GoInt Context);
/*
CreateRedis 创建 Redis 对象
*/
extern __declspec(dllexport) GoInt CreateRedis();
/*
SetUdpData 设置修改UDP数据
*/
extern __declspec(dllexport) GoUint8 SetUdpData(GoInt MessageId, GoUintptr val, GoInt valLen);
/*
GetUdpData 获取UDP数据
*/
extern __declspec(dllexport) GoUintptr GetUdpData(GoInt MessageId);
/*
UdpSendToClient 指定的UDP连接 模拟服务器端向客户端主动发送数据
*/
extern __declspec(dllexport) GoUint8 UdpSendToClient(GoInt theology, GoUintptr data, GoInt dataLen);
/*
UdpSendToServer 指定的UDP连接 模拟客户端向服务器端主动发送数据
*/
extern __declspec(dllexport) GoUint8 UdpSendToServer(GoInt theology, GoUintptr data, GoInt dataLen);
// SetScriptCode 加载用户的脚本代码
//
extern __declspec(dllexport) GoUintptr SetScriptCode(GoInt SunnyContext, GoUintptr code, GoInt length);
// SetScriptCall 设置脚本代码的回调函数
//
extern __declspec(dllexport) void SetScriptCall(GoInt SunnyContext, GoUintptr LOG, GoUintptr SAVE);
/*
SetScriptPage 设置脚本编辑器页面 需不少于8个字符
*/
extern __declspec(dllexport) GoUintptr SetScriptPage(GoInt SunnyContext, char* Page);
/*
DisableTCP 禁用TCP 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 DisableTCP(GoInt SunnyContext, GoUint8 Disable);
/*
DisableUDP 禁用TCP 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 DisableUDP(GoInt SunnyContext, GoUint8 Disable);
/*
SetRandomTLS 是否使用随机TLS指纹 仅对当前SunnyContext有效
*/
extern __declspec(dllexport) GoUint8 SetRandomTLS(GoInt SunnyContext, GoUint8 open);
/*
SetDnsServer Dns解析服务器 默认:223.5.5.5:853
*/
extern __declspec(dllexport) void SetDnsServer(char* ServerName);
/*
SetOutRouterIP 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11(全局)
*/
extern __declspec(dllexport) GoUint8 SetOutRouterIP(GoInt SunnyContext, char* value);
/*
RequestSetOutRouterIP 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11TCP/HTTP请求共用这个函数
*/
extern __declspec(dllexport) GoUint8 RequestSetOutRouterIP(GoInt MessageId, char* value);
/*
HTTPSetOutRouterIP
HTTP 客户端 设置数据出口IP 请传入网卡对应的IP地址,用于指定网卡,例如 192.168.31.11TCP/HTTP请求共用这个函数
*/
extern __declspec(dllexport) GoUint8 HTTPSetOutRouterIP(GoInt Context, char* value);
#ifdef __cplusplus
}
#endif