📄 kadmain.h
字号:
#pragma once
#ifdef KADEMLIA_EXPORTS
#define KADAPI __declspec(dllexport)
#else
#define KADAPI
#endif
#define KADEMLIA_LIBRARY_VERSION 1.23
typedef bool (__cdecl *PartialRequestHandler)(unsigned int ip, unsigned short tcpport, unsigned short udpport, const unsigned char* tth, unsigned char inPartsCount, const unsigned short* inPartsInfo, const unsigned char* extension, unsigned char* outPartsCount, unsigned short* outPartsInfo);
typedef bool (__cdecl *PartialResponseHandler)(unsigned int ip, unsigned short tcpport, unsigned short udpport, const unsigned char* tth, unsigned char partsCount, const unsigned short* partsInfo);
typedef void (__cdecl *FileResultHandler)(const unsigned char* filehash, int ip, unsigned short tcpport, unsigned short udpport);
typedef void (__cdecl *KeywordResultHandler)(unsigned int ip, unsigned short port, const unsigned char* filehash, const char* filename, unsigned int filesize);
typedef void (__cdecl *RevConnectRequestHandler)(unsigned int ip, unsigned short tcpport, unsigned short udpport, const unsigned char* data, unsigned int dataLen);
struct KadFileInfo
{
unsigned char* hash;
char* name;
unsigned int size;
int type;
};
KADAPI int __cdecl StartKademlia(unsigned char* id, unsigned short udp, unsigned short tcp);
KADAPI void __cdecl StopKademlia();
KADAPI double __cdecl GetKademliaVersion();
//KADAPI void __cdecl PublishFile(const unsigned char* fileHash, const char* filename, unsigned int filesize);
KADAPI void __cdecl PublishFile(const unsigned char* tth, bool ahead);
//KADAPI bool __cdecl RepublishFiles(const unsigned char* fileHashList, int iCount);
KADAPI void __cdecl ResetPublishingQueue();
KADAPI bool __cdecl PublishKeyword(const unsigned char* keyhash, const struct KadFileInfo* files, int count);
KADAPI bool __cdecl FindFile(const unsigned char* fileHash);
KADAPI bool __cdecl FindKeyword(const unsigned char* keyhash, const char** _keywords, int filetype, unsigned int minsize, unsigned int maxsize);
KADAPI bool __cdecl SendPartialRequest(unsigned int ip, unsigned short port, const unsigned char* tth, unsigned char partsCount, const unsigned short* partsInfo, unsigned int extLen, const char* extBuf);
KADAPI bool __cdecl SendRevConnectRequest(unsigned int targetIp, unsigned short targetUdpPort, unsigned short localTcpPort, const unsigned char* data, unsigned int dataLen);
KADAPI void __cdecl ProcessPacket(const unsigned char* data, unsigned int dataLen, unsigned int ip, unsigned short port);
/**
* Callback
*/
KADAPI void __cdecl SetFindFileResultHandler(FileResultHandler callback);
KADAPI void __cdecl SetFindKeywordResultHandler(KeywordResultHandler callback);
KADAPI void __cdecl SetPartialRequestHandler(PartialRequestHandler callback);
KADAPI void __cdecl SetPartialResponseHandler(PartialResponseHandler callback);
KADAPI void __cdecl SetRevConnectRequestHandler(RevConnectRequestHandler callback);
#define CheckKademliaVersion() (GetKademliaVersion() == KADEMLIA_LIBRARY_VERSION)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -