/* Code generated by cmd/cgo; DO NOT EDIT. */

/* package command-line-arguments */


#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_;
extern size_t _GoStringLen(_GoString_ s);
extern const char *_GoStringPtr(_GoString_ s);
#endif

#endif

/* Start of preamble from import "C" comments.  */





#line 3 "im.go"

#include <stdint.h>

#line 1 "cgo-generated-wrapper"






/* 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 GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef size_t GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
#ifdef _MSC_VER
#if !defined(__cplusplus) || _MSVC_LANG <= 201402L
#include <complex.h>
typedef _Fcomplex GoComplex64;
typedef _Dcomplex GoComplex128;
#else
#include <complex>
typedef std::complex<float> GoComplex64;
typedef std::complex<double> GoComplex128;
#endif
#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_64_bit_pointer_matching_GoInt[sizeof(void*)==64/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

extern void SetCoinTypeCustom(long long int coinType, char* addrPre);
extern char* Init(char* conf, char* addrpre, char* pwd);
extern char* InitV2(char* conf, char* addrpre, char* pwd, char* impwd);
extern char* InitV3(char* conf, char* addrpre, char* prk);
extern char* CheckUpgradePreAndCoinType(char* conf, char* addrpre);
extern char* UpgradePreAndCoinType(char* conf, char* newaddrpre, long long int newcoinType, char* pwd, char* imprik);
extern char* CheckP2pOnline(char* addr);
extern void SetLogLevel(long int level);
extern char* RemoveCache(void);
extern void SetLang(char* lan);
extern char* GetCoinbase(char* password);
extern char* CheckPassword(char* password);
extern char* UpdatePassword(char* oldpwd, char* newpwd);
extern char* ExportMnemonic(char* pwd);
extern char* ImportMnemonic(char* pwd, char* word);
extern char* ImportMnemonicV2(char* pwd, char* impwd, char* minerpwd, char* word);
extern char* ImportMnemonicV3(char* pwd, char* impwd, char* minerpwd, char* word, long int num);
extern char* CreateNewAddrV1(char* password, long int walletIndex);
extern char* GetAllAddr(long int walletIndex);
extern char* GetMsg(void);
extern void SetConfPath(char* path);
extern void Close(void);
extern char* UUID(void);
extern char* UUIDS(long int n);
extern char* SnowId(void);
extern char* GetNodeId(void);
extern char* GetHash(char* str);
extern char* RemoveKey(char* conf);
extern char* RemoveMachineId(char* conf);
extern char* CheckOnline(void);
extern char* ReConnect(void);
extern char* CloseNet(void);
extern char* GetSessionNum(void);
extern char* GetSuperNodeId(void);
extern char* CheckMnemonic(char* content);
extern char* Version(void);
extern void ExportCallbackFunc(GoInterface cbi);
extern char* GetWalletZeroAddrPrk(char* pwd);
extern char* GetNetAddrKeyByMnemonic(char* word);
extern char* InitLinked(void);
extern char* LPush(char* lKey, char* iKey, char* valByte, char* val);
extern char* LGet(char* itemKey);
extern char* LDel(char* lKey, char* iKey);
extern char* LUpdate(char* lKey, char* iKey, char* valByte, char* val);
extern char* LSetMeta(char* lkey, char* linked);
extern char* LGetMeta(char* lkey);
extern char* GetKeyStorePrv(char* pwd);
extern char* GetPukBase58StrByAddr(char* addr, char* pwd, long int walletIndex);
extern char* GetPukBase58StrByPrikIndex(char* pwd, long int prikIndex);
extern char* GetUseKeystoreIndex(void);
extern char* BuildNetAddrByPuk(char* puk);
extern char* BuildAddrByPuk(char* pre, char* puk);
extern char* SignByWalleAddr(char* addr, char* text, char* addrpass);
extern char* ResetWalletPassword(char* oldPwd, char* newPwd);
extern char* BuildNetAddrByMnemonic(char* word);
extern char* GetUserAuth(void);
extern char* GenerateDHPair(void);
extern char* GetHTTPDHKeyPublicKey(void);
extern void EncryptHTTPData(long long int port, char* data);
extern void DecryptHTTPData(long long int port, char* data);
extern void StartWsClient(char* serverServer, char* cloudServer);
extern char* SendMsgOfWs(char* data);
extern void ReceiveMsgOfWs(void);
extern void InitCallBack(GoInt64 port);
extern char* StartWalletConn(char* walletServer);
extern char* StartExchangeConn(char* exchangeServer);
extern char* CloseWalletConn(void);
extern char* CloseCloudConn(void);
extern char* CloseExchangeConn(void);
extern char* CheckWsConnState(void);
extern char* Compile(char* ContractName, char* Env, char* MacPath);
extern char* CompileInput(char* Abi, char* InputData);
extern char* Analysis(char* Abi, char* Method, char* Comment);
extern char* CreateOfflineTx(char* keyStorePath, long int walletIndex, char* srcaddress, char* address, char* pwd, char* comment, char* amount, char* gas, char* frozenHeight, char* nonce, char* currentHeight, char* domain, char* domainType);
extern char* CreateOfflineTxWithGasPay(char* keyStorePath, long int walletIndex, char* srcaddress, char* address, char* pwd, char* comment, char* amount, char* gas, char* frozenHeight, char* nonce, char* currentHeight, char* domain, char* domainType, char* gasPayAddress);
extern char* CreateOfflineContractTx(char* keyStorePath, long int walletIndex, char* srcaddress, char* address, char* pwd, char* comment, char* amount, char* gas, char* frozenHeight, char* gasPrice, char* nonce, char* currentHeight, char* domain, char* domainType, char* abi, char* source);
extern char* CreateOfflineContractTxWithGasPay(char* keyStorePath, long int walletIndex, char* srcaddress, char* address, char* pwd, char* comment, char* amount, char* gas, char* frozenHeight, char* gasPrice, char* nonce, char* currentHeight, char* domain, char* domainType, char* abi, char* source, char* gasPayAddress);
extern char* GetComment(char* tag, char* jsonData);
extern char* MultDeal(char* tag, char* jsonData, char* keyStorePath, long int walletIndex, char* srcaddress, char* address, char* pwd, char* comment, long long unsigned int amount, long long unsigned int gas, long long unsigned int frozenHeight, long long unsigned int gasPrice, long long unsigned int nonce, long long unsigned int currentHeight, char* domain, long long unsigned int domainType);
extern char* BuildOfflineTx(char* keyStorePath, long int walletIndex, char* pwd, char* nonce, char* currentHeight, char* frozenHeight, char* domainType, char* domain, char* tag, char* jsonData);
extern char* BuildOfflineTxByPirkIndex(char* keyStorePath, long int prikIndex, char* pwd, char* nonce, char* currentHeight, char* frozenHeight, char* domainType, char* domain, char* tag, char* jsonData);
extern char* CheckWalletIsLegality(char* addr);
extern char* CreateOfflineTxBuildAddressBind(char* keyStorePath, long int walletIndex, char* srcaddress, char* bindaddress, char* bindType, char* gas, char* frozenHeight, char* nonceInt, char* currentHeight, char* pwd, char* domain, char* domainType, char* comment);
extern char* GetWalletCoinAddress(long int walletIndex, long int addressIndex, char* pwd);
extern char* AddWalletCoinAddress(long int port, long int walletIndex, long int addressIndex, char* pwd, char* nickName);
extern char* ImportPrivateKey(long int port, char* passwd, char* prk, char* chain, char* segwitType, char* nickName);
extern char* DeletePrivateKey(long int port, char* passwd, long int index);
extern char* AddWallet(long int port, char* pwd, char* nickName);
extern char* DeleteWallet(long int port, char* pwd, long int walletIndex);
extern char* AddWalletImportMnemonic(long int port, char* pwd, char* nickName, char* word);
extern char* ExportPrivateKey(long int port, char* passwd, char* chain, char* segwitType, long int walletIndex, long int addressIndex);
extern char* CreateAddrFromPri(char* prk, char* chain, char* segwitType);
extern char* GetPrivIndex(void);
extern char* SignTx(long int port, char* unSignTx, char* to, char* amount, char* coinType, char* fee, long int walletIndex, long int addressIndex, char* passwd, char* chain, char* segwitType, char* maxPriority, char* maxFee, long int gasLimit, long int frozenTime, char* contractAddress, long int decimals);
extern char* OfflineSign(long int port, char* unSignTx, long int walletIndex, long int addressIndex, char* passwd, char* chain);
extern char* ApproveUsdtForBuySpace(long int port, char* chain, char* passwd, char* amount, char* gas, long int walletIndex, long int addressIndex);
extern char* ApproveUsdtForSwapUsr(long int port, char* chain, char* passwd, char* amount, char* gas, long int walletIndex, long int addressIndex);
extern char* Deposit(long int port, char* chain, char* passwd, char* amount, char* addr, char* gas, long int walletIndex, long int addressIndex);
extern char* BuySpace(long int port, char* chain, char* passwd, char* amount, char* gas, char* netId, char* orderId, char* packageId, long int walletIndex, long int addressIndex);
extern char* FreezeTrx(long int port, char* fromAddr, char* passwd, char* resource, char* amount, long int walletIndex, long int addressIndex);
extern char* UnfreezeTrx(long int port, char* fromAddr, char* passwd, char* resource, char* amount, long int walletIndex, long int addressIndex);
extern char* WithdrawExpireUnfreezeTrx(long int port, char* fromAddr, char* passwd, long int walletIndex, long int addressIndex);
extern char* CreateMultiSignAddr(long int walletIndex, long int gas, long int nonceInt, long int currentHeight, char* pwd, char* comment, char* pukArrays);
extern char* CreateOfflineTxBuild_MultsignPay(long int walletIndex, long int gas, long int amount, long int frozenHeight, char* multAddressStr, char* addressStr, char* pwd, char* multPukStr, char* otherPub);
extern char* ExportWalletMnemonic(long int port, long int walletIndex, char* pwd);
extern char* InitWallet(char* jsonStr);
extern char* SwitchNetwork(long int network);
extern void UsdtWithdraw(long int port, long int walletIndex, long int addressIndex, char* passwd, char* chain, char* amount, char* toAddr, char* orderId, char* walletAddr, char* gas);
extern void WithdrawApprove(long int port, long int walletIndex, long int addressIndex, char* passwd, char* amount, char* walletAddr, char* gas);
extern char* RunServer(void);
extern char* SetP2pPort(char* port);
extern void RunP2p(long long int port, char* remoteaddr, char* nodeAddr, char* devName, char* runEnv);
extern char* RunP2pByPrk(char* conf, char* remoteaddr, char* prk);
extern char* SendMsg(long int msgid, char* tonodeid, char* topuk, char* msg, long long int retry);
extern char* SendMsgByHttp(long int msgid, char* tonodeid, char* topuk, char* msg, long long int retry);
extern char* GroupId(void);
extern char* GetMegHash(long int msgid, char* tonodeid, char* msgstr);
extern void UpdateUserInfo(long long int port, long int version, char* content);
extern void GetUserinfo(long long int port, char* addrNet, char* content);
extern char* GetTime(void);
extern char* UpdateIsAllRead(long int needRead);
extern char* GetMachineId(char* content);
extern char* GetServerTime(char* content);
extern char* SetAddrData(long int genre, char* content);
extern char* SetAddrData1(char* content);
extern char* SetNewChamberData(char* content);
extern char* SetNewChamberVer(char* content);
extern char* CreateGroup2(char* content);
extern char* UpdateGroup(char* content);
extern char* ChangeGroupMember(char* content);
extern char* GroupDissolve(char* content);
extern char* ManagerGroupMember(char* content);
extern char* UpdateGroup2(char* content);
extern char* JoinGroupApply(char* content, int isOfficial);
extern void GetGroupInfo(long long int port, char* content);
extern char* IsGroupMembers(char* content);
extern char* InGroupMembers(char* content);
extern char* GetGroupMemberListRemotePic(char* content);
extern void SendGroupMsg2(long long int port, char* content, char* toAddr, long int genre, int isOfficial);
extern char* SendGroupByHttp(char* content, char* toAddr, long int genre);
extern void LoadMoreGroupMsg(long int port, char* groupId);
extern char* GetGroupPasswd(char* content);
extern char* SetAreaName(char* content);
extern void UpdateGroupMemberCallback(char* gid);
extern void AddWhiteList(char* content);
extern char* CheckImPassword(char* password);
extern char* UpdateImPwd(char* oldpwd, char* newpwd);
extern char* ExportImPrivateKey(char* pwd);
extern char* SetServerPort(char* port);
extern char* SetAllProxy(char* content, char* id, char* ip, long int port);
extern char* SetAreaVerByMid(char* content);
extern char* SetAllProxy2(char* content, char* id, char* ip, long int port);
extern void GetDeviceData(long long int port, long long int ver);
extern char* UpdateCloudFileTime(char* content);
extern char* RemoveCloudFileTime(char* content);
extern char* GetAllProxy(char* content);
extern void SetWSMessagePort(long int port);
extern void StartWSMessageServer(void);
extern void StartGetMessage(void);
extern char* BindDomain(char* content, char* id, long int version);
extern char* UnBindDomain(char* content, char* id, long int version);
extern char* GetNodeBindDomain(char* content, char* id, long int version);
extern char* FindDomainBindNodes(char* content, char* id, long int version);
extern char* LoadInitData(char* content);
extern char* MessageDataRecv(char* content);
extern void InitDartApi(void* api);
extern void SetMsgSendPort(GoInt64 port);
extern void CleanMessageStructMemory(GoInt64 ptrAddr);
extern void CleanMessageStructMemoryByPort(GoInt64 ptrAddr);
extern char* StatMessageStructMemory(void);
extern char* CgoHandleStat(void);
extern char* GetMsgByCgoHandle(GoUintptr handleVal);
extern void CleanCgoHandleByPort(long long int port);
extern char* ClearLoginInfo(void);
extern char* SetAreaConnType(char* connType);
extern char* SetReadMsgDelVersion(char* connType);
extern char* SetBlockStranger(char* connType);
extern char* GetAllOnlineMachine(long int msgid, char* content);
extern char* CloseOnlineMachine(long int msgid, char* addr, char* machine);
extern char* CloseOnlineMachineV2(long int msgid, char* machine, long int cType, long int version, char* isDel);
extern char* OnlineMachineRcv(long int cmd, char* hash);
extern char* OnlineMachineRcvV2(long int cmd, char* hash, char* isDel);
extern char* AddressCoinToEvmAddress(char* addr);
extern char* EvmAddressToAddressCoin(char* addr);
extern char* AuthLogin(char* proxy, char* toCurPuk);
extern char* SetMainDevice(char* proxy);
extern char* SignatureStr(char* str);
extern char* SignVerificationStr(char* edpuk, char* msg, char* sigMsg);
extern void SaveDeviceData(long long int port, char* proxy);
extern char* BindTempDev(char* proxy);
extern void SendP2pMsgToNode(long long int port, char* recvId, char* machineId, char* data);
extern void SendMediaMsgToNode(long long int port, char* data);
extern char* GetCurProxy(void);
extern char* CreateQR(char* gid);
extern char* EncryptQR(char* str, char* gid, long int gidVer);
extern char* DeleteAppGs(char* gid);
extern char* SetEncryptData(char* key, char* pwd, char* value);
extern char* GetEncryptData(char* key, char* pwd);
extern char* DelEncryptData(char* key);
extern char* GetCommonDatabase(char* content);
extern char* SetCommonDatabase(char* content);
extern char* GetActivityNum(char* req, char* addr);
extern char* GetActivityRank(char* req, char* addr);
extern char* GetDatabaseToken(char* req, char* addr);
extern char* CommonDatabaseRequest(long int msgID, char* req, char* addr);
extern char* AddTransfer(char* req, char* addr);
extern char* GetTransfer(char* req, char* addr);
extern char* GetTransferEveryDayNum(char* req, char* addr);
extern char* GetProducts(char* addr, char* req);
extern char* CheckinToken(char* req, char* addr);
extern void InitLedisDb(char* dir);
extern char* AddErrLog(long long int addTime, long long int ver, char* project, char* file, char* funcName, char* user, char* errLog, char* other);
extern char* GetErrLog(void);
extern char* DelErrLog(long long int min, long long int max);
extern char* UnzipErrLog(char* str);
extern void Ping(long long int port, char* str, long int waitNum);
extern char* SavePriInfo(char* str);
extern char* GetPriInfo(char* str);
extern char* DelPriInfo(void);
extern char* GetGroupMemberList(char* str);
extern char* RecoveryMsgByFileContent(char* str);
extern char* EncryptContent(char* key, char* content);
extern char* DecryptContent(char* key, char* content);
extern char* AddImCommonData(char* key, char* value, char* dataType, long int version);
extern char* DelImCommonData(char* key, long int version);
extern char* GetImCommonData(char* key);
extern void NoticeConfig(long long int port, char* data);
extern char* GetConnStatus(void);
extern void OssIsExit(long long int port, char* param);
extern void ExitAccount(void);
extern void SetTestFlag(void);
extern void MessageResp(char* key);
extern void UpdateUserInfoV2(long long int port, uint8_t* content, long int len);
extern void QueryUser(long long int port, uint8_t* content, long int len);
extern void SingleChat(long long int port, uint8_t* content, long int len);
extern void SingleDelByid(long long int port, uint8_t* content, long int len);
extern void SingleDelAll(long long int port, uint8_t* content, long int len);
extern void GroupChat(long long int port, uint8_t* content, long int len);
extern void GroupDelByid(long long int port, uint8_t* content, long int len);
extern void GroupDelAll(long long int port, uint8_t* content, long int len);
extern void SingleDelSection(long long int port, uint8_t* content, long int len);
extern void SingleSend(long long int port, uint8_t* content, long int len);
extern void SingleRead(long long int port, uint8_t* content, long int len);
extern void SingleWithdraw(long long int port, uint8_t* content, long int len);
extern void GetSingleChatMsg(long long int port, uint8_t* content, long int len);
extern void AddContact(long long int port, uint8_t* content, long int len);
extern void BlockContact(long long int port, uint8_t* content, long int len);
extern void RemoveBlockContact(long long int port, uint8_t* content, long int len);
extern void DeleteContact(long long int port, uint8_t* content, long int len);
extern void RemarkContact(long long int port, uint8_t* content, long int len);
extern void DisturbContact(long long int port, uint8_t* content, long int len);
extern void RequestAddContact(long long int port, uint8_t* content, long int len);
extern void QueryContactInfo(long long int port, uint8_t* content, long int len);
extern void ReplyRequestAddContact(long long int port, uint8_t* content, long int len);
extern void HandleRequestAddContact(long long int port, uint8_t* content, long int len);
extern void UpdatePinneMesList(long long int port, uint8_t* content, long int len);
extern void UpdateContactConf(long long int port, uint8_t* content, long int len);
extern void AddDevice(long long int port, uint8_t* content, long int len);
extern void UpdateDevice(long long int port, uint8_t* content, long int len);
extern void DeleteDevice(long long int port, uint8_t* content, long int len);
extern void DeviceInfo(long long int port, uint8_t* content, long int len);
extern void OutLineOtherDev(long long int port, uint8_t* content, long int len);
extern void UpdateNoticeVoiceConfig(long long int port, uint8_t* content, long int len);
extern void CreateGroup(long long int port, uint8_t* content, long int len);
extern void UpdateGroupName(long long int port, uint8_t* content, long int len);
extern void UpdateGroupHeadUrl(long long int port, uint8_t* content, long int len);
extern void UpdateGroupIntroduction(long long int port, uint8_t* content, long int len);
extern void AddGroupMember(long long int port, uint8_t* content, long int len);
extern void RemoveGroupMember(long long int port, uint8_t* content, long int len);
extern void UpdateGroupMemberName(long long int port, uint8_t* content, long int len);
extern void DissolveGroup(long long int port, uint8_t* content, long int len);
extern void QueryGroup(long long int port, uint8_t* content, long int len);
extern void ApplyGroup(long long int port, uint8_t* content, long int len);
extern void UpdateGroupMemberRole(long long int port, uint8_t* content, long int len);
extern void UpdateGroupConf(long long int port, uint8_t* content, long int len);
extern void GroupTransfer(long long int port, uint8_t* content, long int len);
extern void ExitGroup(long long int port, uint8_t* content, long int len);
extern void UpdateGroupPinneMesList(long long int port, uint8_t* content, long int len);
extern void GroupDelSection(long long int port, uint8_t* content, long int len);
extern void GroupWithdraw(long long int port, uint8_t* content, long int len);
extern void GetGroupChatMsg(long long int port, uint8_t* content, long int len);
extern void P2pMsgData(long long int port, uint8_t* content, long int len);
extern char* GetSingleOfflineMsgBody(uint8_t* content, long int len);
extern char* GetGroupOfflineMsgBody(uint8_t* content, long int len);
extern void AddFavoriteContent(long long int port, uint8_t* content, long int len);
extern void UpdateFavoriteContent(long long int port, uint8_t* content, long int len);
extern void DelFavoriteContent(long long int port, uint8_t* content, long int len);
extern void AddFavoriteFolder(long long int port, uint8_t* content, long int len);
extern void DelFavoriteFolder(long long int port, uint8_t* content, long int len);
extern void UpdateFavoriteFolder(long long int port, uint8_t* content, long int len);
extern void GetFavoriteFolders(long long int port, uint8_t* content, long int len);
extern void GetFavoriteAllFolders(long long int port, uint8_t* content, long int len);
extern void CreateSecretRooms(long long int port, uint8_t* content, long int len);
extern void UpdateSecretRoomPwd(long long int port, uint8_t* content, long int len);
extern void UpdateSecretRoomName(long long int port, uint8_t* content, long int len);
extern void DelSecretRoom(long long int port, uint8_t* content, long int len);
extern void SetValidityPeriod(long long int port, uint8_t* content, long int len);
extern void AddContactToSecRoom(long long int port, uint8_t* content, long int len);
extern void DelContactOutSecRoom(long long int port, uint8_t* content, long int len);
extern char* RunCloudStoreP2p(char* ip, char* netId, char* confStr, long long int port);
extern char* CheckCloudP2p(void);
extern char* GetStorageConf(void);
extern char* SetCloudProxy(char* ip);
extern void CloudStartRpc(void);
extern char* UploadFile(char* path, char* extend, char* thumb, char* password);
extern char* UploadFileByPlatform(char* path, char* extend, char* thumb, char* password, char* platform);
extern char* UploadFileByPlatformV2(char* path, char* extend, char* thumb, char* password, char* folderID, char* videoResolution, int platform);
extern void UploadFileTask(char* path, char* extend, char* thumb, char* pwd, char* taskID);
extern void UploadFileTaskByPlatform(char* path, char* extend, char* thumb, char* pwd, char* taskID, char* platform);
extern void UploadFileTaskByPlatformV2(char* path, char* extend, char* thumb, char* pwd, char* taskID, char* folderID, char* videoResolution, int platform);
extern char* UpdateFileName(char* hash, char* name);
extern char* AsyncUploadSinFile(char* content);
extern char* AsyncGetUploadProcess(char* content);
extern char* DownloadFile(char* hash, char* rePath, char* taskID, char* absPath, char* pwd, long long int port);
extern void DownloadFileTask(char* hash, char* rePath, char* taskID, char* absPath, char* pwd);
extern char* DelUploadFile(char* hash);
extern char* GetUploadProgress(char* hash);
extern char* GetDownloadProgress(char* taskID);
extern void GetDownloadProgress2(char* taskID);
extern char* GetFileList(long long int page, long long int limit, char* category);
extern char* GetAllFileDetail(void);
extern char* GetFileInfo(char* hash, long long int port);
extern char* GetUploadStatus(char* hash);
extern char* AsyncGetUploadStatus(char* content);
extern char* AsyncGetUploadStatusWithPwd(char* content);
extern char* SetKeyValue(char* key, char* value, long long int port);
extern char* AsyncSetKeyValue(char* content);
extern char* FileCollection(char* fileHash, char* oldPwd, char* newPwd);
extern char* GetFileCollectionInfo(char* fileHash, char* oldPwd, char* newPwd);
extern char* GetKeyValue(char* key, long long int port);
extern char* AsyncGetKeyValue(char* content);
extern char* DeleteKeyValue(char* key);
extern char* AsyncDeleteKeyValue(char* content);
extern char* GetValues(char* category);
extern char* GetValuesNotAddPerm(char* category);
extern char* DeleteValue(char* category, char* key);
extern char* AsyncDeleteValue(char* content);
extern char* SetKeyValueByCategory(char* category, char* key, char* value);
extern char* AsyncSetKeyValueByCategory(char* content);
extern char* GetKeyValueByCategory(char* category, char* key, long long int port);
extern char* AsyncGetKeyValueByCategory(char* content);
extern char* GetValueNotAddPermissions(char* category, char* key);
extern char* AsyncGetValueNotAddPermissions(char* content);
extern char* KeyValueList(void);
extern char* KeyValueCount(void);
extern char* GetAllUploadProgress(void);
extern char* GetAllUploadProgressByPlatform(char* platform);
extern void GetAllUploadProgressTask(char* taskID);
extern char* AsyncGetAllUploadProgress(char* content);
extern char* DownloadFileList(void);
extern char* AsyncDownloadFileList(char* content);
extern void GetAllDownloadProcessTask(char* taskID);
extern char* UpdateDownloadDir(char* path);
extern char* GetDownloadDir(void);
extern char* AddFileDir(char* category, char* dir);
extern char* MoveFile(char* oldCategory, char* newCategory, char* key);
extern char* DelFile(char* category, char* hash);
extern char* RenameFile(char* category, char* name, char* hash, long long int port);
extern char* QueryFolderDetail(char* category);
extern char* CollectFile(char* name, char* hash, char* t, char* source, long long int size);
extern char* GetFileListOfCollection(void);
extern char* DelCollectedFile(char* hash);
extern char* StopDownloadFile(char* taskID);
extern char* DelProcess(char* hash);
extern char* ReUpload(char* hash);
extern char* StartUpload(char* hash);
extern char* StopUpload(char* hash);
extern char* GetSpaceInfo(void);
extern char* BatchFileSpace(char* path, long long int num);
extern char* AddFileSpace(char* path);
extern char* BatchDelFileSpace(char* nums);
extern char* DelFileSpace(long long int id);
extern char* DataBySearch(void);
extern char* BatchDownload(char* hashs, char* category, char* path);
extern char* DownloadImgByUrl(char* content);
extern char* SetDownloadFileNum(int num);
extern char* DownloadImgByUrlProcess(char* content);
extern char* CreateThumbImage(char* path);
extern char* GetFindThumbnailByHash(char* content);
extern char* GetThumbnailByHash(char* fileHash, char* pwd);
extern char* IP2Location(char* ip);
extern char* DeleteDownloadRecord(char* taskID);
extern char* DeleteDownloadFile(char* hash);
extern char* BatchDelProcess(char* hash);
extern char* DelAllProcess(void);
extern char* DepositSpaceOfflineSign(char* param);
extern char* DepositSpaceOfflineSignV1(char* param);
extern char* ReleaseDepositSpaceOfflineSign(char* param);
extern char* ReleaseDepositSpaceOfflineSignV1(char* param);
extern char* DepositEthOfflineSign(char* param);
extern char* PayoutsOfflineSign(char* param);
extern char* WithRawOfflineSign(char* param);
extern char* UnfrozenOfflineSign(char* param);
extern char* GetUserSpace(void);
extern char* GetUserSpaceV2(long long int port);
extern char* CollectAdd(char* param);
extern char* CollectDel(char* param);
extern char* CollectList(char* param);
extern char* CollectByScore(char* param);
extern char* GetFileUploadMaxSize(void);
extern void CancelCloudTask(char* taskID);
extern void ExitProcess(void);
extern GoUint8 CheckCloudReady(void);
extern char* GetUserSign(char* fileHash);
extern char* SwapCoin(long long int index, long long int gas, long long int gaslimit, char* token, char* amount, char* code);
extern char* SwapEthCoin(long long int index, long long int gas, long long int gaslimit, char* code, char* amount);
extern char* SendCoin(long long int index, long long int gas, long long int gaslimit, char* token, char* code, char* amount, char* iAddress);
extern char* SendEthCoin(long long int index, long long int gas, long long int gaslimit, char* code, char* amount, char* iAddress);
extern char* AfterSendCoin(long long int index, long long int gas, long long int gaslimit, char* iAddress, char* amount);
extern char* UnfrozenCoin(long long int index, long long int gas, long long int gaslimit);
extern char* DepositCoin(long long int index, long long int gas, long long int gaslimit);
extern char* UnDepositCoin(long long int index, long long int gas, long long int gaslimit);
extern char* ApproveCoin(long long int index, long long int gas, long long int gaslimit, char* amount, char* contractAddress);
extern char* TransferCoin(long long int index, long long int gas, long long int gaslimit, char* amount, char* to, char* contractAddress);
extern char* Allowance(long long int index, long long int gas, long long int gaslimit, char* contractAddress);
extern char* AllowanceV1(char* address, char* contractAddress);
extern char* CheckCode(long long int index, long long int gas, long long int gaslimit, char* code);
extern char* SuggestGasCoin(long long int index, char* method, char* data);
extern char* MockSuggestGasCoin(long long int index, char* method, char* data);
extern char* DepositMinCoin(void);
extern char* ApproveGas(void);
extern char* UnDepositTimeCoin(void);
extern char* UpdateWalletPwd(char* pwd);
extern char* GetFrozenBalance(char* address);
extern char* GetUnFrozenBalance(char* address);
extern char* SetValueRemoteCallData(char* category, char* key, char* value);
extern char* DeleteValueRemoteCallData(char* category, char* key);
extern char* GetValueRemoteCallData(char* category, char* key);
extern char* GetValuesRemoteCallData(char* category, long long int page, long long int limit);
extern char* ZAddRemoteCallData(char* category, char* member, char* value, long long int score);
extern char* ZCardRemoteCallData(char* category);
extern char* ZClearRemoteCallData(char* category);
extern char* ZCountRemoteCallData(char* category);
extern char* ZRangeRemoteCallData(char* category, long long int start, long long int stop);
extern char* ZRangeByScoreRemoteCallData(char* category, long long int min, long long int max, long long int offset, long long int count);
extern char* ZRemRemoteCallData(char* category, char* member);
extern char* ZScanRemoteCallData(char* category);
extern char* ZScoreRemoteCallData(char* category, char* member);
extern char* ZGetRemoteCallData(char* category, char* member);
extern char* CheckFilePwd(char* hash, char* pwd, long long int port);
extern char* CheckFileOwner(char* hash);
extern char* FileCollectionV1(char* hash, char* filePwd, char* userPwd, short platform, char* describe, long long int port);
extern char* CollectionText(char* hash, short platform, char* describe);
extern char* GetTmpUploadFileInfo(void);
extern char* GetUploadFileInfo(short platform, long long int port);
extern char* IMBackupDeleteFile(char* unique);
extern char* DelUploadFileV1(char* hash, char* unique, short platform, long long int port);
extern char* GetDelFileSign(char* hash, char* unique, short platform);
extern char* DelUploadFiles(char* data);
extern char* AddDownloadProcessHash(char* hash);
extern char* DelDownloadProcessHash(char* hash);
extern char* AddUploadProcessHash(char* hash);
extern char* DelUploadProcessHash(char* hash);
extern char* SetUploadLimit(char* eventData);
extern char* IMUploadSize(long long int size);
extern char* CloudUploadSize(long long int size);
extern char* AsyncResetFilePassword(char* content);
extern char* ResetFilePassword(char* hash, char* pwd, long long int port);
extern char* GetUploadSpeed(void);
extern char* GetUploadSpeedByHash(char* taskId);
extern char* GetUploadStatusWithPwd(char* hash, char* pwd);
extern char* GetValue(char* category, char* key);
extern char* SetValue(char* category, char* key, char* value);
extern char* GenSharingLink(char* content, long long int port);
extern char* GetSharedInfo(char* link, long long int port);
extern char* DelSharedInfo(char* link);
extern char* UpdateSharedInfo(char* link, char* content);
extern char* GetAllShared(void);
extern char* ClearShared(void);
extern char* HashSharing(char* content, long long int port);
extern char* DelHashSharedInfo(char* link);
extern char* GetAllHashShared(void);
extern void SetKeyValueByCloudChannel(char* key, char* value, char* taskId);
extern void GetKeyValueByCloudChannel(char* key, char* taskId);
extern void DeleteKeyValueByCloudChannel(char* key, char* taskId);
extern void GetValueNotAddPermissionsByCloudChannel(char* category, char* key, char* taskId);
extern void GetValueByCloudChannel(char* category, char* key, char* taskId);
extern void DeleteValueByCloudChannel(char* category, char* key, char* taskId);
extern void SetValueByCloudChannel(char* category, char* key, char* value, char* taskId);
extern void ResetFilePasswordByCloudChannel(char* hash, char* pwd, char* taskId);
extern void GetUploadStatusWithPwdByCloudChannel(char* hash, char* pwd, char* taskId);
extern void DelUploadFileV1ByCloudChannel(char* hash, char* unique, short platform, char* taskId);
extern void GetUploadFileInfoByCloudChannel(short platform, char* taskId);
extern void FileCollectionV1ByCloudChannel(char* hash, char* filePwd, char* userPwd, short platform, char* describe, char* taskId);
extern void CollectionTextByCloudChannel(char* hash, short platform, char* describe, char* taskId);
extern void UploadSinFileByCloudChannel(char* path, char* thumb, short isEncrypt, short isOrigin, short quality, char* taskId);
extern void GetThumbnailByCloudChannel(char* hash, char* password, char* absPath, char* taskId);
extern void GenSharingLinkByCloudChannel(char* content, char* taskId);
extern void GetSharedInfoByCloudChannel(char* link, char* taskId);
extern void DelSharedInfoByCloudChannel(char* link, char* taskId);
extern void UpdateSharedInfoByCloudChannel(char* link, char* content, char* taskId);
extern void GetAllSharedByCloudChannel(char* taskId);
extern void ClearSharedByCloudChannel(char* taskId);
extern void HashSharingByCloudChannel(char* content, char* taskId);
extern void DelHashSharedInfoByCloudChannel(char* link, char* taskId);
extern void GetAllHashSharedByCloudChannel(char* taskId);
extern char* GetUploadFilesInfoV2(char** paths, int count);
extern void DecodeDownloadFile(long long int port, char* domain, char* fileHash, char* fPath, char* outDir, char* uPwd);
extern void InitHttpUploadWithCallBack(long long int port, char* domain, char* thumbPath, char* fPath, char* outDir, short isEncrypt, short platform, char* callBackUrl);
extern void UploadFileTaskByPlatformV3(char* path, char* extend, char* thumb, char* pwd, char* taskID, short platform, char* callback);
extern void InitHttpUploadWithCallBackV1(long long int port, char* domain, char* thumbPath, char* fPath, char* outDir, char* pwd, short platform, char* callBackUrl, char* extend);
extern void HttAddFileOwner(long long int port, char* domain, char* fileHash, char* filePwd, char* userPwd, short platform);
extern void HttDelFile(long long int port, char* domain, char* fileHash, char* unique, short platform);
extern void HttDelFileBySign(long long int port, char* domain, char* sign);
extern char* GetFileDefaultPassword(char* hash);
extern void InitHttpSocialfiUpload(long long int port, char* domain, char* thumbPath, char* fPath, char* outDir, char* pwd, short platform, char* callBackUrl, char* extend, short isTranscode, char* transcodeCallback);
extern char* Offer(char* content);
extern char* Answer(char* content);
extern char* Candidate(char* content);
extern char* CloseCall(char* content);
extern char* GetCallTime(void);
extern char* TurnInfo(char* content);
extern char* GetRealIpByTurn(void);
extern void LkGenerateToken(long long int port, char* param);
extern void UpdateUserState(char* param);
extern void LkDeleteRoom(char* param);
extern void SetLkUrl(char* url);
extern void InitiateCall(long long int port, char* param);
extern void InviteToJoin(char* param);
extern void CancelDialing(void);
extern void LkRoomInfo(long long int port, char* param);
extern void LkRoomParticipants(long long int port, char* param);
extern void LkLeaveRoom(char* param);
extern char* CreateNewRound(char* userImAddr, char* title, char* imgUrl, long int totalTickets, char* rewardSetsJsonData);
extern char* Audit(long int roundId, long int pass, char* noPassReason);
extern char* Betting(long int roundId, char* userImAddr, long int payTickets, long int freeTickets, char* inviter);
extern char* ManagerOwnership(char* newManager);
extern char* WithdrawReward(long int roundId, long int amount);
extern char* WithdrawProjectIncome(long int amount);
extern char* Refund(long int roundId);
extern char* UploadOssFile(long long int port, char* localFilePath, char* dir, long int isForever);
extern char* UploadOssFileV2(long long int port, char* localFilePath, char* dir, long int isForever, char* encryptFileName);
extern void UploadPreSign(long long int port, char* localFilePath, char* dir, long int isForever, char* encryptFileName);
extern void DownloadOssFile(long long int port, char* localFile, char* targetFile);
extern char* ReportData(long long int port, long int messageId, char* data);
extern void DeCryptFile(long long int port, char* filePath, char* targetPath);
extern void UploadBigFileBySign(long long int port, char* filePath, char* targetDir, long long int partSize, int isForever);
extern void MergeUploadFile(long long int port, char* objectname, char* uploadID);

#ifdef __cplusplus
}
#endif
