home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / TeamSpeak / TeamSpeak3-Client-win32-3.0.0.exe / pluginsdk / include / ts3_functions.h < prev   
Encoding:
C/C++ Source or Header  |  2011-08-08  |  22.8 KB  |  265 lines

  1. #ifndef TS3_FUNCTIONS_H
  2. #define TS3_FUNCTIONS_H
  3.  
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7.  
  8. #include "clientlib_publicdefinitions.h"
  9. #include "public_definitions.h"
  10. #include "plugin_definitions.h"
  11.  
  12. /* Functions exported to plugin from main binary */
  13. struct TS3Functions {
  14.     unsigned int (*getClientLibVersion)(char** result);
  15.     unsigned int (*spawnNewServerConnectionHandler)(int port, uint64* result);
  16.     unsigned int (*destroyServerConnectionHandler)(uint64 serverConnectionHandlerID);
  17.  
  18.     /* Error handling */
  19.     unsigned int (*getErrorMessage)(unsigned int errorCode, char** error);
  20.  
  21.     /* Memory management */
  22.     unsigned int (*freeMemory)(void* pointer);
  23.  
  24.     /* Logging */
  25.     unsigned int (*logMessage)(const char* logMessage, enum LogLevel severity, const char* channel, uint64 logID);
  26.  
  27.     /* Sound */
  28.     unsigned int (*getPlaybackDeviceList)(const char* modeID, char**** result);
  29.     unsigned int (*getPlaybackModeList)(char*** result);
  30.     unsigned int (*getCaptureDeviceList)(const char* modeID, char**** result);
  31.     unsigned int (*getCaptureModeList)(char*** result);
  32.     unsigned int (*getDefaultPlaybackDevice)(const char* modeID, char*** result);
  33.     unsigned int (*getDefaultPlayBackMode)(char** result);
  34.     unsigned int (*getDefaultCaptureDevice)(const char* modeID, char*** result);
  35.     unsigned int (*getDefaultCaptureMode)(char** result);
  36.     unsigned int (*openPlaybackDevice)(uint64 serverConnectionHandlerID, const char* modeID, const char* playbackDevice);
  37.     unsigned int (*openCaptureDevice)(uint64 serverConnectionHandlerID, const char* modeID, const char* captureDevice);
  38.     unsigned int (*getCurrentPlaybackDeviceName)(uint64 serverConnectionHandlerID, char** result, int* isDefault);
  39.     unsigned int (*getCurrentPlayBackMode)(uint64 serverConnectionHandlerID, char** result);
  40.     unsigned int (*getCurrentCaptureDeviceName)(uint64 serverConnectionHandlerID, char** result, int* isDefault);
  41.     unsigned int (*getCurrentCaptureMode)(uint64 serverConnectionHandlerID, char** result);
  42.     unsigned int (*initiateGracefulPlaybackShutdown)(uint64 serverConnectionHandlerID);
  43.     unsigned int (*closePlaybackDevice)(uint64 serverConnectionHandlerID);
  44.     unsigned int (*closeCaptureDevice)(uint64 serverConnectionHandlerID);
  45.     unsigned int (*activateCaptureDevice)(uint64 serverConnectionHandlerID);
  46.     unsigned int (*playWaveFileHandle)(uint64 serverConnectionHandlerID, const char* path, int loop, uint64* waveHandle);
  47.     unsigned int (*pauseWaveFileHandle)(uint64 serverConnectionHandlerID, uint64 waveHandle, int pause);
  48.     unsigned int (*closeWaveFileHandle)(uint64 serverConnectionHandlerID, uint64 waveHandle);
  49.     unsigned int (*playWaveFile)(uint64 serverConnectionHandlerID, const char* path);
  50.     unsigned int (*registerCustomDevice)(const char* deviceID, const char* deviceDisplayName, int capFrequency, int capChannels, int playFrequency, int playChannels);
  51.     unsigned int (*unregisterCustomDevice)(const char* deviceID);
  52.     unsigned int (*processCustomCaptureData)(const char* deviceName, const short* buffer, int samples);
  53.     unsigned int (*acquireCustomPlaybackData)(const char* deviceName, short* buffer, int samples);
  54.  
  55.     /* Preprocessor */
  56.     unsigned int (*getPreProcessorInfoValueFloat)(uint64 serverConnectionHandlerID, const char* ident, float* result);
  57.     unsigned int (*getPreProcessorConfigValue)(uint64 serverConnectionHandlerID, const char* ident, char** result);
  58.     unsigned int (*setPreProcessorConfigValue)(uint64 serverConnectionHandlerID, const char* ident, const char* value);
  59.  
  60.     /* Encoder */
  61.     unsigned int (*getEncodeConfigValue)(uint64 serverConnectionHandlerID, const char* ident, char** result);
  62.  
  63.     /* Playback */
  64.     unsigned int (*getPlaybackConfigValueAsFloat)(uint64 serverConnectionHandlerID, const char* ident, float* result);
  65.     unsigned int (*setPlaybackConfigValue)(uint64 serverConnectionHandlerID, const char* ident, const char* value);
  66.  
  67.     /* Recording */
  68.     unsigned int (*startVoiceRecording)(uint64 serverConnectionHandlerID);
  69.     unsigned int (*stopVoiceRecording)(uint64 serverConnectionHandlerID);
  70.  
  71.     /* 3d sound positioning */
  72.     unsigned int (*systemset3DListenerAttributes) (uint64 serverConnectionHandlerID, const TS3_VECTOR* position, const TS3_VECTOR* forward, const TS3_VECTOR* up);
  73.     unsigned int (*set3DWaveAttributes) (uint64 serverConnectionHandlerID, uint64 waveHandle, const TS3_VECTOR* position);
  74.     unsigned int (*systemset3DSettings) (uint64 serverConnectionHandlerID, float distanceFactor, float rolloffScale);
  75.     unsigned int (*channelset3DAttributes) (uint64 serverConnectionHandlerID, anyID clientID, const TS3_VECTOR* position);
  76.  
  77.     /* Interaction with the server */
  78.     unsigned int (*startConnection)(uint64 serverConnectionHandlerID, const char* identity, const char* ip, unsigned int port, const char* nickname,
  79.                                     const char** defaultChannelArray, const char* defaultChannelPassword, const char* serverPassword);
  80.     unsigned int (*stopConnection)(uint64 serverConnectionHandlerID, const char* quitMessage);
  81.     unsigned int (*requestClientMove)(uint64 serverConnectionHandlerID, anyID clientID, uint64 newChannelID, const char* password, const char* returnCode);
  82.     unsigned int (*requestClientVariables)(uint64 serverConnectionHandlerID, anyID clientID, const char* returnCode);
  83.     unsigned int (*requestClientKickFromChannel)(uint64 serverConnectionHandlerID, anyID clientID, const char* kickReason, const char* returnCode);
  84.     unsigned int (*requestClientKickFromServer)(uint64 serverConnectionHandlerID, anyID clientID, const char* kickReason, const char* returnCode);
  85.     unsigned int (*requestChannelDelete)(uint64 serverConnectionHandlerID, uint64 channelID, int force, const char* returnCode);
  86.     unsigned int (*requestChannelMove)(uint64 serverConnectionHandlerID, uint64 channelID, uint64 newChannelParentID, uint64 newChannelOrder, const char* returnCode);
  87.     unsigned int (*requestSendPrivateTextMsg)(uint64 serverConnectionHandlerID, const char* message, anyID targetClientID, const char* returnCode);
  88.     unsigned int (*requestSendChannelTextMsg)(uint64 serverConnectionHandlerID, const char* message, uint64 targetChannelID, const char* returnCode);
  89.     unsigned int (*requestSendServerTextMsg)(uint64 serverConnectionHandlerID, const char* message, const char* returnCode);
  90.     unsigned int (*requestConnectionInfo)(uint64 serverConnectionHandlerID, anyID clientID, const char* returnCode);
  91.     unsigned int (*requestClientSetWhisperList)(uint64 serverConnectionHandlerID, anyID clientID, const uint64* targetChannelIDArray, const anyID* targetClientIDArray, const char* returnCode);
  92.     unsigned int (*requestChannelSubscribe)(uint64 serverConnectionHandlerID, const uint64* channelIDArray, const char* returnCode);
  93.     unsigned int (*requestChannelSubscribeAll)(uint64 serverConnectionHandlerID, const char* returnCode);
  94.     unsigned int (*requestChannelUnsubscribe)(uint64 serverConnectionHandlerID, const uint64* channelIDArray, const char* returnCode);
  95.     unsigned int (*requestChannelUnsubscribeAll)(uint64 serverConnectionHandlerID, const char* returnCode);
  96.     unsigned int (*requestChannelDescription)(uint64 serverConnectionHandlerID, uint64 channelID, const char* returnCode);
  97.     unsigned int (*requestMuteClients)(uint64 serverConnectionHandlerID, const anyID* clientIDArray, const char* returnCode);
  98.     unsigned int (*requestUnmuteClients)(uint64 serverConnectionHandlerID, const anyID* clientIDArray, const char* returnCode);
  99.     unsigned int (*requestClientPoke)(uint64 serverConnectionHandlerID, anyID clientID, const char* message, const char* returnCode);
  100.     unsigned int (*clientChatClosed)(uint64 serverConnectionHandlerID, const char* clientUniqueIdentifier, anyID clientID, const char* returnCode);
  101.     unsigned int (*clientChatComposing)(uint64 serverConnectionHandlerID, anyID clientID, const char* returnCode);
  102.  
  103.     /* Access clientlib information */
  104.  
  105.     /* Query own client ID */
  106.     unsigned int (*getClientID)(uint64 serverConnectionHandlerID, anyID* result);
  107.  
  108.     /* Client info */
  109.     unsigned int (*getClientSelfVariableAsInt)(uint64 serverConnectionHandlerID, size_t flag, int* result);
  110.     unsigned int (*getClientSelfVariableAsString)(uint64 serverConnectionHandlerID, size_t flag, char** result);
  111.     unsigned int (*setClientSelfVariableAsInt)(uint64 serverConnectionHandlerID, size_t flag, int value);
  112.     unsigned int (*setClientSelfVariableAsString)(uint64 serverConnectionHandlerID, size_t flag, const char* value);
  113.     unsigned int (*flushClientSelfUpdates)(uint64 serverConnectionHandlerID, const char* returnCode);
  114.     unsigned int (*getClientVariableAsInt)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, int* result);
  115.     unsigned int (*getClientVariableAsUInt64)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, uint64* result);
  116.     unsigned int (*getClientVariableAsString)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, char** result);
  117.     unsigned int (*getClientList)(uint64 serverConnectionHandlerID, anyID** result); 
  118.     unsigned int (*getChannelOfClient)(uint64 serverConnectionHandlerID, anyID clientID, uint64* result);
  119.  
  120.     /* Channel info */
  121.     unsigned int (*getChannelVariableAsInt)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, int* result);
  122.     unsigned int (*getChannelVariableAsUInt64)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, uint64* result);
  123.     unsigned int (*getChannelVariableAsString)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, char** result);
  124.     unsigned int (*getChannelIDFromChannelNames)(uint64 serverConnectionHandlerID, char** channelNameArray, uint64* result);
  125.     unsigned int (*setChannelVariableAsInt)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, int value);
  126.     unsigned int (*setChannelVariableAsUInt64)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, uint64 value);
  127.     unsigned int (*setChannelVariableAsString)(uint64 serverConnectionHandlerID, uint64 channelID, size_t flag, const char* value);
  128.     unsigned int (*flushChannelUpdates)(uint64 serverConnectionHandlerID, uint64 channelID);
  129.     unsigned int (*flushChannelCreation)(uint64 serverConnectionHandlerID, uint64 channelParentID);
  130.     unsigned int (*getChannelList)(uint64 serverConnectionHandlerID, uint64** result);
  131.     unsigned int (*getChannelClientList)(uint64 serverConnectionHandlerID, uint64 channelID,  anyID** result);
  132.     unsigned int (*getParentChannelOfChannel)(uint64 serverConnectionHandlerID, uint64 channelID, uint64* result);
  133.  
  134.     /* Server info */
  135.     unsigned int (*getServerConnectionHandlerList)(uint64** result);
  136.     unsigned int (*getServerVariableAsInt)(uint64 serverConnectionHandlerID, size_t flag, int* result);
  137.     unsigned int (*getServerVariableAsUInt64)(uint64 serverConnectionHandlerID, size_t flag, uint64* result);
  138.     unsigned int (*getServerVariableAsString)(uint64 serverConnectionHandlerID, size_t flag, char** result);
  139.     unsigned int (*requestServerVariables)(uint64 serverConnectionHandlerID);
  140.  
  141.     /* Connection info */
  142.     unsigned int (*getConnectionStatus)(uint64 serverConnectionHandlerID, int* result);
  143.     unsigned int (*getConnectionVariableAsUInt64)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, uint64* result);
  144.     unsigned int (*getConnectionVariableAsDouble)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, double* result);
  145.     unsigned int (*getConnectionVariableAsString)(uint64 serverConnectionHandlerID, anyID clientID, size_t flag, char** result);
  146.     unsigned int (*cleanUpConnectionInfo)(uint64 serverConnectionHandlerID, anyID clientID);
  147.  
  148.     /* Client related */
  149.     unsigned int (*requestClientDBIDfromUID)(uint64 serverConnectionHandlerID, const char* clientUniqueIdentifier, const char* returnCode);
  150.     unsigned int (*requestClientNamefromUID)(uint64 serverConnectionHandlerID, const char* clientUniqueIdentifier, const char* returnCode);
  151.     unsigned int (*requestClientNamefromDBID)(uint64 serverConnectionHandlerID, uint64 clientDatabaseID, const char* returnCode);
  152.     unsigned int (*requestClientEditDescription)(uint64 serverConnectionHandlerID, anyID clientID, const char* clientDescription, const char* returnCode);
  153.     unsigned int (*requestClientSetIsTalker)(uint64 serverConnectionHandlerID, anyID clientID, int isTalker, const char* returnCode);
  154.     unsigned int (*requestIsTalker)(uint64 serverConnectionHandlerID, int isTalkerRequest, const char* isTalkerRequestMessage, const char* returnCode);
  155.  
  156.     /* Plugin related */
  157.     unsigned int (*requestSendClientQueryCommand)(uint64 serverConnectionHandlerID, const char* command, const char* returnCode);
  158.  
  159.     /* Filetransfer */
  160.     unsigned int (*getTransferFileName)(anyID transferID, char** result);
  161.     unsigned int (*getTransferFilePath)(anyID transferID, char** result);
  162.     unsigned int (*getTransferFileSize)(anyID transferID, uint64* result);
  163.     unsigned int (*getTransferFileSizeDone)(anyID transferID, uint64* result);
  164.     unsigned int (*isTransferSender)(anyID transferID, int* result);  /* 1 == upload, 0 == download */
  165.     unsigned int (*getTransferStatus)(anyID transferID, int* result);
  166.     unsigned int (*getCurrentTransferSpeed)(anyID transferID, float* result);
  167.     unsigned int (*getAverageTransferSpeed)(anyID transferID, float* result);
  168.     unsigned int (*getTransferRunTime)(anyID transferID, uint64* result);
  169.     unsigned int (*sendFile)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char* file, int overwrite, int resume, const char* sourceDirectory, anyID* result, const char* returnCode);
  170.     unsigned int (*requestFile)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char* file, int overwrite, int resume, const char* destinationDirectory, anyID* result, const char* returnCode);
  171.     unsigned int (*haltTransfer)(uint64 serverConnectionHandlerID, anyID transferID, int deleteUnfinishedFile, const char* returnCode);
  172.     unsigned int (*requestFileList)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char* path, const char* returnCode);
  173.     unsigned int (*requestFileInfo)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char* file, const char* returnCode);
  174.     unsigned int (*requestDeleteFile)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char** file, const char* returnCode);
  175.     unsigned int (*requestCreateDirectory)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPW, const char* directoryPath, const char* returnCode);
  176.     unsigned int (*requestRenameFile)(uint64 serverConnectionHandlerID, uint64 fromChannelID, const char* channelPW, uint64 toChannelID, const char* toChannelPW, const char* oldFile, const char* newFile, const char* returnCode);
  177.  
  178.     /* Offline message management */
  179.     unsigned int (*requestMessageAdd)(uint64 serverConnectionHandlerID, const char* toClientUID, const char* subject, const char* message, const char* returnCode);
  180.     unsigned int (*requestMessageDel)(uint64 serverConnectionHandlerID, uint64 messageID, const char* returnCode);
  181.     unsigned int (*requestMessageGet)(uint64 serverConnectionHandlerID, uint64 messageID, const char* returnCode);
  182.     unsigned int (*requestMessageList)(uint64 serverConnectionHandlerID, const char* returnCode);
  183.     unsigned int (*requestMessageUpdateFlag)(uint64 serverConnectionHandlerID, uint64 messageID, int flag, const char* returnCode);
  184.  
  185.     /* Interacting with the server - confirming passwords */
  186.     unsigned int (*verifyServerPassword)(uint64 serverConnectionHandlerID, const char* serverPassword, const char* returnCode);
  187.     unsigned int (*verifyChannelPassword)(uint64 serverConnectionHandlerID, uint64 channelID, const char* channelPassword, const char* returnCode);
  188.  
  189.     /* Interacting with the server - banning */
  190.     unsigned int (*banclient)(uint64 serverConnectionHandlerID, anyID clientID, uint64 timeInSeconds, const char* banReason, const char* returnCode);
  191.     unsigned int (*banadd)(uint64 serverConnectionHandlerID, const char* ipRegExp, const char* nameRegexp, const char* uniqueIdentity, uint64 timeInSeconds, const char* banReason, const char* returnCode);
  192.     unsigned int (*bandel)(uint64 serverConnectionHandlerID, uint64 banID, const char* returnCode);
  193.     unsigned int (*bandelall)(uint64 serverConnectionHandlerID, const char* returnCode);
  194.     unsigned int (*requestBanList)(uint64 serverConnectionHandlerID, const char* returnCode);
  195.  
  196.     /* Interacting with the server - complain */
  197.     unsigned int (*requestComplainAdd)(uint64 serverConnectionHandlerID, uint64 targetClientDatabaseID, const char* complainReason, const char* returnCode);
  198.     unsigned int (*requestComplainDel)(uint64 serverConnectionHandlerID, uint64 targetClientDatabaseID, uint64 fromClientDatabaseID, const char* returnCode);
  199.     unsigned int (*requestComplainDelAll)(uint64 serverConnectionHandlerID, uint64 targetClientDatabaseID, const char* returnCode);
  200.     unsigned int (*requestComplainList)(uint64 serverConnectionHandlerID, uint64 targetClientDatabaseID, const char* returnCode);
  201.  
  202.     /* Permissions */
  203.     unsigned int (*requestServerGroupList)(uint64 serverConnectionHandlerID, const char* returnCode);
  204.     unsigned int (*requestServerGroupAdd)(uint64 serverConnectionHandlerID, const char* groupName, int groupType, const char* returnCode);
  205.     unsigned int (*requestServerGroupDel)(uint64 serverConnectionHandlerID, uint64 serverGroupID, int force, const char* returnCode);
  206.     unsigned int (*requestServerGroupAddClient)(uint64 serverConnectionHandlerID, uint64 serverGroupID, uint64 clientDatabaseID, const char* returnCode);
  207.     unsigned int (*requestServerGroupDelClient)(uint64 serverConnectionHandlerID, uint64 serverGroupID, uint64 clientDatabaseID, const char* returnCode);
  208.     unsigned int (*requestServerGroupsByClientID)(uint64 serverConnectionHandlerID, uint64 clientDatabaseID, const char* returnCode);
  209.     unsigned int (*requestServerGroupAddPerm)(uint64 serverConnectionHandlerID, uint64 serverGroupID, int continueonerror, const anyID* permissionIDArray, const int* permissionValueArray, const int* permissionNegatedArray, const int* permissionSkipArray, int arraySize, const char* returnCode);
  210.     unsigned int (*requestServerGroupDelPerm)(uint64 serverConnectionHandlerID, uint64 serverGroupID, int continueOnError, const anyID* permissionIDArray, int arraySize, const char* returnCode);
  211.     unsigned int (*requestServerGroupPermList)(uint64 serverConnectionHandlerID, uint64 serverGroupID, const char* returnCode);
  212.     unsigned int (*requestServerGroupClientList)(uint64 serverConnectionHandlerID, uint64 serverGroupID, int withNames, const char* returnCode);
  213.     unsigned int (*requestChannelGroupList)(uint64 serverConnectionHandlerID, const char* returnCode);
  214.     unsigned int (*requestChannelGroupAdd)(uint64 serverConnectionHandlerID, const char* groupName, int groupType, const char* returnCode);
  215.     unsigned int (*requestChannelGroupDel)(uint64 serverConnectionHandlerID, uint64 channelGroupID, int force, const char* returnCode);
  216.     unsigned int (*requestChannelGroupAddPerm)(uint64 serverConnectionHandlerID, uint64 channelGroupID, int continueonerror, const anyID* permissionIDArray, const int* permissionValueArray, int arraySize, const char* returnCode);
  217.     unsigned int (*requestChannelGroupDelPerm)(uint64 serverConnectionHandlerID, uint64 channelGroupID, int continueOnError, const anyID* permissionIDArray, int arraySize, const char* returnCode);
  218.     unsigned int (*requestChannelGroupPermList)(uint64 serverConnectionHandlerID, uint64 channelGroupID, const char* returnCode);
  219.     unsigned int (*requestSetClientChannelGroup)(uint64 serverConnectionHandlerID, const uint64* channelGroupIDArray, const uint64* channelIDArray, const uint64* clientDatabaseIDArray, int arraySize, const char* returnCode);
  220.     unsigned int (*requestChannelAddPerm)(uint64 serverConnectionHandlerID, uint64 channelID, const anyID* permissionIDArray, const int* permissionValueArray, int arraySize, const char* returnCode);
  221.     unsigned int (*requestChannelDelPerm)(uint64 serverConnectionHandlerID, uint64 channelID, const anyID* permissionIDArray, int arraySize, const char* returnCode);
  222.     unsigned int (*requestChannelPermList)(uint64 serverConnectionHandlerID, uint64 channelID, const char* returnCode);
  223.     unsigned int (*requestClientAddPerm)(uint64 serverConnectionHandlerID, uint64 clientDatabaseID, const anyID* permissionIDArray, const int* permissionValueArray, const int* permissionSkipArray, int arraySize, const char* returnCode);
  224.     unsigned int (*requestClientDelPerm)(uint64 serverConnectionHandlerID, uint64 clientDatabaseID, const anyID* permissionIDArray, int arraySize, const char* returnCode);
  225.     unsigned int (*requestClientPermList)(uint64 serverConnectionHandlerID, uint64 clientDatabaseID, const char* returnCode);
  226.     unsigned int (*requestChannelClientAddPerm)(uint64 serverConnectionHandlerID, uint64 channelID, uint64 clientDatabaseID, const anyID* permissionIDArray, const int* permissionValueArray, int arraySize, const char* returnCode);
  227.     unsigned int (*requestChannelClientDelPerm)(uint64 serverConnectionHandlerID, uint64 channelID, uint64 clientDatabaseID, const anyID* permissionIDArray, int arraySize, const char* returnCode);
  228.     unsigned int (*requestChannelClientPermList)(uint64 serverConnectionHandlerID, uint64 channelID, uint64 clientDatabaseID, const char* returnCode);
  229.     unsigned int (*privilegeKeyUse)(uint64 serverConnectionHandler, const char* tokenKey, const char* returnCode);
  230.     unsigned int (*requestPermissionList)(uint64 serverConnectionHandler, const char* returnCode);
  231.     unsigned int (*requestPermissionOverview)(uint64 serverConnectionHandler, uint64 clientDBID, uint64 channelID, const char* returnCode);
  232.  
  233.     /* Helper Functions */
  234.     unsigned int (*clientPropertyStringToFlag)(const char* clientPropertyString, size_t* resultFlag);
  235.     unsigned int (*channelPropertyStringToFlag)(const char* channelPropertyString, size_t* resultFlag);
  236.     unsigned int (*serverPropertyStringToFlag)(const char* serverPropertyString, size_t* resultFlag);
  237.  
  238.     /* Client functions */
  239.     int          (*getAPIVersion)();
  240.     void         (*getAppPath)(char* path, size_t maxLen);
  241.     void         (*getResourcesPath)(char* path, size_t maxLen);
  242.     void         (*getConfigPath)(char* path, size_t maxLen);
  243.     void         (*getPluginPath)(char* path, size_t maxLen);
  244.     uint64       (*getCurrentServerConnectionHandlerID)();
  245.     void         (*printMessage)(uint64 serverConnectionHandlerID, const char* message, enum PluginMessageTarget messageTarget);
  246.     void         (*printMessageToCurrentTab)(const char* message);
  247.     void         (*urlsToBB)(const char* text, char* result, size_t maxLen);
  248.     void         (*sendPluginCommand)(uint64 serverConnectionHandlerID, const char* pluginID, const char* command, int targetMode, const anyID* targetIDs, const char* returnCode);
  249.     void         (*getDirectories)(const char* path, char* result, size_t maxLen);
  250.     unsigned int (*getServerConnectInfo)(uint64 scHandlerID, char* host, unsigned short* port, char* password, size_t maxLen);
  251.     unsigned int (*getChannelConnectInfo)(uint64 scHandlerID, uint64 channelID, char* path, char* password, size_t maxLen);
  252.     void         (*createReturnCode)(const char* pluginID, char* returnCode, size_t maxLen);
  253.     unsigned int (*requestInfoUpdate)(uint64 scHandlerID, enum PluginItemType itemType, uint64 itemID);
  254.     int          (*getServerVersion)(uint64 scHandlerID);
  255.     unsigned int (*isWhispering)(uint64 scHandlerID, anyID clientID, int* result);
  256.     unsigned int (*isReceivingWhisper)(uint64 scHandlerID, anyID clientID, int* result);
  257.     unsigned int (*getAvatar)(uint64 scHandlerID, anyID clientID, char* result, size_t maxLen);
  258. };
  259.  
  260. #ifdef __cplusplus
  261. }
  262. #endif
  263.  
  264. #endif
  265.