summaryrefslogtreecommitdiff
path: root/protocols/Tox/tox
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2014-08-30 11:37:47 +0000
committerAlexander Lantsev <aunsane@gmail.com>2014-08-30 11:37:47 +0000
commitce49c84f3a26f016f9232d2bffdc830d7fd6169f (patch)
treec6bbdab7b5a42f65461a5d495d962c4ff69b9e97 /protocols/Tox/tox
parentbeaf93e92827b7bcc77c9f6b2a0c7097d355151c (diff)
Tox:
- switch to offline when connection is lost - file transfer support - code refactoring - project reordering - version bump git-svn-id: http://svn.miranda-ng.org/main/trunk@10340 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Tox/tox')
-rw-r--r--protocols/Tox/tox/README.md18
-rw-r--r--protocols/Tox/tox/deflibcreator/as.exebin0 -> 792360 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/as64.exebin0 -> 1510620 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/deflibcreator.exebin0 -> 77824 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/dlltool.exebin0 -> 611153 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/dlltool64.exebin0 -> 1023386 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/link.exebin0 -> 733440 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/link.exe.manifest11
-rw-r--r--protocols/Tox/tox/deflibcreator/mspdb80.dllbin0 -> 173056 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/mspdb80.dll.2.manifest11
-rw-r--r--protocols/Tox/tox/deflibcreator/src/build.cmd5
-rw-r--r--protocols/Tox/tox/deflibcreator/src/deflib.manifest8
-rw-r--r--protocols/Tox/tox/deflibcreator/src/deflibcreator.cpp310
-rw-r--r--protocols/Tox/tox/deflibcreator/src/dlc.icobin0 -> 34494 bytes
-rw-r--r--protocols/Tox/tox/deflibcreator/src/resource.rc94
-rw-r--r--protocols/Tox/tox/dll/x64/libtox.dllbin0 -> 3480662 bytes
-rw-r--r--protocols/Tox/tox/dll/x86/libtox.dllbin0 -> 2943841 bytes
-rw-r--r--protocols/Tox/tox/generate_libs.cmd3
-rw-r--r--protocols/Tox/tox/include/tox.h683
-rw-r--r--protocols/Tox/tox/include/toxav.h389
-rw-r--r--protocols/Tox/tox/include/toxdns.h85
-rw-r--r--protocols/Tox/tox/lib/x64/libtox-x64.expbin0 -> 215115 bytes
-rw-r--r--protocols/Tox/tox/lib/x64/libtox-x64.libbin0 -> 353750 bytes
-rw-r--r--protocols/Tox/tox/lib/x64/libtox.def1561
-rw-r--r--protocols/Tox/tox/lib/x86/libtox.def1709
-rw-r--r--protocols/Tox/tox/lib/x86/libtox.expbin0 -> 240874 bytes
-rw-r--r--protocols/Tox/tox/lib/x86/libtox.libbin0 -> 398560 bytes
27 files changed, 4887 insertions, 0 deletions
diff --git a/protocols/Tox/tox/README.md b/protocols/Tox/tox/README.md
new file mode 100644
index 0000000000..0879158997
--- /dev/null
+++ b/protocols/Tox/tox/README.md
@@ -0,0 +1,18 @@
+Prerequisites
+-------------
+
+You will need PowerShell for preparing the `.def` file.
+
+### Tox-Core
+
+Download Tox DLL from [the CI server](https://jenkins.libtoxcore.so/job/toxcore_win32_dll/). Put that DLL into `dll` directory, copy the `include` files.
+
+Now you need to prepare the `.def` file for the DLL. You have to prepare the corresponding `.lib` file for the DLL. To do it, start PowerShell and enter a Visual Studio command environment. Then execute the following script:
+
+ PS> 'EXPORTS' | Out-File .\libtox.def -Encoding ascii; dumpbin.exe /exports .\libtox.dll | % { ($_ -split '\s+')[4] } | Out-File .\libtox.def -Append -Encoding ascii
+
+It prepares the `def` file for the next step - the `lib` tool:
+
+ PS> lib /def:libtox.def /out:libtox.lib /machine:x86
+
+You'll get the `libtox.lib` import library in the current directory. Copy it to `lib` project directory and you're ready!
diff --git a/protocols/Tox/tox/deflibcreator/as.exe b/protocols/Tox/tox/deflibcreator/as.exe
new file mode 100644
index 0000000000..e1b3143100
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/as.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/as64.exe b/protocols/Tox/tox/deflibcreator/as64.exe
new file mode 100644
index 0000000000..4f5095abf8
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/as64.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/deflibcreator.exe b/protocols/Tox/tox/deflibcreator/deflibcreator.exe
new file mode 100644
index 0000000000..5969f5d4c2
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/deflibcreator.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/dlltool.exe b/protocols/Tox/tox/deflibcreator/dlltool.exe
new file mode 100644
index 0000000000..7874bdd13e
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/dlltool.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/dlltool64.exe b/protocols/Tox/tox/deflibcreator/dlltool64.exe
new file mode 100644
index 0000000000..6a41e5228c
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/dlltool64.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/link.exe b/protocols/Tox/tox/deflibcreator/link.exe
new file mode 100644
index 0000000000..5215aecd5d
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/link.exe
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/link.exe.manifest b/protocols/Tox/tox/deflibcreator/link.exe.manifest
new file mode 100644
index 0000000000..2981431665
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/link.exe.manifest
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level='asInvoker' uiAccess='false' />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+<dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.4940" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency>
+</assembly>
diff --git a/protocols/Tox/tox/deflibcreator/mspdb80.dll b/protocols/Tox/tox/deflibcreator/mspdb80.dll
new file mode 100644
index 0000000000..cbe888915c
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/mspdb80.dll
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/mspdb80.dll.2.manifest b/protocols/Tox/tox/deflibcreator/mspdb80.dll.2.manifest
new file mode 100644
index 0000000000..2981431665
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/mspdb80.dll.2.manifest
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level='asInvoker' uiAccess='false' />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+<dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.4940" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency>
+</assembly>
diff --git a/protocols/Tox/tox/deflibcreator/src/build.cmd b/protocols/Tox/tox/deflibcreator/src/build.cmd
new file mode 100644
index 0000000000..abcf258d0a
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/src/build.cmd
@@ -0,0 +1,5 @@
+@echo off
+rc /d "_UNICODE" /d "UNICODE" /fo".\release\resource.res" resource.rc
+cl /EHsc /DUNICODE /D_UNICODE /Ox /Oi /Ot /DWIN32 /DNDEBUG /nologo /GL /TP /GS /Gz /MD deflibcreator.cpp /link /LTCG /release /manifest:no /Machine:x86 .\release\resource.res /out:.\release\deflibcreator.exe
+del deflibcreator.obj
+del .\release\resource.res \ No newline at end of file
diff --git a/protocols/Tox/tox/deflibcreator/src/deflib.manifest b/protocols/Tox/tox/deflibcreator/src/deflib.manifest
new file mode 100644
index 0000000000..414433b643
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/src/deflib.manifest
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.4940' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
+ </dependentAssembly>
+ </dependency>
+</assembly>
diff --git a/protocols/Tox/tox/deflibcreator/src/deflibcreator.cpp b/protocols/Tox/tox/deflibcreator/src/deflibcreator.cpp
new file mode 100644
index 0000000000..6480fda7e3
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/src/deflibcreator.cpp
@@ -0,0 +1,310 @@
+#define WIN32_LEAN_AND_MEAN
+#define _WIN32_WINNT 0x0501
+#include <windows.h>
+#include <dbghelp.h>
+#include <shlwapi.h>
+#include <shellapi.h>
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+#include <cstring>
+#include <fstream>
+#include <sstream>
+#include <iostream>
+
+#pragma comment(lib, "dbghelp.lib")
+#pragma comment(lib, "shlwapi.lib")
+#pragma comment(lib, "shell32.lib")
+
+// ordinals to names
+typedef std::map<DWORD, std::vector<const char*> > ExportMap;
+
+void GetExports(PVOID pMapping, ExportMap& exports, WORD& imageType)
+{
+ ULONG size = 0;
+ PIMAGE_NT_HEADERS pHead = ImageNtHeader(pMapping);
+ PIMAGE_EXPORT_DIRECTORY pDir = static_cast<PIMAGE_EXPORT_DIRECTORY>(ImageDirectoryEntryToData(pMapping, FALSE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size));
+ if(pHead && pDir)
+ {
+ imageType = pHead->FileHeader.Machine;
+ char* base = static_cast<char*>(pMapping);
+ DWORD rvaExportDir = reinterpret_cast<char*>(pDir) - base;
+ PIMAGE_SECTION_HEADER pSec = NULL;
+ PDWORD namesAddr = static_cast<PDWORD>(ImageRvaToVa(pHead, pMapping, pDir->AddressOfNames, &pSec));
+ PWORD ordinalAddr = static_cast<PWORD>(ImageRvaToVa(pHead, pMapping, pDir->AddressOfNameOrdinals, &pSec));
+ DWORD numFuncs = pDir->NumberOfFunctions;
+ DWORD numNames = pDir->NumberOfNames;
+ DWORD baseOrd = pDir->Base;
+
+ std::set<DWORD> ordinals;
+ DWORD lastOrd = baseOrd + numFuncs;
+ for(DWORD i = baseOrd; i < lastOrd; ++i)
+ {
+ ordinals.insert(i);
+ }
+
+ for(DWORD i = 0; i < numNames; ++i)
+ {
+ WORD thisZeroBasedOrd = ordinalAddr[i];
+ DWORD thisBasedOrd = thisZeroBasedOrd + baseOrd;
+ ordinals.erase(thisBasedOrd);
+ LPCSTR name = static_cast<LPCSTR>(ImageRvaToVa(pHead, pMapping, namesAddr[i], &pSec));
+ exports[thisBasedOrd].push_back(name);
+ }
+
+ for(std::set<DWORD>::const_iterator iter = ordinals.begin(), end = ordinals.end();
+ iter != end;
+ ++iter
+ )
+ {
+ exports.insert(std::make_pair(*iter, ExportMap::mapped_type()));
+ }
+ }
+}
+
+PVOID MapFile(HANDLE hFile, DWORD fileMapPerm, DWORD mappedPerms)
+{
+ PVOID base = NULL;
+ HANDLE hMap = CreateFileMappingW(
+ hFile,
+ NULL,
+ fileMapPerm,
+ 0,
+ 0,
+ NULL
+ );
+ if(hMap)
+ {
+ base = MapViewOfFile(hMap, mappedPerms, 0, 0, 0);
+ CloseHandle(hMap);
+ }
+ return base;
+}
+
+PVOID MapFile(const wchar_t* fileName, DWORD filePerms, DWORD fileMapPerm, DWORD mappedPerms)
+{
+ PVOID base = NULL;
+ HANDLE hFile = CreateFileW(
+ fileName,
+ filePerms,
+ FILE_SHARE_READ,
+ NULL,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
+ NULL
+ );
+ if(hFile != INVALID_HANDLE_VALUE)
+ {
+ base = MapFile(hFile, fileMapPerm, mappedPerms);
+ CloseHandle(hFile);
+ }
+ return base;
+}
+
+PVOID MapFileRO(const wchar_t* fileName, BOOL image)
+{
+ return MapFile(fileName, GENERIC_READ, PAGE_READONLY | (image ? SEC_IMAGE : 0), FILE_MAP_READ);
+}
+
+std::wstring GetFileName(const wchar_t* pFilePath)
+{
+ const wchar_t* pAfterSlash = pFilePath, *pSlash = NULL;
+ while((pSlash = wcspbrk(pAfterSlash, L"\\/")) != NULL)
+ {
+ pAfterSlash = pSlash + 1;
+ }
+ const wchar_t* pDot = wcschr(pAfterSlash, L'.');
+ if(pDot != NULL)
+ {
+ return std::wstring(pAfterSlash, pDot);
+ }
+ else return std::wstring(pAfterSlash);
+}
+
+std::wstring MakeWString(const char* string)
+{
+ size_t reqd = mbstowcs(NULL, string, 0);
+ if(reqd != static_cast<size_t>(-1))
+ {
+ std::wstring str(reqd, 0);
+ mbstowcs(&str[0], string, reqd);
+ return str;
+ }
+ return std::wstring(string, string + strlen(string) + 1);
+}
+
+void DoAndWaitForExecution(SHELLEXECUTEINFO& sei)
+{
+ if(!ShellExecuteEx(&sei))
+ {
+ std::wcerr << L"Couldn't execute \"" << sei.lpFile << L'\n';
+ }
+ else
+ {
+ WaitForSingleObject(sei.hProcess, INFINITE);
+ CloseHandle(sei.hProcess);
+ }
+}
+
+void CreateLibs(const std::wstring& defFile, const std::wstring& baseName, const std::wstring& outDir, WORD machineType)
+{
+ std::wstring curDir(1000, 0);
+ curDir.resize(GetModuleFileName(GetModuleHandle(NULL), &curDir[0], curDir.length()));
+ curDir.resize(curDir.find_last_of(L"\\/") + 1);
+ SHELLEXECUTEINFO sei = {sizeof(sei), 0};
+ sei.fMask = SEE_MASK_NOCLOSEPROCESS;
+ sei.hwnd = GetConsoleWindow();
+ sei.lpVerb = L"open";
+ sei.lpDirectory = outDir.c_str();
+
+ // 32-bit libs
+ if(machineType == IMAGE_FILE_MACHINE_I386)
+ {
+ std::wcout << L"Creating 32-bit libs...\n";
+ // dlltool for mingw (x86)
+ std::wcout << L"\tCreating lib" << baseName << L".a...\n";
+ std::wostringstream pstream;
+ pstream << L"-d \"" << defFile << L"\" -l lib" << baseName << L".a";
+
+ std::wstring binary = curDir + L"dlltool.exe";
+ std::wstring parameters = pstream.str();
+
+ sei.lpFile = binary.c_str();
+ sei.lpParameters = parameters.c_str();
+
+ DoAndWaitForExecution(sei);
+
+ pstream.str(L"");
+
+ // link for msvc (x86)
+ std::wcout << L"\tCreating " << baseName << L".lib...\n";
+ pstream << L"/lib /nologo /machine:x86 /def:\"" << defFile << "\" /out:\"" << outDir << baseName << L".lib\"";
+
+ binary = curDir + L"link.exe";
+ parameters = pstream.str();
+ sei.lpFile = binary.c_str();
+ sei.lpParameters = parameters.c_str();
+ DoAndWaitForExecution(sei);
+ }
+ else
+ {
+ std::wcout << L"Creating 64-bit libs...\n";
+ // dlltool for mingw (x64) (my fail if running on 32-bit comp)
+ std::wcout << L"\tlib" << baseName << L"-x64.a...\n";
+
+ std::wstring binary = curDir + L"dlltool64.exe";
+ std::wstring as64Pos = L"\"";
+ as64Pos += (curDir + L"as64.exe\"");
+ std::wostringstream pstream;
+ pstream << L"-d \"" << defFile << L"\" -S " << as64Pos << L" -l lib" << baseName << L"-x64.a";
+
+ std::wstring parameters = pstream.str();
+ sei.lpFile = binary.c_str();
+ sei.lpParameters = parameters.c_str();
+ DoAndWaitForExecution(sei);
+
+ pstream.str(L"");
+
+ // link for msvc (x64)
+ std::wcout << L'\t' << baseName << L"-x64.lib...\n";
+ binary = curDir + L"link.exe";
+ pstream << L"/lib /nologo /machine:x64 /def:\"" << defFile << "\" /out:\"" << outDir << baseName << L"-x64.lib\"";
+ parameters = pstream.str();
+ sei.lpFile = binary.c_str();
+ sei.lpParameters = parameters.c_str();
+ DoAndWaitForExecution(sei);
+ }
+}
+
+BOOL CreateDef(LPCWSTR dllFile, const std::wstring& defFile, WORD& machineType)
+{
+ std::wcout << L"Creating " << defFile << L"...\n";
+ // this is FALSE on purpose. If it's true, some dll's (mainly bcrypt.dll from Vista)
+ // fail to map as an image because of some funkyness with the certificate or
+ // something (STATUS_INVALID_IMAGE_HASH fyi). So this is just easier
+ PVOID pMapping = MapFileRO(dllFile, FALSE);
+ if(pMapping)
+ {
+ ExportMap exports;
+ GetExports(pMapping, exports, machineType);
+ if(!exports.empty())
+ {
+ std::wofstream defFile(defFile.c_str());
+ std::wostringstream expDetails;
+ defFile << L"LIBRARY \"" << GetFileName(dllFile) << L"\"\n\nEXPORTS\n";
+ for(ExportMap::const_iterator iter = exports.begin(), end = exports.end();
+ iter != end;
+ ++iter
+ )
+ {
+ expDetails.str(L"");
+ expDetails.clear();
+ expDetails << L'\t';
+ const ExportMap::mapped_type& names = iter->second;
+ if(!names.empty())
+ {
+ const std::wstring& initialName = MakeWString(*(names.begin()));
+ expDetails << initialName << L"\t@" << iter->first << L'\n';
+ for(ExportMap::mapped_type::const_iterator namesIter = names.begin() + 1, namesEnd = names.end();
+ namesIter != namesEnd;
+ ++namesIter
+ )
+ {
+ expDetails << '\t' << MakeWString(*namesIter) << L'=' << initialName << L'\n';
+ }
+ }
+ // unnamed export
+ else
+ {
+ expDetails << L"Ordinal" << iter->first << L" NONAME\t@" << iter->first << L'\n';
+ }
+ defFile << expDetails.str();
+ }
+ }
+ else
+ {
+ std::wcerr << dllFile << L" has no exports, nothing to do\n";
+ return FALSE;
+ }
+ UnmapViewOfFile(pMapping);
+ }
+ return TRUE;
+}
+
+int __cdecl wmain(int argc, wchar_t** argv)
+{
+ std::wcout << L"DefLibCreator v1.0 - Airesoft.co.uk\n\n";
+ if(argc < 2)
+ {
+ puts("Usage: DefLibCreator dll [outDir]");
+ return 1;
+ }
+ else
+ {
+ std::wstring baseFileName = PathFindFileName(argv[1]);
+ baseFileName.erase(baseFileName.find_last_of('.'));
+ int outDirArg = (argc >= 3) ? 2 : 1;
+ LPWSTR pFilePart = NULL;
+ std::wstring outDir(GetFullPathName(argv[outDirArg], 0, NULL, NULL), 0);
+ outDir.resize(GetFullPathName(argv[outDirArg], outDir.length(), &outDir[0], &pFilePart));
+ // if the explicit output dir wasn't specified, we need to chop the dll filename off the end of outDir
+ if(outDirArg == 1)
+ {
+ outDir.resize(pFilePart - outDir.c_str());
+ }
+ else
+ {
+ CreateDirectory(outDir.c_str(), NULL);
+ }
+ outDir.push_back(L'\\'); // ensure it ends with a slash
+ std::wstring defFile(outDir);
+ defFile += (baseFileName + L".def");
+ WORD machineType = 0;
+ if(CreateDef(argv[1], defFile, machineType))
+ {
+ CreateLibs(defFile, baseFileName, outDir, machineType);
+ }
+ }
+ return 0;
+}
diff --git a/protocols/Tox/tox/deflibcreator/src/dlc.ico b/protocols/Tox/tox/deflibcreator/src/dlc.ico
new file mode 100644
index 0000000000..aa524c729c
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/src/dlc.ico
Binary files differ
diff --git a/protocols/Tox/tox/deflibcreator/src/resource.rc b/protocols/Tox/tox/deflibcreator/src/resource.rc
new file mode 100644
index 0000000000..503ec99a76
--- /dev/null
+++ b/protocols/Tox/tox/deflibcreator/src/resource.rc
@@ -0,0 +1,94 @@
+// Microsoft Visual C++ generated resource script.
+//
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winresrc.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.K.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""winresrc.h""\r\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+END
+
+#endif // APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+1 ICON "dlc.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "080904b0"
+ BEGIN
+ VALUE "CompanyName", "Airesoft"
+ VALUE "FileDescription", "DefLibCreator"
+ VALUE "FileVersion", "1, 0, 0, 0"
+ VALUE "InternalName", "DefLibCreator.exe"
+ VALUE "LegalCopyright", "Copyright (C) Airesoft 2012"
+ VALUE "OriginalFilename", "DefLibCreator.exe"
+ VALUE "ProductName", "DefLibCreator"
+ VALUE "ProductVersion", "1, 0, 0, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x809, 1200
+ END
+END
+
+#endif // English (U.K.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+/// Manifest
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST deflib.manifest \ No newline at end of file
diff --git a/protocols/Tox/tox/dll/x64/libtox.dll b/protocols/Tox/tox/dll/x64/libtox.dll
new file mode 100644
index 0000000000..832ff1d072
--- /dev/null
+++ b/protocols/Tox/tox/dll/x64/libtox.dll
Binary files differ
diff --git a/protocols/Tox/tox/dll/x86/libtox.dll b/protocols/Tox/tox/dll/x86/libtox.dll
new file mode 100644
index 0000000000..f892c75fb7
--- /dev/null
+++ b/protocols/Tox/tox/dll/x86/libtox.dll
Binary files differ
diff --git a/protocols/Tox/tox/generate_libs.cmd b/protocols/Tox/tox/generate_libs.cmd
new file mode 100644
index 0000000000..6111e156e1
--- /dev/null
+++ b/protocols/Tox/tox/generate_libs.cmd
@@ -0,0 +1,3 @@
+deflibcreator\deflibcreator dll\x86\libtox.dll lib\x86\
+
+deflibcreator\deflibcreator dll\x64\libtox.dll lib\x64\
diff --git a/protocols/Tox/tox/include/tox.h b/protocols/Tox/tox/include/tox.h
new file mode 100644
index 0000000000..5810c1289c
--- /dev/null
+++ b/protocols/Tox/tox/include/tox.h
@@ -0,0 +1,683 @@
+/* tox.h
+ *
+ * The Tox public API.
+ *
+ * Copyright (C) 2013 Tox project All Rights Reserved.
+ *
+ * This file is part of Tox.
+ *
+ * Tox is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Tox is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Tox. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef TOX_H
+#define TOX_H
+
+#include <stdint.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define TOX_MAX_NAME_LENGTH 128
+
+/* Maximum length of single messages after which they should be split. */
+#define TOX_MAX_MESSAGE_LENGTH 1368
+#define TOX_MAX_STATUSMESSAGE_LENGTH 1007
+#define TOX_CLIENT_ID_SIZE 32
+
+#define TOX_FRIEND_ADDRESS_SIZE (TOX_CLIENT_ID_SIZE + sizeof(uint32_t) + sizeof(uint16_t))
+
+#define TOX_ENABLE_IPV6_DEFAULT 1
+
+/* Errors for m_addfriend
+ * FAERR - Friend Add Error
+ */
+enum {
+ TOX_FAERR_TOOLONG = -1,
+ TOX_FAERR_NOMESSAGE = -2,
+ TOX_FAERR_OWNKEY = -3,
+ TOX_FAERR_ALREADYSENT = -4,
+ TOX_FAERR_UNKNOWN = -5,
+ TOX_FAERR_BADCHECKSUM = -6,
+ TOX_FAERR_SETNEWNOSPAM = -7,
+ TOX_FAERR_NOMEM = -8
+};
+
+/* USERSTATUS -
+ * Represents userstatuses someone can have.
+ */
+typedef enum {
+ TOX_USERSTATUS_NONE,
+ TOX_USERSTATUS_AWAY,
+ TOX_USERSTATUS_BUSY,
+ TOX_USERSTATUS_INVALID
+}
+TOX_USERSTATUS;
+
+#ifndef __TOX_DEFINED__
+#define __TOX_DEFINED__
+typedef struct Tox Tox;
+#endif
+
+/* NOTE: Strings in Tox are all UTF-8, (This means that there is no terminating NULL character.)
+ *
+ * The exact buffer you send will be received at the other end without modification.
+ *
+ * Do not treat Tox strings as C strings.
+ */
+
+/* return TOX_FRIEND_ADDRESS_SIZE byte address to give to others.
+ * format: [client_id (32 bytes)][nospam number (4 bytes)][checksum (2 bytes)]
+ */
+void tox_get_address(const Tox *tox, uint8_t *address);
+
+/* Add a friend.
+ * Set the data that will be sent along with friend request.
+ * address is the address of the friend (returned by getaddress of the friend you wish to add) it must be TOX_FRIEND_ADDRESS_SIZE bytes. TODO: add checksum.
+ * data is the data and length is the length.
+ *
+ * return the friend number if success.
+ * return TOX_FAERR_TOOLONG if message length is too long.
+ * return TOX_FAERR_NOMESSAGE if no message (message length must be >= 1 byte).
+ * return TOX_FAERR_OWNKEY if user's own key.
+ * return TOX_FAERR_ALREADYSENT if friend request already sent or already a friend.
+ * return TOX_FAERR_UNKNOWN for unknown error.
+ * return TOX_FAERR_BADCHECKSUM if bad checksum in address.
+ * return TOX_FAERR_SETNEWNOSPAM if the friend was already there but the nospam was different.
+ * (the nospam for that friend was set to the new one).
+ * return TOX_FAERR_NOMEM if increasing the friend list size fails.
+ */
+int32_t tox_add_friend(Tox *tox, const uint8_t *address, const uint8_t *data, uint16_t length);
+
+
+/* Add a friend without sending a friendrequest.
+ * return the friend number if success.
+ * return -1 if failure.
+ */
+int32_t tox_add_friend_norequest(Tox *tox, const uint8_t *client_id);
+
+/* return the friend number associated to that client id.
+ return -1 if no such friend */
+int32_t tox_get_friend_number(const Tox *tox, const uint8_t *client_id);
+
+/* Copies the public key associated to that friend id into client_id buffer.
+ * Make sure that client_id is of size CLIENT_ID_SIZE.
+ * return 0 if success.
+ * return -1 if failure.
+ */
+int tox_get_client_id(const Tox *tox, int32_t friendnumber, uint8_t *client_id);
+
+/* Remove a friend.
+ *
+ * return 0 if success.
+ * return -1 if failure.
+ */
+int tox_del_friend(Tox *tox, int32_t friendnumber);
+
+/* Checks friend's connecting status.
+ *
+ * return 1 if friend is connected to us (Online).
+ * return 0 if friend is not connected to us (Offline).
+ * return -1 on failure.
+ */
+int tox_get_friend_connection_status(const Tox *tox, int32_t friendnumber);
+
+/* Checks if there exists a friend with given friendnumber.
+ *
+ * return 1 if friend exists.
+ * return 0 if friend doesn't exist.
+ */
+int tox_friend_exists(const Tox *tox, int32_t friendnumber);
+
+/* Send a text chat message to an online friend.
+ *
+ * return the message id if packet was successfully put into the send queue.
+ * return 0 if it was not.
+ *
+ * maximum length of messages is TOX_MAX_MESSAGE_LENGTH, your client must split larger messages
+ * or else sending them will not work. No the core will not split messages for you because that
+ * requires me to parse UTF-8.
+ *
+ * You will want to retain the return value, it will be passed to your read_receipt callback
+ * if one is received.
+ * m_sendmessage_withid will send a message with the id of your choosing,
+ * however we can generate an id for you by calling plain m_sendmessage.
+ */
+uint32_t tox_send_message(Tox *tox, int32_t friendnumber, const uint8_t *message, uint32_t length);
+uint32_t tox_send_message_withid(Tox *tox, int32_t friendnumber, uint32_t theid, const uint8_t *message,
+ uint32_t length);
+
+/* Send an action to an online friend.
+ *
+ * return the message id if packet was successfully put into the send queue.
+ * return 0 if it was not.
+ *
+ * maximum length of actions is TOX_MAX_MESSAGE_LENGTH, your client must split larger actions
+ * or else sending them will not work. No the core will not split actions for you because that
+ * requires me to parse UTF-8.
+ *
+ * You will want to retain the return value, it will be passed to your read_receipt callback
+ * if one is received.
+ * m_sendaction_withid will send an action message with the id of your choosing,
+ * however we can generate an id for you by calling plain m_sendaction.
+ */
+uint32_t tox_send_action(Tox *tox, int32_t friendnumber, const uint8_t *action, uint32_t length);
+uint32_t tox_send_action_withid(Tox *tox, int32_t friendnumber, uint32_t theid, const uint8_t *action, uint32_t length);
+
+/* Set our nickname.
+ * name must be a string of maximum MAX_NAME_LENGTH length.
+ * length must be at least 1 byte.
+ * length is the length of name with the NULL terminator.
+ *
+ * return 0 if success.
+ * return -1 if failure.
+ */
+int tox_set_name(Tox *tox, const uint8_t *name, uint16_t length);
+
+/*
+ * Get your nickname.
+ * m - The messenger context to use.
+ * name - needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes.
+ *
+ * return length of name.
+ * return 0 on error.
+ */
+uint16_t tox_get_self_name(const Tox *tox, uint8_t *name);
+
+/* Get name of friendnumber and put it in name.
+ * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes.
+ *
+ * return length of name if success.
+ * return -1 if failure.
+ */
+int tox_get_name(const Tox *tox, int32_t friendnumber, uint8_t *name);
+
+/* returns the length of name on success.
+ * returns -1 on failure.
+ */
+int tox_get_name_size(const Tox *tox, int32_t friendnumber);
+int tox_get_self_name_size(const Tox *tox);
+
+/* Set our user status.
+ *
+ * userstatus must be one of TOX_USERSTATUS values.
+ * max length of the status is TOX_MAX_STATUSMESSAGE_LENGTH.
+ *
+ * returns 0 on success.
+ * returns -1 on failure.
+ */
+int tox_set_status_message(Tox *tox, const uint8_t *status, uint16_t length);
+int tox_set_user_status(Tox *tox, uint8_t userstatus);
+
+/* returns the length of status message on success.
+ * returns -1 on failure.
+ */
+int tox_get_status_message_size(const Tox *tox, int32_t friendnumber);
+int tox_get_self_status_message_size(const Tox *tox);
+
+/* Copy friendnumber's status message into buf, truncating if size is over maxlen.
+ * Get the size you need to allocate from m_get_statusmessage_size.
+ * The self variant will copy our own status message.
+ *
+ * returns the length of the copied data on success
+ * retruns -1 on failure.
+ */
+int tox_get_status_message(const Tox *tox, int32_t friendnumber, uint8_t *buf, uint32_t maxlen);
+int tox_get_self_status_message(const Tox *tox, uint8_t *buf, uint32_t maxlen);
+
+/* return one of TOX_USERSTATUS values.
+ * Values unknown to your application should be represented as TOX_USERSTATUS_NONE.
+ * As above, the self variant will return our own TOX_USERSTATUS.
+ * If friendnumber is invalid, this shall return TOX_USERSTATUS_INVALID.
+ */
+uint8_t tox_get_user_status(const Tox *tox, int32_t friendnumber);
+uint8_t tox_get_self_user_status(const Tox *tox);
+
+
+/* returns timestamp of last time friendnumber was seen online, or 0 if never seen.
+ * returns -1 on error.
+ */
+uint64_t tox_get_last_online(const Tox *tox, int32_t friendnumber);
+
+/* Set our typing status for a friend.
+ * You are responsible for turning it on or off.
+ *
+ * returns 0 on success.
+ * returns -1 on failure.
+ */
+int tox_set_user_is_typing(Tox *tox, int32_t friendnumber, uint8_t is_typing);
+
+/* Get the typing status of a friend.
+ *
+ * returns 0 if friend is not typing.
+ * returns 1 if friend is typing.
+ */
+uint8_t tox_get_is_typing(const Tox *tox, int32_t friendnumber);
+
+/* Return the number of friends in the instance m.
+ * You should use this to determine how much memory to allocate
+ * for copy_friendlist. */
+uint32_t tox_count_friendlist(const Tox *tox);
+
+/* Return the number of online friends in the instance m. */
+uint32_t tox_get_num_online_friends(const Tox *tox);
+
+/* Copy a list of valid friend IDs into the array out_list.
+ * If out_list is NULL, returns 0.
+ * Otherwise, returns the number of elements copied.
+ * If the array was too small, the contents
+ * of out_list will be truncated to list_size. */
+uint32_t tox_get_friendlist(const Tox *tox, int32_t *out_list, uint32_t list_size);
+
+/* Set the function that will be executed when a friend request is received.
+ * Function format is function(Tox *tox, uint8_t * public_key, uint8_t * data, uint16_t length, void *userdata)
+ */
+void tox_callback_friend_request(Tox *tox, void (*function)(Tox *tox, const uint8_t *, const uint8_t *, uint16_t,
+ void *), void *userdata);
+
+/* Set the function that will be executed when a message from a friend is received.
+ * Function format is: function(Tox *tox, int32_t friendnumber, uint8_t * message, uint16_t length, void *userdata)
+ */
+void tox_callback_friend_message(Tox *tox, void (*function)(Tox *tox, int32_t, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set the function that will be executed when an action from a friend is received.
+ * Function format is: function(Tox *tox, int32_t friendnumber, uint8_t * action, uint16_t length, void *userdata)
+ */
+void tox_callback_friend_action(Tox *tox, void (*function)(Tox *tox, int32_t, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set the callback for name changes.
+ * function(Tox *tox, int32_t friendnumber, uint8_t *newname, uint16_t length, void *userdata)
+ * You are not responsible for freeing newname
+ */
+void tox_callback_name_change(Tox *tox, void (*function)(Tox *tox, int32_t, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set the callback for status message changes.
+ * function(Tox *tox, int32_t friendnumber, uint8_t *newstatus, uint16_t length, void *userdata)
+ * You are not responsible for freeing newstatus.
+ */
+void tox_callback_status_message(Tox *tox, void (*function)(Tox *tox, int32_t, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set the callback for status type changes.
+ * function(Tox *tox, int32_t friendnumber, uint8_t TOX_USERSTATUS, void *userdata)
+ */
+void tox_callback_user_status(Tox *tox, void (*function)(Tox *tox, int32_t, uint8_t, void *), void *userdata);
+
+/* Set the callback for typing changes.
+ * function (Tox *tox, int32_t friendnumber, uint8_t is_typing, void *userdata)
+ */
+void tox_callback_typing_change(Tox *tox, void (*function)(Tox *tox, int32_t, uint8_t, void *), void *userdata);
+
+/* Set the callback for read receipts.
+ * function(Tox *tox, int32_t friendnumber, uint32_t receipt, void *userdata)
+ *
+ * If you are keeping a record of returns from m_sendmessage;
+ * receipt might be one of those values, meaning the message
+ * has been received on the other side.
+ * Since core doesn't track ids for you, receipt may not correspond to any message.
+ * In that case, you should discard it.
+ */
+void tox_callback_read_receipt(Tox *tox, void (*function)(Tox *tox, int32_t, uint32_t, void *), void *userdata);
+
+/* Set the callback for connection status changes.
+ * function(Tox *tox, int32_t friendnumber, uint8_t status, void *userdata)
+ *
+ * Status:
+ * 0 -- friend went offline after being previously online
+ * 1 -- friend went online
+ *
+ * NOTE: This callback is not called when adding friends, thus the "after
+ * being previously online" part. it's assumed that when adding friends,
+ * their connection status is offline.
+ */
+void tox_callback_connection_status(Tox *tox, void (*function)(Tox *tox, int32_t, uint8_t, void *), void *userdata);
+
+
+/**********ADVANCED FUNCTIONS (If you don't know what they do you can safely ignore them.) ************/
+
+/* Functions to get/set the nospam part of the id.
+ */
+uint32_t tox_get_nospam(const Tox *tox);
+void tox_set_nospam(Tox *tox, uint32_t nospam);
+
+/* Copy the public and secret key from the Tox object.
+ public_key and secret_key must be 32 bytes big.
+ if the pointer is NULL, no data will be copied to it.*/
+void tox_get_keys(Tox *tox, uint8_t *public_key, uint8_t *secret_key);
+
+/**********GROUP CHAT FUNCTIONS: WARNING Group chats will be rewritten so this might change ************/
+
+/* Set the callback for group invites.
+ *
+ * Function(Tox *tox, int friendnumber, uint8_t *group_public_key, void *userdata)
+ */
+void tox_callback_group_invite(Tox *tox, void (*function)(Tox *tox, int32_t, const uint8_t *, void *), void *userdata);
+
+/* Set the callback for group messages.
+ *
+ * Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * message, uint16_t length, void *userdata)
+ */
+void tox_callback_group_message(Tox *tox, void (*function)(Tox *tox, int, int, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set the callback for group actions.
+ *
+ * Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * action, uint16_t length, void *userdata)
+ */
+void tox_callback_group_action(Tox *tox, void (*function)(Tox *tox, int, int, const uint8_t *, uint16_t, void *),
+ void *userdata);
+
+/* Set callback function for peer name list changes.
+ *
+ * It gets called every time the name list changes(new peer/name, deleted peer)
+ * Function(Tox *tox, int groupnumber, int peernumber, TOX_CHAT_CHANGE change, void *userdata)
+ */
+typedef enum {
+ TOX_CHAT_CHANGE_PEER_ADD,
+ TOX_CHAT_CHANGE_PEER_DEL,
+ TOX_CHAT_CHANGE_PEER_NAME,
+} TOX_CHAT_CHANGE;
+
+void tox_callback_group_namelist_change(Tox *tox, void (*function)(Tox *tox, int, int, uint8_t, void *),
+ void *userdata);
+
+/* Creates a new groupchat and puts it in the chats array.
+ *
+ * return group number on success.
+ * return -1 on failure.
+ */
+int tox_add_groupchat(Tox *tox);
+
+/* Delete a groupchat from the chats array.
+ *
+ * return 0 on success.
+ * return -1 if failure.
+ */
+int tox_del_groupchat(Tox *tox, int groupnumber);
+
+/* Copy the name of peernumber who is in groupnumber to name.
+ * name must be at least TOX_MAX_NAME_LENGTH long.
+ *
+ * return length of name if success
+ * return -1 if failure
+ */
+int tox_group_peername(const Tox *tox, int groupnumber, int peernumber, uint8_t *name);
+
+/* invite friendnumber to groupnumber
+ * return 0 on success
+ * return -1 on failure
+ */
+int tox_invite_friend(Tox *tox, int32_t friendnumber, int groupnumber);
+
+/* Join a group (you need to have been invited first.)
+ *
+ * returns group number on success
+ * returns -1 on failure.
+ */
+int tox_join_groupchat(Tox *tox, int32_t friendnumber, const uint8_t *friend_group_public_key);
+
+/* send a group message
+ * return 0 on success
+ * return -1 on failure
+ */
+int tox_group_message_send(Tox *tox, int groupnumber, const uint8_t *message, uint32_t length);
+
+/* send a group action
+ * return 0 on success
+ * return -1 on failure
+ */
+int tox_group_action_send(Tox *tox, int groupnumber, const uint8_t *action, uint32_t length);
+
+/* Return the number of peers in the group chat on success.
+ * return -1 on failure
+ */
+int tox_group_number_peers(const Tox *tox, int groupnumber);
+
+/* List all the peers in the group chat.
+ *
+ * Copies the names of the peers to the name[length][TOX_MAX_NAME_LENGTH] array.
+ *
+ * Copies the lengths of the names to lengths[length]
+ *
+ * returns the number of peers on success.
+ *
+ * return -1 on failure.
+ */
+int tox_group_get_names(const Tox *tox, int groupnumber, uint8_t names[][TOX_MAX_NAME_LENGTH], uint16_t lengths[],
+ uint16_t length);
+
+/* Return the number of chats in the instance m.
+ * You should use this to determine how much memory to allocate
+ * for copy_chatlist. */
+uint32_t tox_count_chatlist(const Tox *tox);
+
+/* Copy a list of valid chat IDs into the array out_list.
+ * If out_list is NULL, returns 0.
+ * Otherwise, returns the number of elements copied.
+ * If the array was too small, the contents
+ * of out_list will be truncated to list_size. */
+uint32_t tox_get_chatlist(const Tox *tox, int *out_list, uint32_t list_size);
+
+
+/****************FILE SENDING FUNCTIONS*****************/
+/* NOTE: This how to will be updated.
+ *
+ * HOW TO SEND FILES CORRECTLY:
+ * 1. Use tox_new_file_sender(...) to create a new file sender.
+ * 2. Wait for the callback set with tox_callback_file_control(...) to be called with receive_send == 1 and control_type == TOX_FILECONTROL_ACCEPT
+ * 3. Send the data with tox_file_send_data(...) with chunk size tox_file_data_size(...)
+ * 4. When sending is done, send a tox_file_send_control(...) with send_receive = 0 and message_id = TOX_FILECONTROL_FINISHED
+ * 5. when the callback set with tox_callback_file_control(...) is called with receive_send == 1 and control_type == TOX_FILECONTROL_FINISHED
+ * the other person has received the file correctly.
+ *
+ * HOW TO RECEIVE FILES CORRECTLY:
+ * 1. wait for the callback set with tox_callback_file_send_request(...)
+ * 2. accept or refuse the connection with tox_file_send_control(...) with send_receive = 1 and message_id = TOX_FILECONTROL_ACCEPT or TOX_FILECONTROL_KILL
+ * 3. save all the data received with the callback set with tox_callback_file_data(...) to a file.
+ * 4. when the callback set with tox_callback_file_control(...) is called with receive_send == 0 and control_type == TOX_FILECONTROL_FINISHED
+ * the file is done transferring.
+ * 5. send a tox_file_send_control(...) with send_receive = 1 and message_id = TOX_FILECONTROL_FINISHED to confirm that we did receive the file.
+ *
+ * tox_file_data_remaining(...) can be used to know how many bytes are left to send/receive.
+ *
+ * If the connection breaks during file sending (The other person goes offline without pausing the sending and then comes back)
+ * the receiver must send a control packet with send_receive == 1 message_id = TOX_FILECONTROL_RESUME_BROKEN and the data being
+ * a uint64_t (in host byte order) containing the number of bytes received.
+ *
+ * If the sender receives this packet, he must send a control packet with send_receive == 0 and control_type == TOX_FILECONTROL_ACCEPT
+ * then he must start sending file data from the position (data , uint64_t in host byte order) received in the TOX_FILECONTROL_RESUME_BROKEN packet.
+ *
+ * To pause a file transfer send a control packet with control_type == TOX_FILECONTROL_PAUSE.
+ * To unpause a file transfer send a control packet with control_type == TOX_FILECONTROL_ACCEPT.
+ *
+ * If you receive a control packet with receive_send == 1 and control_type == TOX_FILECONTROL_PAUSE, you must stop sending filenumber until the other
+ * person sends a control packet with send_receive == 0 and control_type == TOX_FILECONTROL_ACCEPT with the filenumber being a paused filenumber.
+ *
+ * If you receive a control packet with receive_send == 0 and control_type == TOX_FILECONTROL_PAUSE, it means the sender of filenumber has paused the
+ * transfer and will resume it later with a control packet with send_receive == 1 and control_type == TOX_FILECONTROL_ACCEPT for that file number.
+ *
+ * More to come...
+ */
+
+enum {
+ TOX_FILECONTROL_ACCEPT,
+ TOX_FILECONTROL_PAUSE,
+ TOX_FILECONTROL_KILL,
+ TOX_FILECONTROL_FINISHED,
+ TOX_FILECONTROL_RESUME_BROKEN
+};
+/* Set the callback for file send requests.
+ *
+ * Function(Tox *tox, int32_t friendnumber, uint8_t filenumber, uint64_t filesize, uint8_t *filename, uint16_t filename_length, void *userdata)
+ */
+void tox_callback_file_send_request(Tox *tox, void (*function)(Tox *m, int32_t, uint8_t, uint64_t, const uint8_t *,
+ uint16_t, void *), void *userdata);
+
+/* Set the callback for file control requests.
+ *
+ * receive_send is 1 if the message is for a slot on which we are currently sending a file and 0 if the message
+ * is for a slot on which we are receiving the file
+ *
+ * Function(Tox *tox, int32_t friendnumber, uint8_t receive_send, uint8_t filenumber, uint8_t control_type, uint8_t *data, uint16_t length, void *userdata)
+ *
+ */
+void tox_callback_file_control(Tox *tox, void (*function)(Tox *m, int32_t, uint8_t, uint8_t, uint8_t, const uint8_t *,
+ uint16_t, void *), void *userdata);
+
+/* Set the callback for file data.
+ *
+ * Function(Tox *tox, int32_t friendnumber, uint8_t filenumber, uint8_t *data, uint16_t length, void *userdata)
+ *
+ */
+void tox_callback_file_data(Tox *tox, void (*function)(Tox *m, int32_t, uint8_t, const uint8_t *, uint16_t length,
+ void *), void *userdata);
+
+
+/* Send a file send request.
+ * Maximum filename length is 255 bytes.
+ * return file number on success
+ * return -1 on failure
+ */
+int tox_new_file_sender(Tox *tox, int32_t friendnumber, uint64_t filesize, const uint8_t *filename,
+ uint16_t filename_length);
+
+/* Send a file control request.
+ *
+ * send_receive is 0 if we want the control packet to target a file we are currently sending,
+ * 1 if it targets a file we are currently receiving.
+ *
+ * return 0 on success
+ * return -1 on failure
+ */
+int tox_file_send_control(Tox *tox, int32_t friendnumber, uint8_t send_receive, uint8_t filenumber, uint8_t message_id,
+ const uint8_t *data, uint16_t length);
+
+/* Send file data.
+ *
+ * return 0 on success
+ * return -1 on failure
+ */
+int tox_file_send_data(Tox *tox, int32_t friendnumber, uint8_t filenumber, const uint8_t *data, uint16_t length);
+
+/* Returns the recommended/maximum size of the filedata you send with tox_file_send_data()
+ *
+ * return size on success
+ * return -1 on failure (currently will never return -1)
+ */
+int tox_file_data_size(const Tox *tox, int32_t friendnumber);
+
+/* Give the number of bytes left to be sent/received.
+ *
+ * send_receive is 0 if we want the sending files, 1 if we want the receiving.
+ *
+ * return number of bytes remaining to be sent/received on success
+ * return 0 on failure
+ */
+uint64_t tox_file_data_remaining(const Tox *tox, int32_t friendnumber, uint8_t filenumber, uint8_t send_receive);
+
+/***************END OF FILE SENDING FUNCTIONS******************/
+
+/*
+ * Use this function to bootstrap the client.
+ */
+
+/* Resolves address into an IP address. If successful, sends a "get nodes"
+ * request to the given node with ip, port (in host byte order).
+ * and public_key to setup connections
+ *
+ * address can be a hostname or an IP address (IPv4 or IPv6).
+ *
+ * returns 1 if the address could be converted into an IP address
+ * returns 0 otherwise
+ */
+int tox_bootstrap_from_address(Tox *tox, const char *address, uint16_t port, const uint8_t *public_key);
+
+/* return 0 if we are not connected to the DHT.
+ * return 1 if we are.
+ */
+int tox_isconnected(const Tox *tox);
+
+typedef struct {
+ /*
+ * The type of UDP socket created depends on ipv6enabled:
+ * If set to 0 (zero), creates an IPv4 socket which subsequently only allows
+ * IPv4 communication
+ * If set to anything else (default), creates an IPv6 socket which allows both IPv4 AND
+ * IPv6 communication
+ */
+ uint8_t ipv6enabled;
+
+ /* Set to 1 to disable udp support. (default: 0)
+ This will force Tox to use TCP only which may slow things down.
+ Disabling udp support is necessary when using anonymous proxies or Tor.*/
+ uint8_t udp_disabled;
+
+ /* Enable proxy support. (only basic TCP socks5 proxy currently supported.) (default: 0 (disabled))*/
+ uint8_t proxy_enabled;
+ char proxy_address[256]; /* Proxy ip or domain in NULL terminated string format. */
+ uint16_t proxy_port; /* Proxy port: in host byte order. */
+} Tox_Options;
+
+/*
+ * Run this function at startup.
+ *
+ * Options are some options that can be passed to the Tox instance (see above struct).
+ *
+ * If options is NULL, tox_new() will use default settings.
+ *
+ * Initializes a tox structure
+ * return allocated instance of tox on success.
+ * return NULL on failure.
+ */
+Tox *tox_new(Tox_Options *options);
+
+/* Run this before closing shop.
+ * Free all datastructures. */
+void tox_kill(Tox *tox);
+
+/* Return the time in milliseconds before tox_do() should be called again
+ * for optimal performance.
+ *
+ * returns time (in ms) before the next tox_do() needs to be run on success.
+ */
+uint32_t tox_do_interval(Tox *tox);
+
+/* The main loop that needs to be run in intervals of tox_do_interval() ms. */
+void tox_do(Tox *tox);
+
+/* SAVING AND LOADING FUNCTIONS: */
+
+/* return size of messenger data (for saving). */
+uint32_t tox_size(const Tox *tox);
+
+/* Save the messenger in data (must be allocated memory of size Messenger_size()). */
+void tox_save(const Tox *tox, uint8_t *data);
+
+/* Load the messenger from data of size length.
+ *
+ * returns 0 on success
+ * returns -1 on failure
+ */
+int tox_load(Tox *tox, const uint8_t *data, uint32_t length);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/protocols/Tox/tox/include/toxav.h b/protocols/Tox/tox/include/toxav.h
new file mode 100644
index 0000000000..e31c7aad1f
--- /dev/null
+++ b/protocols/Tox/tox/include/toxav.h
@@ -0,0 +1,389 @@
+/** toxav.h
+ *
+ * Copyright (C) 2013 Tox project All Rights Reserved.
+ *
+ * This file is part of Tox.
+ *
+ * Tox is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Tox is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Tox. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#ifndef __TOXAV
+#define __TOXAV
+#include <inttypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* vpx_image_t */
+#include <vpx/vpx_image.h>
+
+typedef void ( *ToxAVCallback ) ( void *agent, int32_t call_idx, void *arg );
+typedef struct _ToxAv ToxAv;
+
+#ifndef __TOX_DEFINED__
+#define __TOX_DEFINED__
+typedef struct Tox Tox;
+#endif
+
+#define RTP_PAYLOAD_SIZE 65535
+
+
+/**
+ * @brief Callbacks ids that handle the call states.
+ */
+typedef enum {
+ /* Requests */
+ av_OnInvite,
+ av_OnStart,
+ av_OnCancel,
+ av_OnReject,
+ av_OnEnd,
+
+ /* Responses */
+ av_OnRinging,
+ av_OnStarting,
+ av_OnEnding,
+
+ /* Protocol */
+ av_OnRequestTimeout,
+ av_OnPeerTimeout,
+ av_OnMediaChange
+} ToxAvCallbackID;
+
+
+/**
+ * @brief Call type identifier.
+ */
+typedef enum {
+ TypeAudio = 192,
+ TypeVideo
+} ToxAvCallType;
+
+
+typedef enum {
+ av_CallNonExistant = -1,
+ av_CallInviting, /* when sending call invite */
+ av_CallStarting, /* when getting call invite */
+ av_CallActive,
+ av_CallHold,
+ av_CallHanged_up
+} ToxAvCallState;
+
+/**
+ * @brief Error indicators.
+ */
+typedef enum {
+ ErrorNone = 0,
+ ErrorInternal = -1, /* Internal error */
+ ErrorAlreadyInCall = -2, /* Already has an active call */
+ ErrorNoCall = -3, /* Trying to perform call action while not in a call */
+ ErrorInvalidState = -4, /* Trying to perform call action while in invalid state*/
+ ErrorNoRtpSession = -5, /* Trying to perform rtp action on invalid session */
+ ErrorAudioPacketLost = -6, /* Indicating packet loss */
+ ErrorStartingAudioRtp = -7, /* Error in toxav_prepare_transmission() */
+ ErrorStartingVideoRtp = -8 , /* Error in toxav_prepare_transmission() */
+ ErrorTerminatingAudioRtp = -9, /* Returned in toxav_kill_transmission() */
+ ErrorTerminatingVideoRtp = -10, /* Returned in toxav_kill_transmission() */
+ ErrorPacketTooLarge = -11, /* Buffer exceeds size while encoding */
+ ErrorInvalidCodecState = -12, /* Codec state not initialized */
+
+} ToxAvError;
+
+
+/**
+ * @brief Locally supported capabilities.
+ */
+typedef enum {
+ AudioEncoding = 1 << 0,
+ AudioDecoding = 1 << 1,
+ VideoEncoding = 1 << 2,
+ VideoDecoding = 1 << 3
+} ToxAvCapabilities;
+
+
+/**
+ * @brief Encoding settings.
+ */
+typedef struct _ToxAvCodecSettings {
+ ToxAvCallType call_type;
+
+ uint32_t video_bitrate; /* In kbits/s */
+ uint16_t max_video_width; /* In px */
+ uint16_t max_video_height; /* In px */
+
+ uint32_t audio_bitrate; /* In bits/s */
+ uint16_t audio_frame_duration; /* In ms */
+ uint32_t audio_sample_rate; /* In Hz */
+ uint32_t audio_channels;
+} ToxAvCSettings;
+
+extern const ToxAvCSettings av_DefaultSettings;
+extern const uint32_t av_jbufdc; /* Jitter buffer default capacity */
+extern const uint32_t av_VADd; /* VAD default treshold */
+
+/**
+ * @brief Start new A/V session. There can only be one session at the time. If you register more
+ * it will result in undefined behaviour.
+ *
+ * @param messenger The messenger handle.
+ * @param userdata The agent handling A/V session (i.e. phone).
+ * @param video_width Width of video frame.
+ * @param video_height Height of video frame.
+ * @return ToxAv*
+ * @retval NULL On error.
+ */
+ToxAv *toxav_new(Tox *messenger, int32_t max_calls);
+
+/**
+ * @brief Remove A/V session.
+ *
+ * @param av Handler.
+ * @return void
+ */
+void toxav_kill(ToxAv *av);
+
+/**
+ * @brief Register callback for call state.
+ *
+ * @param av Handler.
+ * @param callback The callback
+ * @param id One of the ToxAvCallbackID values
+ * @return void
+ */
+void toxav_register_callstate_callback (ToxAv *av, ToxAVCallback callback, ToxAvCallbackID id, void *userdata);
+
+/**
+ * @brief Register callback for recieving audio data
+ *
+ * @param av Handler.
+ * @param callback The callback
+ * @return void
+ */
+void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, int16_t *, int, void *),
+ void *user_data);
+
+/**
+ * @brief Register callback for recieving video data
+ *
+ * @param av Handler.
+ * @param callback The callback
+ * @return void
+ */
+void toxav_register_video_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, vpx_image_t *, void *),
+ void *user_data);
+
+/**
+ * @brief Call user. Use its friend_id.
+ *
+ * @param av Handler.
+ * @param user The user.
+ * @param call_type Call type.
+ * @param ringing_seconds Ringing timeout.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_call(ToxAv *av, int32_t *call_index, int user, const ToxAvCSettings *csettings, int ringing_seconds);
+
+/**
+ * @brief Hangup active call.
+ *
+ * @param av Handler.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_hangup(ToxAv *av, int32_t call_index);
+
+/**
+ * @brief Answer incomming call.
+ *
+ * @param av Handler.
+ * @param call_type Answer with...
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_answer(ToxAv *av, int32_t call_index, const ToxAvCSettings *csettings );
+
+/**
+ * @brief Reject incomming call.
+ *
+ * @param av Handler.
+ * @param reason Optional reason. Set NULL if none.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_reject(ToxAv *av, int32_t call_index, const char *reason);
+
+/**
+ * @brief Cancel outgoing request.
+ *
+ * @param av Handler.
+ * @param reason Optional reason.
+ * @param peer_id peer friend_id
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_cancel(ToxAv *av, int32_t call_index, int peer_id, const char *reason);
+
+/**
+ * @brief Notify peer that we are changing call settings
+ *
+ * @param av Handler.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_change_settings(ToxAv *av, int32_t call_index, const ToxAvCSettings *csettings);
+
+/**
+ * @brief Terminate transmission. Note that transmission will be terminated without informing remote peer.
+ *
+ * @param av Handler.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_stop_call(ToxAv *av, int32_t call_index);
+
+/**
+ * @brief Must be call before any RTP transmission occurs.
+ *
+ * @param av Handler.
+ * @param support_video Is video supported ? 1 : 0
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_prepare_transmission(ToxAv *av, int32_t call_index, uint32_t jbuf_size, uint32_t VAD_treshold,
+ int support_video);
+
+/**
+ * @brief Call this at the end of the transmission.
+ *
+ * @param av Handler.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_kill_transmission(ToxAv *av, int32_t call_index);
+
+/**
+ * @brief Encode and send video packet.
+ *
+ * @param av Handler.
+ * @param frame The encoded frame.
+ * @param frame_size The size of the encoded frame.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_send_video ( ToxAv *av, int32_t call_index, const uint8_t *frame, unsigned int frame_size);
+
+/**
+ * @brief Send audio frame.
+ *
+ * @param av Handler.
+ * @param data The audio data encoded with toxav_prepare_audio_frame().
+ * @param size Its size in number of bytes.
+ * @return int
+ * @retval 0 Success.
+ * @retval ToxAvError On error.
+ */
+int toxav_send_audio ( ToxAv *av, int32_t call_index, const uint8_t *frame, unsigned int size);
+
+/**
+ * @brief Encode video frame
+ *
+ * @param av Handler
+ * @param dest Where to
+ * @param dest_max Max size
+ * @param input What to encode
+ * @return int
+ * @retval ToxAvError On error.
+ * @retval >0 On success
+ */
+int toxav_prepare_video_frame ( ToxAv *av, int32_t call_index, uint8_t *dest, int dest_max, vpx_image_t *input );
+
+/**
+ * @brief Encode audio frame
+ *
+ * @param av Handler
+ * @param dest dest
+ * @param dest_max Max dest size
+ * @param frame The frame
+ * @param frame_size The frame size
+ * @return int
+ * @retval ToxAvError On error.
+ * @retval >0 On success
+ */
+int toxav_prepare_audio_frame ( ToxAv *av, int32_t call_index, uint8_t *dest, int dest_max, const int16_t *frame,
+ int frame_size);
+
+/**
+ * @brief Get peer transmission type. It can either be audio or video.
+ *
+ * @param av Handler.
+ * @param peer The peer
+ * @return int
+ * @retval ToxAvCallType On success.
+ * @retval ToxAvError On error.
+ */
+int toxav_get_peer_csettings ( ToxAv *av, int32_t call_index, int peer, ToxAvCSettings *dest );
+
+/**
+ * @brief Get id of peer participating in conversation
+ *
+ * @param av Handler
+ * @param peer peer index
+ * @return int
+ * @retval ToxAvError No peer id
+ */
+int toxav_get_peer_id ( ToxAv *av, int32_t call_index, int peer );
+
+/**
+ * @brief Get current call state
+ *
+ * @param av Handler
+ * @param call_index What call
+ * @return int
+ * @retval ToxAvCallState State id
+ */
+ToxAvCallState toxav_get_call_state ( ToxAv *av, int32_t call_index );
+/**
+ * @brief Is certain capability supported
+ *
+ * @param av Handler
+ * @return int
+ * @retval 1 Yes.
+ * @retval 0 No.
+ */
+int toxav_capability_supported ( ToxAv *av, int32_t call_index, ToxAvCapabilities capability );
+
+
+Tox *toxav_get_tox(ToxAv *av);
+
+int toxav_has_activity ( ToxAv *av, int32_t call_index, int16_t *PCM, uint16_t frame_size, float ref_energy );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TOXAV */
diff --git a/protocols/Tox/tox/include/toxdns.h b/protocols/Tox/tox/include/toxdns.h
new file mode 100644
index 0000000000..a0cc323b43
--- /dev/null
+++ b/protocols/Tox/tox/include/toxdns.h
@@ -0,0 +1,85 @@
+/* toxdns.h
+ *
+ * Tox secure username DNS toxid resolving functions.
+ *
+ * Copyright (C) 2014 Tox project All Rights Reserved.
+ *
+ * This file is part of Tox.
+ *
+ * Tox is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Tox is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Tox. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef TOXDNS_H
+#define TOXDNS_H
+
+#include <stdint.h>
+
+/* How to use this api to make secure tox dns3 requests:
+ *
+ * 1. Get the public key of a server that supports tox dns3.
+ * 2. use tox_dns3_new() to create a new object to create DNS requests
+ * and handle responses for that server.
+ * 3. Use tox_generate_dns3_string() to generate a string based on the name we want to query and a request_id
+ * that must be stored somewhere for when we want to decrypt the response.
+ * 4. take the string and use it for your DNS request like this:
+ * _4haaaaipr1o3mz0bxweox541airydbovqlbju51mb4p0ebxq.rlqdj4kkisbep2ks3fj2nvtmk4daduqiueabmexqva1jc._tox.utox.org
+ * 5. The TXT in the DNS you receive should look like this:
+ * v=tox3;id=2vgcxuycbuctvauik3plsv3d3aadv4zfjfhi3thaizwxinelrvigchv0ah3qjcsx5qhmaksb2lv2hm5cwbtx0yp
+ * 6. Take the id string and use it with tox_decrypt_dns3_TXT() and the request_id corresponding to the
+ * request we stored earlier to get the Tox id returned by the DNS server.
+ */
+
+/* Create a new tox_dns3 object for server with server_public_key of size TOX_CLIENT_ID_SIZE.
+ *
+ * return Null on failure.
+ * return pointer object on success.
+ */
+void *tox_dns3_new(uint8_t *server_public_key);
+
+/* Destroy the tox dns3 object.
+ */
+void tox_dns3_kill(void *dns3_object);
+
+/* Generate a dns3 string of string_max_len used to query the dns server referred to by to
+ * dns3_object for a tox id registered to user with name of name_len.
+ *
+ * the uint32_t pointed by request_id will be set to the request id which must be passed to
+ * tox_decrypt_dns3_TXT() to correctly decode the response.
+ *
+ * This is what the string returned looks like:
+ * 4haaaaipr1o3mz0bxweox541airydbovqlbju51mb4p0ebxq.rlqdj4kkisbep2ks3fj2nvtmk4daduqiueabmexqva1jc
+ *
+ * returns length of string on sucess.
+ * returns -1 on failure.
+ */
+int tox_generate_dns3_string(void *dns3_object, uint8_t *string, uint16_t string_max_len, uint32_t *request_id,
+ uint8_t *name, uint8_t name_len);
+
+/* Decode and decrypt the id_record returned of length id_record_len into
+ * tox_id (needs to be at least TOX_FRIEND_ADDRESS_SIZE).
+ *
+ * request_id is the request id given by tox_generate_dns3_string() when creating the request.
+ *
+ * the id_record passed to this function should look somewhat like this:
+ * 2vgcxuycbuctvauik3plsv3d3aadv4zfjfhi3thaizwxinelrvigchv0ah3qjcsx5qhmaksb2lv2hm5cwbtx0yp
+ *
+ * returns -1 on failure.
+ * returns 0 on success.
+ *
+ */
+int tox_decrypt_dns3_TXT(void *dns3_object, uint8_t *tox_id, uint8_t *id_record, uint32_t id_record_len,
+ uint32_t request_id);
+
+#endif
diff --git a/protocols/Tox/tox/lib/x64/libtox-x64.exp b/protocols/Tox/tox/lib/x64/libtox-x64.exp
new file mode 100644
index 0000000000..d322ce16b6
--- /dev/null
+++ b/protocols/Tox/tox/lib/x64/libtox-x64.exp
Binary files differ
diff --git a/protocols/Tox/tox/lib/x64/libtox-x64.lib b/protocols/Tox/tox/lib/x64/libtox-x64.lib
new file mode 100644
index 0000000000..9be529069c
--- /dev/null
+++ b/protocols/Tox/tox/lib/x64/libtox-x64.lib
Binary files differ
diff --git a/protocols/Tox/tox/lib/x64/libtox.def b/protocols/Tox/tox/lib/x64/libtox.def
new file mode 100644
index 0000000000..f685a57c30
--- /dev/null
+++ b/protocols/Tox/tox/lib/x64/libtox.def
@@ -0,0 +1,1561 @@
+LIBRARY "libtox"
+
+EXPORTS
+ Assoc_add_entry @1
+ Assoc_get_close_entries @2
+ Assoc_self_client_id_changed @3
+ DHT_addfriend @4
+ DHT_bootstrap @5
+ DHT_bootstrap_from_address @6
+ DHT_delfriend @7
+ DHT_get_close_list @8
+ DHT_get_shared_key_recv @9
+ DHT_get_shared_key_sent @10
+ DHT_getfriendip @11
+ DHT_getnodes @12
+ DHT_isconnected @13
+ DHT_load @14
+ DHT_non_lan_connected @15
+ DHT_save @16
+ DHT_size @17
+ LAN_ip @18
+ LANdiscovery_init @19
+ U16_to_bytes @20
+ U32_to_bytes @21
+ VP8_UVSSE @22
+ __pth_gpointer_locked @23
+ __pthread_clock_nanosleep @24
+ __pthread_shallcancel @25
+ __xl_f @26
+ _celt_autocorr @27
+ _celt_lpc @28
+ _pthread_cleanup_dest @29
+ _pthread_get_state @30
+ _pthread_invoke_cancel @31
+ _pthread_key_dest @32
+ _pthread_rel_time_in_ms @33
+ _pthread_set_state @34
+ _pthread_setnobreak @35
+ _pthread_time_in_ms @36
+ _pthread_time_in_ms_from_timespec @37
+ _pthread_tryjoin @38
+ _sodium_alignedcalloc @39
+ accept_crypto_connection @40
+ add_ext_header @41
+ add_groupchat @42
+ add_header @43
+ add_tcp_relay @44
+ add_tcp_relay_peer @45
+ add_to_ping @46
+ addr_parse_ip @47
+ addr_resolve @48
+ addr_resolve_or_parse_ip @49
+ addto_lists @50
+ alg_quant @51
+ alg_unquant @52
+ amp2Log2 @53
+ anti_collapse @54
+ at_startup_ran @55
+ av_DefaultSettings @56
+ av_VADd @57
+ av_jbufdc @58
+ bs_list_add @59
+ bs_list_find @60
+ bs_list_free @61
+ bs_list_init @62
+ bs_list_remove @63
+ bs_list_trim @64
+ build_header @65
+ bytes_to_U16 @66
+ bytes_to_U32 @67
+ callback_file_control @68
+ callback_file_data @69
+ callback_file_sendrequest @70
+ callback_friendrequest @71
+ callback_groupaction @72
+ callback_groupmessage @73
+ callback_namelistchange @74
+ celt_decode_with_ec @75
+ celt_decoder_get_size @76
+ celt_decoder_init @77
+ celt_encode_with_ec @78
+ celt_encoder_get_size @79
+ celt_encoder_init @80
+ celt_fir @81
+ celt_iir @82
+ celt_lcg_rand @83
+ celt_pitch_xcorr_c @84
+ celt_preemphasis @85
+ chat_bootstrap @86
+ chat_bootstrap_nonlazy @87
+ check_control_input @88
+ check_fragments_for_errors @89
+ check_late_message @90
+ closelist_nodes @91
+ clt_mdct_backward @92
+ clt_mdct_forward @93
+ codec_init_session @94
+ codec_terminate_session @95
+ comb_filter @96
+ compute_allocation @97
+ compute_band_energies @98
+ compute_frame_size @99
+ compute_stereo_width @100
+ cond_print @101
+ cond_print_set @102
+ connection_data_handler @103
+ connection_lossy_data_handler @104
+ connection_status_handler @105
+ copy_chatlist @106
+ copy_connected_tcp_relays @107
+ copy_friendlist @108
+ count_chatlist @109
+ count_friendlist @110
+ create_announce_request @111
+ create_data_request @112
+ create_onion_packet @113
+ create_onion_packet_tcp @114
+ create_onion_path @115
+ create_queue @116
+ create_request @117
+ crypto_box @118
+ crypto_box_afternm @119
+ crypto_box_beforenm @120
+ crypto_box_beforenmbytes @121
+ crypto_box_boxzerobytes @122
+ crypto_box_curve25519xsalsa20poly1305 @123
+ crypto_box_curve25519xsalsa20poly1305_afternm @124
+ crypto_box_curve25519xsalsa20poly1305_beforenm @125
+ crypto_box_curve25519xsalsa20poly1305_keypair @126
+ crypto_box_curve25519xsalsa20poly1305_open @127
+ crypto_box_curve25519xsalsa20poly1305_open_afternm @128
+ crypto_box_curve25519xsalsa20poly1305_seed_keypair @129
+ crypto_box_keypair @130
+ crypto_box_macbytes @131
+ crypto_box_noncebytes @132
+ crypto_box_open @133
+ crypto_box_open_afternm @134
+ crypto_box_primitive @135
+ crypto_box_publickeybytes @136
+ crypto_box_secretkeybytes @137
+ crypto_box_seed_keypair @138
+ crypto_box_seedbytes @139
+ crypto_box_zerobytes @140
+ crypto_cmp @141
+ crypto_connection_status @142
+ crypto_core_hsalsa20 @143
+ crypto_core_salsa20 @144
+ crypto_hash_sha256 @145
+ crypto_hash_sha256_final @146
+ crypto_hash_sha256_init @147
+ crypto_hash_sha256_update @148
+ crypto_hash_sha512 @149
+ crypto_hash_sha512_final @150
+ crypto_hash_sha512_init @151
+ crypto_hash_sha512_update @152
+ crypto_kill @153
+ crypto_num_free_sendqueue_slots @154
+ crypto_onetimeauth_pick_best_implementation @155
+ crypto_onetimeauth_poly1305 @156
+ crypto_onetimeauth_poly1305_donna @157
+ crypto_onetimeauth_poly1305_donna_final @158
+ crypto_onetimeauth_poly1305_donna_implementation @159
+ crypto_onetimeauth_poly1305_donna_implementation_name @160
+ crypto_onetimeauth_poly1305_donna_init @161
+ crypto_onetimeauth_poly1305_donna_update @162
+ crypto_onetimeauth_poly1305_donna_verify @163
+ crypto_onetimeauth_poly1305_final @164
+ crypto_onetimeauth_poly1305_implementation_name @165
+ crypto_onetimeauth_poly1305_init @166
+ crypto_onetimeauth_poly1305_set_implementation @167
+ crypto_onetimeauth_poly1305_update @168
+ crypto_onetimeauth_poly1305_verify @169
+ crypto_run_interval @170
+ crypto_scalarmult_curve25519 @171
+ crypto_scalarmult_curve25519_base @172
+ crypto_secretbox_xsalsa20poly1305 @173
+ crypto_secretbox_xsalsa20poly1305_open @174
+ crypto_stream_salsa20 @175
+ crypto_stream_salsa20_keybytes @176
+ crypto_stream_salsa20_noncebytes @177
+ crypto_stream_salsa20_xor @178
+ crypto_stream_salsa20_xor_ic @179
+ crypto_stream_xsalsa20 @180
+ crypto_stream_xsalsa20_xor @181
+ crypto_verify_16 @182
+ crypto_verify_32 @183
+ cryptopacket_registerhandler @184
+ current_time_monotonic @185
+ custom_lossless_packet_registerhandler @186
+ custom_lossy_packet_registerhandler @187
+ decode_pulses @188
+ decrypt_data @189
+ decrypt_data_symmetric @190
+ del_groupchat @191
+ denormalise_bands @192
+ dequeue @193
+ do_Assoc @194
+ do_DHT @195
+ do_TCP_connection @196
+ do_TCP_server @197
+ do_friends @198
+ do_groupchat @199
+ do_hardening @200
+ do_messenger @201
+ do_net_crypto @202
+ do_onion_client @203
+ do_sema_b_wait_intern @204
+ do_to_ping @205
+ downmix_float @206
+ downmix_int @207
+ eMeans @208
+ ec_dec_bit_logp @209
+ ec_dec_bits @210
+ ec_dec_icdf @211
+ ec_dec_init @212
+ ec_dec_uint @213
+ ec_dec_update @214
+ ec_decode @215
+ ec_decode_bin @216
+ ec_enc_bit_logp @217
+ ec_enc_bits @218
+ ec_enc_done @219
+ ec_enc_icdf @220
+ ec_enc_init @221
+ ec_enc_patch_initial_bits @222
+ ec_enc_shrink @223
+ ec_enc_uint @224
+ ec_encode @225
+ ec_encode_bin @226
+ ec_laplace_decode @227
+ ec_laplace_encode @228
+ ec_tell_frac @229
+ encode_pulses @230
+ encode_size @231
+ encrypt_data @232
+ encrypt_data_symmetric @233
+ encrypt_precompute @234
+ energy_VAD @235
+ extract_ext_header @236
+ extract_header @237
+ file_control @238
+ file_data @239
+ file_dataremaining @240
+ file_sendrequest @241
+ format_output @242
+ frame_size_select @243
+ friend_ips @244
+ friendreq_init @245
+ get_close_nodes @246
+ get_connection_dht_key @247
+ get_friendlist @248
+ get_nospam @249
+ get_num_online_friends @250
+ get_shared_key @251
+ getaddress @252
+ getclient_id @253
+ getfriend_id @254
+ getname @255
+ getself_name @256
+ group_action_send @257
+ group_client_names @258
+ group_message_send @259
+ group_names @260
+ group_newpeer @261
+ group_number_peers @262
+ group_numpeers @263
+ group_peername @264
+ group_sendaction @265
+ group_sendmessage @266
+ haar1 @267
+ handle_groupchatpacket @268
+ handle_request @269
+ host_to_net @270
+ hysteresis_decision @271
+ id_closest @272
+ id_copy @273
+ id_equal @274
+ increment_nonce @275
+ increment_nonce_number @276
+ init_audio_decoder @277
+ init_audio_encoder @278
+ init_caps @279
+ init_video_decoder @280
+ init_video_encoder @281
+ invite_friend @282
+ invoke_callback @283
+ ip_copy @284
+ ip_equal @285
+ ip_init @286
+ ip_isset @287
+ ip_ntoa @288
+ ip_pack @289
+ ip_reset @290
+ ip_unpack @291
+ ipport_copy @292
+ ipport_equal @293
+ ipport_isset @294
+ ipport_pack @295
+ ipport_unpack @296
+ is_timeout @297
+ isqrt32 @298
+ join_groupchat @299
+ kill_Assoc @300
+ kill_DHT @301
+ kill_TCP_connection @302
+ kill_TCP_server @303
+ kill_groupchat @304
+ kill_messenger @305
+ kill_net_crypto @306
+ kill_networking @307
+ kill_onion @308
+ kill_onion_announce @309
+ kill_onion_client @310
+ kill_ping @311
+ kill_sock @312
+ load_keys @313
+ load_state @314
+ m_addfriend @315
+ m_addfriend_norequest @316
+ m_callback_action @317
+ m_callback_connectionstatus @318
+ m_callback_connectionstatus_internal_av @319
+ m_callback_friendmessage @320
+ m_callback_friendrequest @321
+ m_callback_group_action @322
+ m_callback_group_invite @323
+ m_callback_group_message @324
+ m_callback_group_namelistchange @325
+ m_callback_msi_packet @326
+ m_callback_namechange @327
+ m_callback_read_receipt @328
+ m_callback_statusmessage @329
+ m_callback_typingchange @330
+ m_callback_userstatus @331
+ m_copy_self_statusmessage @332
+ m_copy_statusmessage @333
+ m_delfriend @334
+ m_friend_exists @335
+ m_get_friend_connectionstatus @336
+ m_get_istyping @337
+ m_get_last_online @338
+ m_get_name_size @339
+ m_get_self_name_size @340
+ m_get_self_statusmessage_size @341
+ m_get_self_userstatus @342
+ m_get_statusmessage_size @343
+ m_get_userstatus @344
+ m_group_peername @345
+ m_msi_packet @346
+ m_sendaction @347
+ m_sendaction_withid @348
+ m_sendmessage @349
+ m_sendmessage_withid @350
+ m_set_sends_receipts @351
+ m_set_statusmessage @352
+ m_set_userstatus @353
+ m_set_usertyping @354
+ messenger_load @355
+ messenger_run_interval @356
+ messenger_save @357
+ messenger_size @358
+ mlp_process @359
+ msg_parse @360
+ msi_answer @361
+ msi_cancel @362
+ msi_change_csettings @363
+ msi_hangup @364
+ msi_init_session @365
+ msi_invite @366
+ msi_msg_get_csettings @367
+ msi_msg_set_callid @368
+ msi_msg_set_csettings @369
+ msi_msg_set_reason @370
+ msi_new_message @371
+ msi_register_callback @372
+ msi_reject @373
+ msi_stopcall @374
+ msi_terminate_session @375
+ mutex_print @376
+ mutex_print_set @377
+ net @378
+ networking_at_startup @379
+ networking_poll @380
+ networking_registerhandler @381
+ new_Assoc @382
+ new_Assoc_default @383
+ new_DHT @384
+ new_TCP_connection @385
+ new_TCP_server @386
+ new_connection_handler @387
+ new_crypto_connection @388
+ new_filesender @389
+ new_groupchat @390
+ new_keys @391
+ new_messenger @392
+ new_net_crypto @393
+ new_networking @394
+ new_nonce @395
+ new_onion @396
+ new_onion_announce @397
+ new_onion_client @398
+ new_ping @399
+ new_symmetric_key @400
+ normalise_bands @401
+ onion_add_path_node @402
+ onion_addfriend @403
+ onion_backup_nodes @404
+ onion_delfriend @405
+ onion_friend_num @406
+ onion_getfriend_DHT_pubkey @407
+ onion_getfriendip @408
+ onion_isconnected @409
+ onion_response_handler @410
+ onion_send_1 @411
+ onion_set_friend_DHT_pubkey @412
+ onion_set_friend_online @413
+ oniondata_registerhandler @414
+ oob_data_handler @415
+ optimize_framesize @416
+ opus_custom_decoder_ctl @417
+ opus_custom_encoder_ctl @418
+ opus_custom_mode_create @419
+ opus_decode @420
+ opus_decode_float @421
+ opus_decode_native @422
+ opus_decoder_create @423
+ opus_decoder_ctl @424
+ opus_decoder_destroy @425
+ opus_decoder_get_nb_samples @426
+ opus_decoder_get_size @427
+ opus_decoder_init @428
+ opus_encode @429
+ opus_encode_float @430
+ opus_encode_native @431
+ opus_encoder_create @432
+ opus_encoder_ctl @433
+ opus_encoder_destroy @434
+ opus_encoder_get_size @435
+ opus_encoder_init @436
+ opus_fft @437
+ opus_get_version_string @438
+ opus_ifft @439
+ opus_multistream_packet_pad @440
+ opus_multistream_packet_unpad @441
+ opus_packet_get_bandwidth @442
+ opus_packet_get_nb_channels @443
+ opus_packet_get_nb_frames @444
+ opus_packet_get_nb_samples @445
+ opus_packet_get_samples_per_frame @446
+ opus_packet_pad @447
+ opus_packet_parse @448
+ opus_packet_parse_impl @449
+ opus_packet_unpad @450
+ opus_pcm_soft_clip @451
+ opus_repacketizer_cat @452
+ opus_repacketizer_create @453
+ opus_repacketizer_destroy @454
+ opus_repacketizer_get_nb_frames @455
+ opus_repacketizer_get_size @456
+ opus_repacketizer_init @457
+ opus_repacketizer_out @458
+ opus_repacketizer_out_range @459
+ opus_repacketizer_out_range_impl @460
+ opus_strerror @461
+ pack_nodes @462
+ parse_recv @463
+ parse_send @464
+ patch_transient_decision @465
+ ping_array_add @466
+ ping_array_check @467
+ ping_array_free_all @468
+ ping_array_init @469
+ pitch_downsample @470
+ pitch_search @471
+ pthread_attr_destroy @472
+ pthread_attr_getdetachstate @473
+ pthread_attr_getinheritsched @474
+ pthread_attr_getscope @475
+ pthread_attr_getstackaddr @476
+ pthread_attr_getstacksize @477
+ pthread_attr_init @478
+ pthread_attr_setdetachstate @479
+ pthread_attr_setinheritsched @480
+ pthread_attr_setscope @481
+ pthread_attr_setstackaddr @482
+ pthread_attr_setstacksize @483
+ pthread_cancel @484
+ pthread_cond_broadcast @485
+ pthread_cond_destroy @486
+ pthread_cond_init @487
+ pthread_cond_signal @488
+ pthread_cond_timedwait @489
+ pthread_cond_timedwait_relative @490
+ pthread_cond_wait @491
+ pthread_condattr_destroy @492
+ pthread_condattr_getclock @493
+ pthread_condattr_getpshared @494
+ pthread_condattr_init @495
+ pthread_condattr_setclock @496
+ pthread_condattr_setpshared @497
+ pthread_create @498
+ pthread_create_wrapper @499
+ pthread_delay_np @500
+ pthread_delay_np_ms @501
+ pthread_detach @502
+ pthread_equal @503
+ pthread_exit @504
+ pthread_get_concurrency @505
+ pthread_getclean @506
+ pthread_getconcurrency @507
+ pthread_getevent @508
+ pthread_gethandle @509
+ pthread_getspecific @510
+ pthread_join @511
+ pthread_key_create @512
+ pthread_key_delete @513
+ pthread_kill @514
+ pthread_mutex_destroy @515
+ pthread_mutex_init @516
+ pthread_mutex_lock @517
+ pthread_mutex_timedlock @518
+ pthread_mutex_trylock @519
+ pthread_mutex_unlock @520
+ pthread_mutexattr_destroy @521
+ pthread_mutexattr_getprioceiling @522
+ pthread_mutexattr_getprotocol @523
+ pthread_mutexattr_getpshared @524
+ pthread_mutexattr_gettype @525
+ pthread_mutexattr_init @526
+ pthread_mutexattr_setprioceiling @527
+ pthread_mutexattr_setprotocol @528
+ pthread_mutexattr_setpshared @529
+ pthread_mutexattr_settype @530
+ pthread_num_processors_np @531
+ pthread_once @532
+ pthread_rwlock_destroy @533
+ pthread_rwlock_init @534
+ pthread_rwlock_rdlock @535
+ pthread_rwlock_timedrdlock @536
+ pthread_rwlock_timedwrlock @537
+ pthread_rwlock_tryrdlock @538
+ pthread_rwlock_trywrlock @539
+ pthread_rwlock_unlock @540
+ pthread_rwlock_wrlock @541
+ pthread_rwlockattr_destroy @542
+ pthread_rwlockattr_getpshared @543
+ pthread_rwlockattr_init @544
+ pthread_rwlockattr_setpshared @545
+ pthread_self @546
+ pthread_set_concurrency @547
+ pthread_set_num_processors_np @548
+ pthread_setcancelstate @549
+ pthread_setcanceltype @550
+ pthread_setconcurrency @551
+ pthread_setspecific @552
+ pthread_spin_destroy @553
+ pthread_spin_init @554
+ pthread_spin_lock @555
+ pthread_spin_trylock @556
+ pthread_spin_unlock @557
+ pthread_testcancel @558
+ pthread_timechange_handler_np @559
+ pthread_tls_init @560
+ public_key_valid @561
+ quant_all_bands @562
+ quant_coarse_energy @563
+ quant_energy_finalise @564
+ quant_fine_energy @565
+ queue @566
+ random_64b @567
+ random_int @568
+ random_node @569
+ random_nodes_path @570
+ random_nonce @571
+ randombytes @572
+ randombytes_buf @573
+ randombytes_close @574
+ randombytes_implementation_name @575
+ randombytes_random @576
+ randombytes_set_implementation @577
+ randombytes_stir @578
+ randombytes_sysrandom @579
+ randombytes_sysrandom_buf @580
+ randombytes_sysrandom_close @581
+ randombytes_sysrandom_implementation @582
+ randombytes_sysrandom_implementation_name @583
+ randombytes_sysrandom_stir @584
+ randombytes_sysrandom_uniform @585
+ randombytes_uniform @586
+ read_TCP_length @587
+ read_TCP_packet @588
+ read_packet_TCP_secure_connection @589
+ realloc_friendlist @590
+ reconfigure_video_encoder_bitrate @591
+ reconfigure_video_encoder_resolution @592
+ recv_tcp_relay_handler @593
+ remove_doubling @594
+ remove_request_received @595
+ renormalise_vector @596
+ resampling_factor @597
+ route_packet @598
+ route_tofriend @599
+ routing_data_handler @600
+ routing_response_handler @601
+ routing_status_handler @602
+ rtp_free_msg @603
+ rtp_handle_packet @604
+ rtp_init_session @605
+ rtp_new_message @606
+ rtp_send_msg @607
+ rtp_terminate_session @608
+ run_analysis @609
+ rwl_print @610
+ rwl_print_set @611
+ save_keys @612
+ send_LANdiscovery @613
+ send_announce_request @614
+ send_custom_lossless_packet @615
+ send_custom_lossy_packet @616
+ send_data @617
+ send_data_request @618
+ send_disconnect_request @619
+ send_friendrequest @620
+ send_lossy_cryptpacket @621
+ send_onion_data @622
+ send_onion_packet @623
+ send_onion_request @624
+ send_onion_response @625
+ send_oob_packet @626
+ send_ping_request @627
+ send_reponse @628
+ send_routing_request @629
+ send_tcp_onion_request @630
+ sendpacket @631
+ set_callback_handle_recv_1 @632
+ set_connection_dht_public_key @633
+ set_direct_ip_port @634
+ set_filter_function @635
+ set_nick @636
+ set_nospam @637
+ set_socket_dualstack @638
+ set_socket_nonblock @639
+ set_socket_nosigpipe @640
+ set_tcp_connection_number @641
+ setfriendname @642
+ setname @643
+ silk_A2NLSF @644
+ silk_A2NLSF_FLP @645
+ silk_CB_lags_stage2 @646
+ silk_CB_lags_stage2_10_ms @647
+ silk_CB_lags_stage3 @648
+ silk_CB_lags_stage3_10_ms @649
+ silk_CNG @650
+ silk_CNG_Reset @651
+ silk_Decode @652
+ silk_Encode @653
+ silk_Get_Decoder_Size @654
+ silk_Get_Encoder_Size @655
+ silk_HP_variable_cutoff @656
+ silk_InitDecoder @657
+ silk_InitEncoder @658
+ silk_LBRR_flags_iCDF_ptr @659
+ silk_LPC_analysis_filter @660
+ silk_LPC_analysis_filter_FLP @661
+ silk_LPC_inverse_pred_gain @662
+ silk_LPC_inverse_pred_gain_FLP @663
+ silk_LP_variable_cutoff @664
+ silk_LSFCosTab_FIX_Q12 @665
+ silk_LTPScales_table_Q14 @666
+ silk_LTP_analysis_filter_FLP @667
+ silk_LTP_gain_BITS_Q5_ptrs @668
+ silk_LTP_gain_iCDF_ptrs @669
+ silk_LTP_gain_middle_avg_RD_Q14 @670
+ silk_LTP_per_index_iCDF @671
+ silk_LTP_scale_ctrl_FLP @672
+ silk_LTP_vq_gain_ptrs_Q7 @673
+ silk_LTP_vq_ptrs_Q7 @674
+ silk_LTP_vq_sizes @675
+ silk_LTPscale_iCDF @676
+ silk_Lag_range_stage3 @677
+ silk_Lag_range_stage3_10_ms @678
+ silk_NLSF2A @679
+ silk_NLSF2A_FLP @680
+ silk_NLSF_CB_NB_MB @681
+ silk_NLSF_CB_WB @682
+ silk_NLSF_EXT_iCDF @683
+ silk_NLSF_VQ @684
+ silk_NLSF_VQ_weights_laroia @685
+ silk_NLSF_decode @686
+ silk_NLSF_del_dec_quant @687
+ silk_NLSF_encode @688
+ silk_NLSF_interpolation_factor_iCDF @689
+ silk_NLSF_stabilize @690
+ silk_NLSF_unpack @691
+ silk_NSQ @692
+ silk_NSQ_del_dec @693
+ silk_NSQ_wrapper_FLP @694
+ silk_PLC @695
+ silk_PLC_Reset @696
+ silk_PLC_glue_frames @697
+ silk_Quantization_Offsets_Q10 @698
+ silk_Resampler_1_2_COEFS @699
+ silk_Resampler_1_3_COEFS @700
+ silk_Resampler_1_4_COEFS @701
+ silk_Resampler_1_6_COEFS @702
+ silk_Resampler_2_3_COEFS @703
+ silk_Resampler_2_3_COEFS_LQ @704
+ silk_Resampler_3_4_COEFS @705
+ silk_SNR_table_Q1 @706
+ silk_TargetRate_table_MB @707
+ silk_TargetRate_table_NB @708
+ silk_TargetRate_table_WB @709
+ silk_Transition_LP_A_Q28 @710
+ silk_Transition_LP_B_Q28 @711
+ silk_VAD_GetSA_Q8 @712
+ silk_VAD_Init @713
+ silk_VQ_WMat_EC @714
+ silk_ana_filt_bank_1 @715
+ silk_apply_sine_window_FLP @716
+ silk_autocorrelation_FLP @717
+ silk_biquad_alt @718
+ silk_burg_modified_FLP @719
+ silk_bwexpander @720
+ silk_bwexpander_32 @721
+ silk_bwexpander_FLP @722
+ silk_control_SNR @723
+ silk_control_audio_bandwidth @724
+ silk_control_encoder @725
+ silk_corrMatrix_FLP @726
+ silk_corrVector_FLP @727
+ silk_decode_core @728
+ silk_decode_frame @729
+ silk_decode_indices @730
+ silk_decode_parameters @731
+ silk_decode_pitch @732
+ silk_decode_pulses @733
+ silk_decode_signs @734
+ silk_decoder_set_fs @735
+ silk_delta_gain_iCDF @736
+ silk_encode_do_VAD_FLP @737
+ silk_encode_frame_FLP @738
+ silk_encode_indices @739
+ silk_encode_pulses @740
+ silk_encode_signs @741
+ silk_energy_FLP @742
+ silk_find_LPC_FLP @743
+ silk_find_LTP_FLP @744
+ silk_find_pitch_lags_FLP @745
+ silk_find_pred_coefs_FLP @746
+ silk_gain_iCDF @747
+ silk_gains_ID @748
+ silk_gains_dequant @749
+ silk_gains_quant @750
+ silk_init_decoder @751
+ silk_init_encoder @752
+ silk_inner_prod_aligned_scale @753
+ silk_inner_product_FLP @754
+ silk_insertion_sort_decreasing_FLP @755
+ silk_insertion_sort_increasing @756
+ silk_insertion_sort_increasing_all_values_int16 @757
+ silk_interpolate @758
+ silk_k2a_FLP @759
+ silk_levinsondurbin_FLP @760
+ silk_lin2log @761
+ silk_log2lin @762
+ silk_lsb_iCDF @763
+ silk_max_pulses_table @764
+ silk_nb_cbk_searchs_stage3 @765
+ silk_noise_shape_analysis_FLP @766
+ silk_pitch_analysis_core_FLP @767
+ silk_pitch_contour_10_ms_NB_iCDF @768
+ silk_pitch_contour_10_ms_iCDF @769
+ silk_pitch_contour_NB_iCDF @770
+ silk_pitch_contour_iCDF @771
+ silk_pitch_delta_iCDF @772
+ silk_pitch_lag_iCDF @773
+ silk_prefilter_FLP @774
+ silk_process_NLSFs @775
+ silk_process_NLSFs_FLP @776
+ silk_process_gains_FLP @777
+ silk_pulses_per_block_BITS_Q5 @778
+ silk_pulses_per_block_iCDF @779
+ silk_quant_LTP_gains @780
+ silk_quant_LTP_gains_FLP @781
+ silk_rate_levels_BITS_Q5 @782
+ silk_rate_levels_iCDF @783
+ silk_regularize_correlations_FLP @784
+ silk_resampler @785
+ silk_resampler_down2 @786
+ silk_resampler_down2_3 @787
+ silk_resampler_frac_FIR_12 @788
+ silk_resampler_init @789
+ silk_resampler_private_AR2 @790
+ silk_resampler_private_IIR_FIR @791
+ silk_resampler_private_down_FIR @792
+ silk_resampler_private_up2_HQ @793
+ silk_resampler_private_up2_HQ_wrapper @794
+ silk_residual_energy_FLP @795
+ silk_residual_energy_covar_FLP @796
+ silk_scale_copy_vector_FLP @797
+ silk_scale_vector_FLP @798
+ silk_schur_FLP @799
+ silk_shell_code_table0 @800
+ silk_shell_code_table1 @801
+ silk_shell_code_table2 @802
+ silk_shell_code_table3 @803
+ silk_shell_code_table_offsets @804
+ silk_shell_decoder @805
+ silk_shell_encoder @806
+ silk_sigm_Q15 @807
+ silk_sign_iCDF @808
+ silk_solve_LDL_FLP @809
+ silk_stereo_LR_to_MS @810
+ silk_stereo_MS_to_LR @811
+ silk_stereo_decode_mid_only @812
+ silk_stereo_decode_pred @813
+ silk_stereo_encode_mid_only @814
+ silk_stereo_encode_pred @815
+ silk_stereo_find_predictor @816
+ silk_stereo_only_code_mid_iCDF @817
+ silk_stereo_pred_joint_iCDF @818
+ silk_stereo_pred_quant_Q13 @819
+ silk_stereo_quant_pred @820
+ silk_sum_sqr_shift @821
+ silk_type_offset_VAD_iCDF @822
+ silk_type_offset_no_VAD_iCDF @823
+ silk_uniform3_iCDF @824
+ silk_uniform4_iCDF @825
+ silk_uniform5_iCDF @826
+ silk_uniform6_iCDF @827
+ silk_uniform8_iCDF @828
+ silk_warped_autocorrelation_FLP @829
+ sock_valid @830
+ sodium_bin2hex @831
+ sodium_hex2bin @832
+ sodium_init @833
+ sodium_memcmp @834
+ sodium_memzero @835
+ sodium_mlock @836
+ sodium_munlock @837
+ sodium_runtime_get_cpu_features @838
+ sodium_runtime_has_neon @839
+ sodium_runtime_has_sse2 @840
+ sodium_runtime_has_sse3 @841
+ spreading_decision @842
+ stereo_itheta @843
+ tcp_onion_response_handler @844
+ terminate_queue @845
+ tf_select_table @846
+ thread_print @847
+ thread_print_set @848
+ to_host_family @849
+ to_net_family @850
+ tonality_analysis @851
+ tonality_get_info @852
+ tox_add_friend @853
+ tox_add_friend_norequest @854
+ tox_add_groupchat @855
+ tox_bootstrap_from_address @856
+ tox_callback_connection_status @857
+ tox_callback_file_control @858
+ tox_callback_file_data @859
+ tox_callback_file_send_request @860
+ tox_callback_friend_action @861
+ tox_callback_friend_message @862
+ tox_callback_friend_request @863
+ tox_callback_group_action @864
+ tox_callback_group_invite @865
+ tox_callback_group_message @866
+ tox_callback_group_namelist_change @867
+ tox_callback_name_change @868
+ tox_callback_read_receipt @869
+ tox_callback_status_message @870
+ tox_callback_typing_change @871
+ tox_callback_user_status @872
+ tox_count_chatlist @873
+ tox_count_friendlist @874
+ tox_decrypt_dns3_TXT @875
+ tox_del_friend @876
+ tox_del_groupchat @877
+ tox_dns3_kill @878
+ tox_dns3_new @879
+ tox_do @880
+ tox_do_interval @881
+ tox_file_data_remaining @882
+ tox_file_data_size @883
+ tox_file_send_control @884
+ tox_file_send_data @885
+ tox_friend_exists @886
+ tox_generate_dns3_string @887
+ tox_get_address @888
+ tox_get_chatlist @889
+ tox_get_client_id @890
+ tox_get_friend_connection_status @891
+ tox_get_friend_number @892
+ tox_get_friendlist @893
+ tox_get_is_typing @894
+ tox_get_keys @895
+ tox_get_last_online @896
+ tox_get_name @897
+ tox_get_name_size @898
+ tox_get_nospam @899
+ tox_get_num_online_friends @900
+ tox_get_self_name @901
+ tox_get_self_name_size @902
+ tox_get_self_status_message @903
+ tox_get_self_status_message_size @904
+ tox_get_self_user_status @905
+ tox_get_status_message @906
+ tox_get_status_message_size @907
+ tox_get_user_status @908
+ tox_group_action_send @909
+ tox_group_get_names @910
+ tox_group_message_send @911
+ tox_group_number_peers @912
+ tox_group_peername @913
+ tox_invite_friend @914
+ tox_isconnected @915
+ tox_join_groupchat @916
+ tox_kill @917
+ tox_load @918
+ tox_new @919
+ tox_new_file_sender @920
+ tox_save @921
+ tox_send_action @922
+ tox_send_action_withid @923
+ tox_send_message @924
+ tox_send_message_withid @925
+ tox_set_name @926
+ tox_set_nospam @927
+ tox_set_status_message @928
+ tox_set_user_is_typing @929
+ tox_set_user_status @930
+ tox_size @931
+ toxav_answer @932
+ toxav_call @933
+ toxav_cancel @934
+ toxav_capability_supported @935
+ toxav_change_settings @936
+ toxav_get_call_state @937
+ toxav_get_peer_csettings @938
+ toxav_get_peer_id @939
+ toxav_get_tox @940
+ toxav_handle_packet @941
+ toxav_hangup @942
+ toxav_has_activity @943
+ toxav_kill @944
+ toxav_kill_transmission @945
+ toxav_new @946
+ toxav_prepare_audio_frame @947
+ toxav_prepare_transmission @948
+ toxav_prepare_video_frame @949
+ toxav_register_audio_recv_callback @950
+ toxav_register_callstate_callback @951
+ toxav_register_video_recv_callback @952
+ toxav_reject @953
+ toxav_send_audio @954
+ toxav_send_video @955
+ toxav_stop_call @956
+ unix_time @957
+ unix_time_update @958
+ unpack_nodes @959
+ unquant_coarse_energy @960
+ unquant_energy_finalise @961
+ unquant_fine_energy @962
+ vp8_ac2quant @963
+ vp8_ac_uv_quant @964
+ vp8_ac_yquant @965
+ vp8_activity_masking @966
+ vp8_adjust_key_frame_context @967
+ vp8_alloc_compressor_data @968
+ vp8_alloc_frame_buffers @969
+ vp8_auto_select_speed @970
+ vp8_bilinear_filters_x86_4 @971
+ vp8_bilinear_filters_x86_8 @972
+ vp8_bilinear_predict16x16 @973
+ vp8_bilinear_predict16x16_mmx @974
+ vp8_bilinear_predict16x16_sse2 @975
+ vp8_bilinear_predict16x16_ssse3 @976
+ vp8_bilinear_predict4x4_mmx @977
+ vp8_bilinear_predict8x4_mmx @978
+ vp8_bilinear_predict8x8 @979
+ vp8_bilinear_predict8x8_mmx @980
+ vp8_bilinear_predict8x8_sse2 @981
+ vp8_bilinear_predict8x8_ssse3 @982
+ vp8_bits_per_mb @983
+ vp8_blend_b_c @984
+ vp8_blend_mb_inner_c @985
+ vp8_blend_mb_outer_c @986
+ vp8_block2above @987
+ vp8_block2left @988
+ vp8_block_error_c @989
+ vp8_block_error_mmx @990
+ vp8_block_error_xmm @991
+ vp8_bmode_encodings @992
+ vp8_bmode_prob @993
+ vp8_bmode_tree @994
+ vp8_build_block_doffsets @995
+ vp8_build_block_offsets @996
+ vp8_build_component_cost_table @997
+ vp8_build_inter16x16_predictors_mb @998
+ vp8_build_inter16x16_predictors_mbuv @999
+ vp8_build_inter16x16_predictors_mby @1000
+ vp8_build_inter4x4_predictors_mbuv @1001
+ vp8_build_inter_predictors_b @1002
+ vp8_build_inter_predictors_mb @1003
+ vp8_build_intra_predictors_mbuv_s @1004
+ vp8_build_intra_predictors_mbuv_s_sse2 @1005
+ vp8_build_intra_predictors_mbuv_s_ssse3 @1006
+ vp8_build_intra_predictors_mby_s @1007
+ vp8_build_intra_predictors_mby_s_sse2 @1008
+ vp8_build_intra_predictors_mby_s_ssse3 @1009
+ vp8_cal_sad @1010
+ vp8_calc_ref_frame_costs @1011
+ vp8_calc_ss_err @1012
+ vp8_change_config @1013
+ vp8_clear_system_state_c @1014
+ vp8_coef_bands @1015
+ vp8_coef_encodings @1016
+ vp8_coef_tree @1017
+ vp8_coef_update_probs @1018
+ vp8_compute_frame_size_bounds @1019
+ vp8_convert_rfct_to_prob @1020
+ vp8_copy32xn @1021
+ vp8_copy32xn_c @1022
+ vp8_copy32xn_sse2 @1023
+ vp8_copy32xn_sse3 @1024
+ vp8_copy_and_extend_frame @1025
+ vp8_copy_and_extend_frame_with_rect @1026
+ vp8_copy_mem16x16_c @1027
+ vp8_copy_mem16x16_mmx @1028
+ vp8_copy_mem16x16_sse2 @1029
+ vp8_copy_mem8x4_c @1030
+ vp8_copy_mem8x4_mmx @1031
+ vp8_copy_mem8x8_c @1032
+ vp8_copy_mem8x8_mmx @1033
+ vp8_cost_mv_ref @1034
+ vp8_cost_tokens @1035
+ vp8_cost_tokens2 @1036
+ vp8_create_common @1037
+ vp8_create_compressor @1038
+ vp8_create_decoder_instances @1039
+ vp8_ctf_maps @1040
+ vp8_dc2quant @1041
+ vp8_dc_only_idct_add_c @1042
+ vp8_dc_only_idct_add_mmx @1043
+ vp8_dc_quant @1044
+ vp8_dc_uv_quant @1045
+ vp8_dct_value_cost_ptr @1046
+ vp8_dct_value_tokens_ptr @1047
+ vp8_de_alloc_frame_buffers @1048
+ vp8_deblock @1049
+ vp8_decode_frame @1050
+ vp8_decode_mb_tokens @1051
+ vp8_decode_mode_mvs @1052
+ vp8_decoder_create_threads @1053
+ vp8_decoder_remove_threads @1054
+ vp8_default_bmode_probs @1055
+ vp8_default_coef_probs @1056
+ vp8_default_inv_zig_zag @1057
+ vp8_default_mv_context @1058
+ vp8_default_zig_zag1d @1059
+ vp8_default_zig_zag_mask @1060
+ vp8_denoiser_allocate @1061
+ vp8_denoiser_denoise_mb @1062
+ vp8_denoiser_filter_c @1063
+ vp8_denoiser_filter_sse2 @1064
+ vp8_denoiser_free @1065
+ vp8_dequant_idct_add_mmx @1066
+ vp8_dequant_idct_add_uv_block_mmx @1067
+ vp8_dequant_idct_add_uv_block_sse2 @1068
+ vp8_dequant_idct_add_y_block_mmx @1069
+ vp8_dequant_idct_add_y_block_sse2 @1070
+ vp8_dequantize_b_impl_mmx @1071
+ vp8_dequantize_b_mmx @1072
+ vp8_diamond_search_sad @1073
+ vp8_diamond_search_sad_c @1074
+ vp8_diamond_search_sadx4 @1075
+ vp8_encode_frame @1076
+ vp8_encode_inter16x16 @1077
+ vp8_encode_inter16x16y @1078
+ vp8_encode_intra @1079
+ vp8_encode_intra16x16mbuv @1080
+ vp8_encode_intra16x16mby @1081
+ vp8_encode_intra4x4block @1082
+ vp8_encode_intra4x4mby @1083
+ vp8_encode_motion_vector @1084
+ vp8_encode_value @1085
+ vp8_end_first_pass @1086
+ vp8_end_second_pass @1087
+ vp8_estimate_entropy_savings @1088
+ vp8_extend_mb_row @1089
+ vp8_extra_bits @1090
+ vp8_fast_quantize_b @1091
+ vp8_fast_quantize_b_c @1092
+ vp8_fast_quantize_b_pair_c @1093
+ vp8_fast_quantize_b_sse2 @1094
+ vp8_fast_quantize_b_ssse3 @1095
+ vp8_filter_block1d16_h6_only_sse2 @1096
+ vp8_filter_block1d16_h6_sse2 @1097
+ vp8_filter_block1d16_h6_ssse3 @1098
+ vp8_filter_block1d16_v6_sse2 @1099
+ vp8_filter_block1d16_v6_ssse3 @1100
+ vp8_filter_block1d4_h6_ssse3 @1101
+ vp8_filter_block1d4_v6_ssse3 @1102
+ vp8_filter_block1d8_h6_only_sse2 @1103
+ vp8_filter_block1d8_h6_sse2 @1104
+ vp8_filter_block1d8_h6_ssse3 @1105
+ vp8_filter_block1d8_v6_only_sse2 @1106
+ vp8_filter_block1d8_v6_sse2 @1107
+ vp8_filter_block1d8_v6_ssse3 @1108
+ vp8_filter_block1d_h6_mmx @1109
+ vp8_filter_block1dc_v6_mmx @1110
+ vp8_filter_block2d_bil4x4_var_mmx @1111
+ vp8_filter_block2d_bil_var_mmx @1112
+ vp8_filter_block2d_bil_var_sse2 @1113
+ vp8_filter_block2d_bil_var_ssse3 @1114
+ vp8_filter_by_weight16x16_c @1115
+ vp8_filter_by_weight16x16_sse2 @1116
+ vp8_filter_by_weight4x4_c @1117
+ vp8_filter_by_weight8x8_c @1118
+ vp8_filter_by_weight8x8_sse2 @1119
+ vp8_find_best_half_pixel_step @1120
+ vp8_find_best_sub_pixel_step @1121
+ vp8_find_best_sub_pixel_step_iteratively @1122
+ vp8_find_near_mvs @1123
+ vp8_find_near_mvs_bias @1124
+ vp8_first_pass @1125
+ vp8_fix_contexts @1126
+ vp8_full_search_sad @1127
+ vp8_full_search_sad_c @1128
+ vp8_full_search_sadx3 @1129
+ vp8_full_search_sadx8 @1130
+ vp8_gaussian @1131
+ vp8_get16x16var_sse2 @1132
+ vp8_get4x4sse_cs_c @1133
+ vp8_get4x4sse_cs_mmx @1134
+ vp8_get4x4var_mmx @1135
+ vp8_get8x8var_mmx @1136
+ vp8_get8x8var_sse2 @1137
+ vp8_get_compressed_data @1138
+ vp8_get_inter_mbpred_error @1139
+ vp8_get_mb_ss_mmx @1140
+ vp8_get_mb_ss_sse2 @1141
+ vp8_get_preview_raw_frame @1142
+ vp8_get_quantizer @1143
+ vp8_get_reference @1144
+ vp8_gf_boost_qadjustment @1145
+ vp8_half_horiz_variance16x_h_sse2 @1146
+ vp8_half_horiz_variance8x_h_sse2 @1147
+ vp8_half_horiz_vert_variance16x_h_sse2 @1148
+ vp8_half_horiz_vert_variance8x_h_sse2 @1149
+ vp8_half_vert_variance16x_h_sse2 @1150
+ vp8_half_vert_variance8x_h_sse2 @1151
+ vp8_hex_search @1152
+ vp8_horizontal_line_2_1_scale_c @1153
+ vp8_horizontal_line_5_3_scale_c @1154
+ vp8_horizontal_line_5_4_scale_c @1155
+ vp8_idct_dequant_0_2x_sse2 @1156
+ vp8_idct_dequant_dc_0_2x_sse2 @1157
+ vp8_idct_dequant_dc_full_2x_sse2 @1158
+ vp8_idct_dequant_full_2x_sse2 @1159
+ vp8_init3smotion_compensation @1160
+ vp8_init_dsmotion_compensation @1161
+ vp8_init_first_pass @1162
+ vp8_init_mbmode_probs @1163
+ vp8_init_mode_costs @1164
+ vp8_init_second_pass @1165
+ vp8_initialize_rd_consts @1166
+ vp8_intra4x4_predict_c @1167
+ vp8_intra_pred_uv_dc128_mmx @1168
+ vp8_intra_pred_uv_dc_mmx2 @1169
+ vp8_intra_pred_uv_dcleft_mmx2 @1170
+ vp8_intra_pred_uv_dctop_mmx2 @1171
+ vp8_intra_pred_uv_ho_mmx2 @1172
+ vp8_intra_pred_uv_ho_ssse3 @1173
+ vp8_intra_pred_uv_tm_sse2 @1174
+ vp8_intra_pred_uv_tm_ssse3 @1175
+ vp8_intra_pred_uv_ve_mmx @1176
+ vp8_intra_pred_y_dc128_sse2 @1177
+ vp8_intra_pred_y_dc_sse2 @1178
+ vp8_intra_pred_y_dcleft_sse2 @1179
+ vp8_intra_pred_y_dctop_sse2 @1180
+ vp8_intra_pred_y_ho_sse2 @1181
+ vp8_intra_pred_y_tm_sse2 @1182
+ vp8_intra_pred_y_tm_ssse3 @1183
+ vp8_intra_pred_y_ve_sse2 @1184
+ vp8_kf_bmode_prob @1185
+ vp8_kf_uv_mode_prob @1186
+ vp8_kf_ymode_encodings @1187
+ vp8_kf_ymode_prob @1188
+ vp8_kf_ymode_tree @1189
+ vp8_lookahead_depth @1190
+ vp8_lookahead_destroy @1191
+ vp8_lookahead_init @1192
+ vp8_lookahead_peek @1193
+ vp8_lookahead_pop @1194
+ vp8_lookahead_push @1195
+ vp8_loop_filter_bh_mmx @1196
+ vp8_loop_filter_bh_sse2 @1197
+ vp8_loop_filter_bh_y_sse2 @1198
+ vp8_loop_filter_bhs_mmx @1199
+ vp8_loop_filter_bhs_sse2 @1200
+ vp8_loop_filter_bv_mmx @1201
+ vp8_loop_filter_bv_sse2 @1202
+ vp8_loop_filter_bv_y_sse2 @1203
+ vp8_loop_filter_bvs_mmx @1204
+ vp8_loop_filter_bvs_sse2 @1205
+ vp8_loop_filter_frame @1206
+ vp8_loop_filter_frame_init @1207
+ vp8_loop_filter_frame_yonly @1208
+ vp8_loop_filter_horizontal_edge_mmx @1209
+ vp8_loop_filter_horizontal_edge_uv_sse2 @1210
+ vp8_loop_filter_init @1211
+ vp8_loop_filter_mbh_mmx @1212
+ vp8_loop_filter_mbh_sse2 @1213
+ vp8_loop_filter_mbv_mmx @1214
+ vp8_loop_filter_mbv_sse2 @1215
+ vp8_loop_filter_partial_frame @1216
+ vp8_loop_filter_row_normal @1217
+ vp8_loop_filter_row_simple @1218
+ vp8_loop_filter_simple_horizontal_edge_mmx @1219
+ vp8_loop_filter_simple_horizontal_edge_sse2 @1220
+ vp8_loop_filter_simple_vertical_edge_mmx @1221
+ vp8_loop_filter_simple_vertical_edge_sse2 @1222
+ vp8_loop_filter_update_sharpness @1223
+ vp8_loop_filter_vertical_edge_mmx @1224
+ vp8_loop_filter_vertical_edge_uv_sse2 @1225
+ vp8_loopfilter_frame @1226
+ vp8_machine_specific_config @1227
+ vp8_mb_feature_data_bits @1228
+ vp8_mb_init_dequantizer @1229
+ vp8_mbblock_error_c @1230
+ vp8_mbblock_error_mmx_impl @1231
+ vp8_mbblock_error_xmm @1232
+ vp8_mbblock_error_xmm_impl @1233
+ vp8_mbloop_filter_horizontal_edge_mmx @1234
+ vp8_mbloop_filter_horizontal_edge_sse2 @1235
+ vp8_mbloop_filter_horizontal_edge_uv_sse2 @1236
+ vp8_mbloop_filter_vertical_edge_mmx @1237
+ vp8_mbloop_filter_vertical_edge_sse2 @1238
+ vp8_mbloop_filter_vertical_edge_uv_sse2 @1239
+ vp8_mbpost_proc_across_ip_c @1240
+ vp8_mbpost_proc_across_ip_xmm @1241
+ vp8_mbpost_proc_down_c @1242
+ vp8_mbpost_proc_down_xmm @1243
+ vp8_mbsplit_count @1244
+ vp8_mbsplit_encodings @1245
+ vp8_mbsplit_offset @1246
+ vp8_mbsplit_probs @1247
+ vp8_mbsplit_tree @1248
+ vp8_mbsplits @1249
+ vp8_mbuverror_c @1250
+ vp8_mbuverror_mmx_impl @1251
+ vp8_mbuverror_xmm @1252
+ vp8_mbuverror_xmm_impl @1253
+ vp8_mode_contexts @1254
+ vp8_mode_order @1255
+ vp8_mse16x16_wmt @1256
+ vp8_mse2psnr @1257
+ vp8_multiframe_quality_enhance @1258
+ vp8_mv_bit_cost @1259
+ vp8_mv_cont @1260
+ vp8_mv_pred @1261
+ vp8_mv_ref_encoding_array @1262
+ vp8_mv_ref_probs @1263
+ vp8_mv_ref_tree @1264
+ vp8_mv_update_probs @1265
+ vp8_new_framerate @1266
+ vp8_norm @1267
+ vp8_optimize_mbuv @1268
+ vp8_optimize_mby @1269
+ vp8_pack_bitstream @1270
+ vp8_pack_tokens_c @1271
+ vp8_pick_frame_size @1272
+ vp8_pick_inter_mode @1273
+ vp8_pick_intra_mode @1274
+ vp8_plane_add_noise_c @1275
+ vp8_plane_add_noise_wmt @1276
+ vp8_post_proc_down_and_across_mb_row_c @1277
+ vp8_post_proc_down_and_across_mb_row_sse2 @1278
+ vp8_post_proc_frame @1279
+ vp8_prev_token_class @1280
+ vp8_prob_cost @1281
+ vp8_quantize_mb_c @1282
+ vp8_quantize_mbuv_c @1283
+ vp8_quantize_mby_c @1284
+ vp8_rd_pick_inter_mode @1285
+ vp8_rd_pick_intra_mode @1286
+ vp8_receive_raw_frame @1287
+ vp8_ref_frame_order @1288
+ vp8_refining_search_sad @1289
+ vp8_refining_search_sad_c @1290
+ vp8_refining_search_sadx4 @1291
+ vp8_regular_quantize_b_c @1292
+ vp8_regular_quantize_b_pair_c @1293
+ vp8_regular_quantize_b_sse2 @1294
+ vp8_regulate_q @1295
+ vp8_remove_common @1296
+ vp8_remove_compressor @1297
+ vp8_remove_decoder_instances @1298
+ vp8_reset_mb_tokens_context @1299
+ vp8_restore_coding_context @1300
+ vp8_reverse_trans @1301
+ vp8_rtcd @1302
+ vp8_rv @1303
+ vp8_sad16x16 @1304
+ vp8_sad16x16_c @1305
+ vp8_sad16x16_sse3 @1306
+ vp8_sad16x16_wmt @1307
+ vp8_sad16x16x3 @1308
+ vp8_sad16x16x3_c @1309
+ vp8_sad16x16x3_sse3 @1310
+ vp8_sad16x16x3_ssse3 @1311
+ vp8_sad16x16x4d @1312
+ vp8_sad16x16x4d_c @1313
+ vp8_sad16x16x4d_sse3 @1314
+ vp8_sad16x16x8 @1315
+ vp8_sad16x16x8_c @1316
+ vp8_sad16x16x8_sse4 @1317
+ vp8_sad16x8_c @1318
+ vp8_sad16x8_wmt @1319
+ vp8_sad16x8x3 @1320
+ vp8_sad16x8x3_c @1321
+ vp8_sad16x8x3_sse3 @1322
+ vp8_sad16x8x3_ssse3 @1323
+ vp8_sad16x8x4d @1324
+ vp8_sad16x8x4d_c @1325
+ vp8_sad16x8x4d_sse3 @1326
+ vp8_sad16x8x8 @1327
+ vp8_sad16x8x8_c @1328
+ vp8_sad16x8x8_sse4 @1329
+ vp8_sad4x4_c @1330
+ vp8_sad4x4_wmt @1331
+ vp8_sad4x4x3 @1332
+ vp8_sad4x4x3_c @1333
+ vp8_sad4x4x3_sse3 @1334
+ vp8_sad4x4x4d @1335
+ vp8_sad4x4x4d_c @1336
+ vp8_sad4x4x4d_sse3 @1337
+ vp8_sad4x4x8 @1338
+ vp8_sad4x4x8_c @1339
+ vp8_sad4x4x8_sse4 @1340
+ vp8_sad8x16_c @1341
+ vp8_sad8x16_wmt @1342
+ vp8_sad8x16x3 @1343
+ vp8_sad8x16x3_c @1344
+ vp8_sad8x16x3_sse3 @1345
+ vp8_sad8x16x4d @1346
+ vp8_sad8x16x4d_c @1347
+ vp8_sad8x16x4d_sse3 @1348
+ vp8_sad8x16x8 @1349
+ vp8_sad8x16x8_c @1350
+ vp8_sad8x16x8_sse4 @1351
+ vp8_sad8x8_c @1352
+ vp8_sad8x8_wmt @1353
+ vp8_sad8x8x3 @1354
+ vp8_sad8x8x3_c @1355
+ vp8_sad8x8x3_sse3 @1356
+ vp8_sad8x8x4d @1357
+ vp8_sad8x8x4d_c @1358
+ vp8_sad8x8x4d_sse3 @1359
+ vp8_sad8x8x8 @1360
+ vp8_sad8x8x8_c @1361
+ vp8_sad8x8x8_sse4 @1362
+ vp8_save_coding_context @1363
+ vp8_second_pass @1364
+ vp8_set_active_map @1365
+ vp8_set_internal_size @1366
+ vp8_set_mbmode_and_mvs @1367
+ vp8_set_quantizer @1368
+ vp8_set_reference @1369
+ vp8_set_roimap @1370
+ vp8_set_speed_features @1371
+ vp8_setup_block_dptrs @1372
+ vp8_setup_block_ptrs @1373
+ vp8_setup_intra_recon @1374
+ vp8_setup_intra_recon_top_line @1375
+ vp8_setup_key_frame @1376
+ vp8_setup_version @1377
+ vp8_short_fdct4x4_sse2 @1378
+ vp8_short_fdct8x4_sse2 @1379
+ vp8_short_idct4x4llm_c @1380
+ vp8_short_idct4x4llm_mmx @1381
+ vp8_short_inv_walsh4x4_1_c @1382
+ vp8_short_inv_walsh4x4_c @1383
+ vp8_short_inv_walsh4x4_sse2 @1384
+ vp8_short_walsh4x4_sse2 @1385
+ vp8_six_tap_mmx @1386
+ vp8_sixtap_predict16x16 @1387
+ vp8_sixtap_predict16x16_mmx @1388
+ vp8_sixtap_predict16x16_sse2 @1389
+ vp8_sixtap_predict16x16_ssse3 @1390
+ vp8_sixtap_predict4x4 @1391
+ vp8_sixtap_predict4x4_mmx @1392
+ vp8_sixtap_predict4x4_ssse3 @1393
+ vp8_sixtap_predict8x4 @1394
+ vp8_sixtap_predict8x4_mmx @1395
+ vp8_sixtap_predict8x4_sse2 @1396
+ vp8_sixtap_predict8x4_ssse3 @1397
+ vp8_sixtap_predict8x8 @1398
+ vp8_sixtap_predict8x8_mmx @1399
+ vp8_sixtap_predict8x8_sse2 @1400
+ vp8_sixtap_predict8x8_ssse3 @1401
+ vp8_skip_fractional_mv_step @1402
+ vp8_small_mvencodings @1403
+ vp8_small_mvtree @1404
+ vp8_start_encode @1405
+ vp8_stop_encode @1406
+ vp8_strict_quantize_b_c @1407
+ vp8_stuff_mb @1408
+ vp8_sub_mv_ref_encoding_array @1409
+ vp8_sub_mv_ref_prob2 @1410
+ vp8_sub_mv_ref_prob3 @1411
+ vp8_sub_mv_ref_tree @1412
+ vp8_sub_pixel_mse16x16_wmt @1413
+ vp8_sub_pixel_variance16x16 @1414
+ vp8_sub_pixel_variance16x16_ssse3 @1415
+ vp8_sub_pixel_variance16x16_wmt @1416
+ vp8_sub_pixel_variance16x8 @1417
+ vp8_sub_pixel_variance16x8_ssse3 @1418
+ vp8_sub_pixel_variance16x8_wmt @1419
+ vp8_sub_pixel_variance4x4_wmt @1420
+ vp8_sub_pixel_variance8x16_wmt @1421
+ vp8_sub_pixel_variance8x8_wmt @1422
+ vp8_subtract_b_c @1423
+ vp8_subtract_b_sse2 @1424
+ vp8_subtract_b_sse2_impl @1425
+ vp8_subtract_mbuv_c @1426
+ vp8_subtract_mbuv_sse2 @1427
+ vp8_subtract_mby_c @1428
+ vp8_subtract_mby_sse2 @1429
+ vp8_swap_yv12_buffer @1430
+ vp8_temporal_filter_apply_c @1431
+ vp8_temporal_filter_apply_sse2 @1432
+ vp8_temporal_filter_prepare_c @1433
+ vp8_tokenize_mb @1434
+ vp8_tokens_from_tree @1435
+ vp8_tokens_from_tree_offset @1436
+ vp8_transform_intra_mby @1437
+ vp8_transform_mbuv @1438
+ vp8_tree_probs_from_distribution @1439
+ vp8_unpack_block1d16_h6_sse2 @1440
+ vp8_update_coef_probs @1441
+ vp8_update_entropy @1442
+ vp8_update_gf_useage_maps @1443
+ vp8_update_rate_correction_factors @1444
+ vp8_update_reference @1445
+ vp8_update_zbin_extra @1446
+ vp8_use_as_reference @1447
+ vp8_uv_mode_encodings @1448
+ vp8_uv_mode_prob @1449
+ vp8_uv_mode_tree @1450
+ vp8_variance16x16_wmt @1451
+ vp8_variance16x8_wmt @1452
+ vp8_variance4x4_wmt @1453
+ vp8_variance8x16_wmt @1454
+ vp8_variance8x8_wmt @1455
+ vp8_variance_and_sad_16x16_sse2 @1456
+ vp8_variance_halfpixvar16x16_h_wmt @1457
+ vp8_variance_halfpixvar16x16_hv_wmt @1458
+ vp8_variance_halfpixvar16x16_v_wmt @1459
+ vp8_vertical_band_2_1_scale_c @1460
+ vp8_vertical_band_2_1_scale_i_c @1461
+ vp8_vertical_band_5_3_scale_c @1462
+ vp8_vertical_band_5_4_scale_c @1463
+ vp8_write_mvprobs @1464
+ vp8_ymode_encodings @1465
+ vp8_ymode_prob @1466
+ vp8_ymode_tree @1467
+ vp8_yv12_alloc_frame_buffer @1468
+ vp8_yv12_copy_frame_c @1469
+ vp8_yv12_copy_partial_frame_c @1470
+ vp8_yv12_de_alloc_frame_buffer @1471
+ vp8_yv12_extend_frame_borders_c @1472
+ vp8_yv12_realloc_frame_buffer @1473
+ vp8cx_base_skip_false_prob @1474
+ vp8cx_create_encoder_threads @1475
+ vp8cx_encode_inter_macroblock @1476
+ vp8cx_encode_intra_macroblock @1477
+ vp8cx_frame_init_quantizer @1478
+ vp8cx_init_de_quantizer @1479
+ vp8cx_init_mbrthread_data @1480
+ vp8cx_init_quantizer @1481
+ vp8cx_initialize_me_consts @1482
+ vp8cx_mb_init_quantizer @1483
+ vp8cx_pick_filter_level @1484
+ vp8cx_pick_filter_level_fast @1485
+ vp8cx_remove_encoder_threads @1486
+ vp8cx_set_alt_lf_level @1487
+ vp8dx_bool_decoder_fill @1488
+ vp8dx_get_raw_frame @1489
+ vp8dx_get_reference @1490
+ vp8dx_receive_compressed_data @1491
+ vp8dx_references_buffer @1492
+ vp8dx_set_reference @1493
+ vp8dx_start_decode @1494
+ vp8mt_alloc_temp_buffers @1495
+ vp8mt_de_alloc_temp_buffers @1496
+ vp8mt_decode_mb_rows @1497
+ vp9_alloc_frame_buffer @1498
+ vp9_extend_frame_borders_c @1499
+ vp9_extend_frame_inner_borders_c @1500
+ vp9_free_frame_buffer @1501
+ vp9_realloc_frame_buffer @1502
+ vpx_calloc @1503
+ vpx_codec_control_ @1504
+ vpx_codec_dec_init_ver @1505
+ vpx_codec_decode @1506
+ vpx_codec_destroy @1507
+ vpx_codec_enc_config_default @1508
+ vpx_codec_enc_config_set @1509
+ vpx_codec_enc_init_multi_ver @1510
+ vpx_codec_enc_init_ver @1511
+ vpx_codec_encode @1512
+ vpx_codec_err_to_string @1513
+ vpx_codec_error @1514
+ vpx_codec_error_detail @1515
+ vpx_codec_get_caps @1516
+ vpx_codec_get_cx_data @1517
+ vpx_codec_get_frame @1518
+ vpx_codec_get_global_headers @1519
+ vpx_codec_get_mem_map @1520
+ vpx_codec_get_preview_frame @1521
+ vpx_codec_get_stream_info @1522
+ vpx_codec_iface_name @1523
+ vpx_codec_peek_stream_info @1524
+ vpx_codec_pkt_list_add @1525
+ vpx_codec_pkt_list_get @1526
+ vpx_codec_register_put_frame_cb @1527
+ vpx_codec_register_put_slice_cb @1528
+ vpx_codec_set_cx_data_buf @1529
+ vpx_codec_set_mem_map @1530
+ vpx_codec_version @1531
+ vpx_codec_version_extra_str @1532
+ vpx_codec_version_str @1533
+ vpx_codec_vp8_cx @1534
+ vpx_codec_vp8_cx_algo @1535
+ vpx_codec_vp8_dx @1536
+ vpx_codec_vp8_dx_algo @1537
+ vpx_free @1538
+ vpx_malloc @1539
+ vpx_mem_get_version @1540
+ vpx_mem_set_functions @1541
+ vpx_mem_set_heap_size @1542
+ vpx_mem_unset_functions @1543
+ vpx_memalign @1544
+ vpx_memcpy @1545
+ vpx_memmove @1546
+ vpx_memset @1547
+ vpx_mmap_alloc @1548
+ vpx_mmap_dtor @1549
+ vpx_realloc @1550
+ vpx_reset_mmx_state @1551
+ vpx_scale_frame @1552
+ vpx_scale_rtcd @1553
+ vpx_validate_mmaps @1554
+ vpx_winx64_fldcw @1555
+ vpx_winx64_fstcw @1556
+ vpx_yv12_copy_y_c @1557
+ write_cryptpacket @1558
diff --git a/protocols/Tox/tox/lib/x86/libtox.def b/protocols/Tox/tox/lib/x86/libtox.def
new file mode 100644
index 0000000000..cca6b10ff0
--- /dev/null
+++ b/protocols/Tox/tox/lib/x86/libtox.def
@@ -0,0 +1,1709 @@
+LIBRARY "libtox"
+
+EXPORTS
+ Assoc_add_entry @1
+ Assoc_get_close_entries @2
+ Assoc_self_client_id_changed @3
+ DHT_addfriend @4
+ DHT_bootstrap @5
+ DHT_bootstrap_from_address @6
+ DHT_delfriend @7
+ DHT_get_close_list @8
+ DHT_get_shared_key_recv @9
+ DHT_get_shared_key_sent @10
+ DHT_getfriendip @11
+ DHT_getnodes @12
+ DHT_isconnected @13
+ DHT_load @14
+ DHT_non_lan_connected @15
+ DHT_save @16
+ DHT_size @17
+ LAN_ip @18
+ LANdiscovery_init @19
+ U16_to_bytes @20
+ U32_to_bytes @21
+ VP8_UVSSE @22
+ __pth_gpointer_locked @23
+ __pthread_clock_nanosleep @24
+ __pthread_shallcancel @25
+ __xl_f @26
+ _celt_autocorr @27
+ _celt_lpc @28
+ _pthread_cleanup_dest @29
+ _pthread_get_state @30
+ _pthread_invoke_cancel @31
+ _pthread_key_dest @32
+ _pthread_rel_time_in_ms @33
+ _pthread_set_state @34
+ _pthread_setnobreak @35
+ _pthread_time_in_ms @36
+ _pthread_time_in_ms_from_timespec @37
+ _pthread_tryjoin @38
+ _sodium_alignedcalloc @39
+ accept_crypto_connection @40
+ add_ext_header @41
+ add_groupchat @42
+ add_header @43
+ add_tcp_relay @44
+ add_tcp_relay_peer @45
+ add_to_ping @46
+ addr_parse_ip @47
+ addr_resolve @48
+ addr_resolve_or_parse_ip @49
+ addto_lists @50
+ alg_quant @51
+ alg_unquant @52
+ amp2Log2 @53
+ anti_collapse @54
+ at_startup_ran @55
+ av_DefaultSettings @56
+ av_VADd @57
+ av_jbufdc @58
+ bs_list_add @59
+ bs_list_find @60
+ bs_list_free @61
+ bs_list_init @62
+ bs_list_remove @63
+ bs_list_trim @64
+ build_header @65
+ bytes_to_U16 @66
+ bytes_to_U32 @67
+ callback_file_control @68
+ callback_file_data @69
+ callback_file_sendrequest @70
+ callback_friendrequest @71
+ callback_groupaction @72
+ callback_groupmessage @73
+ callback_namelistchange @74
+ celt_decode_with_ec @75
+ celt_decoder_get_size @76
+ celt_decoder_init @77
+ celt_encode_with_ec @78
+ celt_encoder_get_size @79
+ celt_encoder_init @80
+ celt_fir @81
+ celt_iir @82
+ celt_lcg_rand @83
+ celt_pitch_xcorr_c @84
+ celt_preemphasis @85
+ chat_bootstrap @86
+ chat_bootstrap_nonlazy @87
+ check_control_input @88
+ check_fragments_for_errors @89
+ check_late_message @90
+ closelist_nodes @91
+ clt_mdct_backward @92
+ clt_mdct_forward @93
+ codec_init_session @94
+ codec_terminate_session @95
+ comb_filter @96
+ compute_allocation @97
+ compute_band_energies @98
+ compute_frame_size @99
+ compute_stereo_width @100
+ cond_print @101
+ cond_print_set @102
+ connection_data_handler @103
+ connection_lossy_data_handler @104
+ connection_status_handler @105
+ copy_chatlist @106
+ copy_connected_tcp_relays @107
+ copy_friendlist @108
+ count_chatlist @109
+ count_friendlist @110
+ create_announce_request @111
+ create_data_request @112
+ create_onion_packet @113
+ create_onion_packet_tcp @114
+ create_onion_path @115
+ create_queue @116
+ create_request @117
+ crypto_box @118
+ crypto_box_afternm @119
+ crypto_box_beforenm @120
+ crypto_box_beforenmbytes @121
+ crypto_box_boxzerobytes @122
+ crypto_box_curve25519xsalsa20poly1305 @123
+ crypto_box_curve25519xsalsa20poly1305_afternm @124
+ crypto_box_curve25519xsalsa20poly1305_beforenm @125
+ crypto_box_curve25519xsalsa20poly1305_keypair @126
+ crypto_box_curve25519xsalsa20poly1305_open @127
+ crypto_box_curve25519xsalsa20poly1305_open_afternm @128
+ crypto_box_curve25519xsalsa20poly1305_seed_keypair @129
+ crypto_box_keypair @130
+ crypto_box_macbytes @131
+ crypto_box_noncebytes @132
+ crypto_box_open @133
+ crypto_box_open_afternm @134
+ crypto_box_primitive @135
+ crypto_box_publickeybytes @136
+ crypto_box_secretkeybytes @137
+ crypto_box_seed_keypair @138
+ crypto_box_seedbytes @139
+ crypto_box_zerobytes @140
+ crypto_cmp @141
+ crypto_connection_status @142
+ crypto_core_hsalsa20 @143
+ crypto_core_salsa20 @144
+ crypto_hash_sha256 @145
+ crypto_hash_sha256_final @146
+ crypto_hash_sha256_init @147
+ crypto_hash_sha256_update @148
+ crypto_hash_sha512 @149
+ crypto_hash_sha512_final @150
+ crypto_hash_sha512_init @151
+ crypto_hash_sha512_update @152
+ crypto_kill @153
+ crypto_num_free_sendqueue_slots @154
+ crypto_onetimeauth_pick_best_implementation @155
+ crypto_onetimeauth_poly1305 @156
+ crypto_onetimeauth_poly1305_donna @157
+ crypto_onetimeauth_poly1305_donna_final @158
+ crypto_onetimeauth_poly1305_donna_implementation @159
+ crypto_onetimeauth_poly1305_donna_implementation_name @160
+ crypto_onetimeauth_poly1305_donna_init @161
+ crypto_onetimeauth_poly1305_donna_update @162
+ crypto_onetimeauth_poly1305_donna_verify @163
+ crypto_onetimeauth_poly1305_final @164
+ crypto_onetimeauth_poly1305_implementation_name @165
+ crypto_onetimeauth_poly1305_init @166
+ crypto_onetimeauth_poly1305_set_implementation @167
+ crypto_onetimeauth_poly1305_update @168
+ crypto_onetimeauth_poly1305_verify @169
+ crypto_run_interval @170
+ crypto_scalarmult_curve25519 @171
+ crypto_scalarmult_curve25519_base @172
+ crypto_scalarmult_curve25519_ref10_fe_0 @173
+ crypto_scalarmult_curve25519_ref10_fe_1 @174
+ crypto_scalarmult_curve25519_ref10_fe_add @175
+ crypto_scalarmult_curve25519_ref10_fe_copy @176
+ crypto_scalarmult_curve25519_ref10_fe_cswap @177
+ crypto_scalarmult_curve25519_ref10_fe_frombytes @178
+ crypto_scalarmult_curve25519_ref10_fe_invert @179
+ crypto_scalarmult_curve25519_ref10_fe_mul @180
+ crypto_scalarmult_curve25519_ref10_fe_mul121666 @181
+ crypto_scalarmult_curve25519_ref10_fe_sq @182
+ crypto_scalarmult_curve25519_ref10_fe_sub @183
+ crypto_scalarmult_curve25519_ref10_fe_tobytes @184
+ crypto_secretbox_xsalsa20poly1305 @185
+ crypto_secretbox_xsalsa20poly1305_open @186
+ crypto_stream_salsa20 @187
+ crypto_stream_salsa20_keybytes @188
+ crypto_stream_salsa20_noncebytes @189
+ crypto_stream_salsa20_xor @190
+ crypto_stream_salsa20_xor_ic @191
+ crypto_stream_xsalsa20 @192
+ crypto_stream_xsalsa20_xor @193
+ crypto_verify_16 @194
+ crypto_verify_32 @195
+ cryptopacket_registerhandler @196
+ current_time_monotonic @197
+ custom_lossless_packet_registerhandler @198
+ custom_lossy_packet_registerhandler @199
+ decode_pulses @200
+ decrypt_data @201
+ decrypt_data_symmetric @202
+ del_groupchat @203
+ denormalise_bands @204
+ dequeue @205
+ do_Assoc @206
+ do_DHT @207
+ do_TCP_connection @208
+ do_TCP_server @209
+ do_friends @210
+ do_groupchat @211
+ do_hardening @212
+ do_messenger @213
+ do_net_crypto @214
+ do_onion_client @215
+ do_sema_b_wait_intern @216
+ do_to_ping @217
+ downmix_float @218
+ downmix_int @219
+ eMeans @220
+ ec_dec_bit_logp @221
+ ec_dec_bits @222
+ ec_dec_icdf @223
+ ec_dec_init @224
+ ec_dec_uint @225
+ ec_dec_update @226
+ ec_decode @227
+ ec_decode_bin @228
+ ec_enc_bit_logp @229
+ ec_enc_bits @230
+ ec_enc_done @231
+ ec_enc_icdf @232
+ ec_enc_init @233
+ ec_enc_patch_initial_bits @234
+ ec_enc_shrink @235
+ ec_enc_uint @236
+ ec_encode @237
+ ec_encode_bin @238
+ ec_laplace_decode @239
+ ec_laplace_encode @240
+ ec_tell_frac @241
+ encode_pulses @242
+ encode_size @243
+ encrypt_data @244
+ encrypt_data_symmetric @245
+ encrypt_precompute @246
+ energy_VAD @247
+ extract_ext_header @248
+ extract_header @249
+ file_control @250
+ file_data @251
+ file_dataremaining @252
+ file_sendrequest @253
+ format_output @254
+ frame_size_select @255
+ friend_ips @256
+ friendreq_init @257
+ get_close_nodes @258
+ get_connection_dht_key @259
+ get_friendlist @260
+ get_nospam @261
+ get_num_online_friends @262
+ get_shared_key @263
+ getaddress @264
+ getclient_id @265
+ getfriend_id @266
+ getname @267
+ getself_name @268
+ group_action_send @269
+ group_client_names @270
+ group_message_send @271
+ group_names @272
+ group_newpeer @273
+ group_number_peers @274
+ group_numpeers @275
+ group_peername @276
+ group_sendaction @277
+ group_sendmessage @278
+ haar1 @279
+ handle_groupchatpacket @280
+ handle_request @281
+ host_to_net @282
+ hysteresis_decision @283
+ id_closest @284
+ id_copy @285
+ id_equal @286
+ increment_nonce @287
+ increment_nonce_number @288
+ init_audio_decoder @289
+ init_audio_encoder @290
+ init_caps @291
+ init_video_decoder @292
+ init_video_encoder @293
+ invite_friend @294
+ invoke_callback @295
+ ip_copy @296
+ ip_equal @297
+ ip_init @298
+ ip_isset @299
+ ip_ntoa @300
+ ip_pack @301
+ ip_reset @302
+ ip_unpack @303
+ ipport_copy @304
+ ipport_equal @305
+ ipport_isset @306
+ ipport_pack @307
+ ipport_unpack @308
+ is_timeout @309
+ isqrt32 @310
+ join_groupchat @311
+ kill_Assoc @312
+ kill_DHT @313
+ kill_TCP_connection @314
+ kill_TCP_server @315
+ kill_groupchat @316
+ kill_messenger @317
+ kill_net_crypto @318
+ kill_networking @319
+ kill_onion @320
+ kill_onion_announce @321
+ kill_onion_client @322
+ kill_ping @323
+ kill_sock @324
+ load_keys @325
+ load_state @326
+ m_addfriend @327
+ m_addfriend_norequest @328
+ m_callback_action @329
+ m_callback_connectionstatus @330
+ m_callback_connectionstatus_internal_av @331
+ m_callback_friendmessage @332
+ m_callback_friendrequest @333
+ m_callback_group_action @334
+ m_callback_group_invite @335
+ m_callback_group_message @336
+ m_callback_group_namelistchange @337
+ m_callback_msi_packet @338
+ m_callback_namechange @339
+ m_callback_read_receipt @340
+ m_callback_statusmessage @341
+ m_callback_typingchange @342
+ m_callback_userstatus @343
+ m_copy_self_statusmessage @344
+ m_copy_statusmessage @345
+ m_delfriend @346
+ m_friend_exists @347
+ m_get_friend_connectionstatus @348
+ m_get_istyping @349
+ m_get_last_online @350
+ m_get_name_size @351
+ m_get_self_name_size @352
+ m_get_self_statusmessage_size @353
+ m_get_self_userstatus @354
+ m_get_statusmessage_size @355
+ m_get_userstatus @356
+ m_group_peername @357
+ m_msi_packet @358
+ m_sendaction @359
+ m_sendaction_withid @360
+ m_sendmessage @361
+ m_sendmessage_withid @362
+ m_set_sends_receipts @363
+ m_set_statusmessage @364
+ m_set_userstatus @365
+ m_set_usertyping @366
+ messenger_load @367
+ messenger_run_interval @368
+ messenger_save @369
+ messenger_size @370
+ mlp_process @371
+ msg_parse @372
+ msi_answer @373
+ msi_cancel @374
+ msi_change_csettings @375
+ msi_hangup @376
+ msi_init_session @377
+ msi_invite @378
+ msi_msg_get_csettings @379
+ msi_msg_set_callid @380
+ msi_msg_set_csettings @381
+ msi_msg_set_reason @382
+ msi_new_message @383
+ msi_register_callback @384
+ msi_reject @385
+ msi_stopcall @386
+ msi_terminate_session @387
+ mutex_print @388
+ mutex_print_set @389
+ net @390
+ networking_at_startup @391
+ networking_poll @392
+ networking_registerhandler @393
+ new_Assoc @394
+ new_Assoc_default @395
+ new_DHT @396
+ new_TCP_connection @397
+ new_TCP_server @398
+ new_connection_handler @399
+ new_crypto_connection @400
+ new_filesender @401
+ new_groupchat @402
+ new_keys @403
+ new_messenger @404
+ new_net_crypto @405
+ new_networking @406
+ new_nonce @407
+ new_onion @408
+ new_onion_announce @409
+ new_onion_client @410
+ new_ping @411
+ new_symmetric_key @412
+ normalise_bands @413
+ onion_add_path_node @414
+ onion_addfriend @415
+ onion_backup_nodes @416
+ onion_delfriend @417
+ onion_friend_num @418
+ onion_getfriend_DHT_pubkey @419
+ onion_getfriendip @420
+ onion_isconnected @421
+ onion_response_handler @422
+ onion_send_1 @423
+ onion_set_friend_DHT_pubkey @424
+ onion_set_friend_online @425
+ oniondata_registerhandler @426
+ oob_data_handler @427
+ optimize_framesize @428
+ opus_custom_decoder_ctl @429
+ opus_custom_encoder_ctl @430
+ opus_custom_mode_create @431
+ opus_decode @432
+ opus_decode_float @433
+ opus_decode_native @434
+ opus_decoder_create @435
+ opus_decoder_ctl @436
+ opus_decoder_destroy @437
+ opus_decoder_get_nb_samples @438
+ opus_decoder_get_size @439
+ opus_decoder_init @440
+ opus_encode @441
+ opus_encode_float @442
+ opus_encode_native @443
+ opus_encoder_create @444
+ opus_encoder_ctl @445
+ opus_encoder_destroy @446
+ opus_encoder_get_size @447
+ opus_encoder_init @448
+ opus_fft @449
+ opus_get_version_string @450
+ opus_ifft @451
+ opus_multistream_packet_pad @452
+ opus_multistream_packet_unpad @453
+ opus_packet_get_bandwidth @454
+ opus_packet_get_nb_channels @455
+ opus_packet_get_nb_frames @456
+ opus_packet_get_nb_samples @457
+ opus_packet_get_samples_per_frame @458
+ opus_packet_pad @459
+ opus_packet_parse @460
+ opus_packet_parse_impl @461
+ opus_packet_unpad @462
+ opus_pcm_soft_clip @463
+ opus_repacketizer_cat @464
+ opus_repacketizer_create @465
+ opus_repacketizer_destroy @466
+ opus_repacketizer_get_nb_frames @467
+ opus_repacketizer_get_size @468
+ opus_repacketizer_init @469
+ opus_repacketizer_out @470
+ opus_repacketizer_out_range @471
+ opus_repacketizer_out_range_impl @472
+ opus_strerror @473
+ pack_nodes @474
+ parse_recv @475
+ parse_send @476
+ patch_transient_decision @477
+ ping_array_add @478
+ ping_array_check @479
+ ping_array_free_all @480
+ ping_array_init @481
+ pitch_downsample @482
+ pitch_search @483
+ pthread_attr_destroy @484
+ pthread_attr_getdetachstate @485
+ pthread_attr_getinheritsched @486
+ pthread_attr_getscope @487
+ pthread_attr_getstackaddr @488
+ pthread_attr_getstacksize @489
+ pthread_attr_init @490
+ pthread_attr_setdetachstate @491
+ pthread_attr_setinheritsched @492
+ pthread_attr_setscope @493
+ pthread_attr_setstackaddr @494
+ pthread_attr_setstacksize @495
+ pthread_cancel @496
+ pthread_cond_broadcast @497
+ pthread_cond_destroy @498
+ pthread_cond_init @499
+ pthread_cond_signal @500
+ pthread_cond_timedwait @501
+ pthread_cond_timedwait_relative @502
+ pthread_cond_wait @503
+ pthread_condattr_destroy @504
+ pthread_condattr_getclock @505
+ pthread_condattr_getpshared @506
+ pthread_condattr_init @507
+ pthread_condattr_setclock @508
+ pthread_condattr_setpshared @509
+ pthread_create @510
+ pthread_create_wrapper @511
+ pthread_delay_np @512
+ pthread_delay_np_ms @513
+ pthread_detach @514
+ pthread_equal @515
+ pthread_exit @516
+ pthread_get_concurrency @517
+ pthread_getclean @518
+ pthread_getconcurrency @519
+ pthread_getevent @520
+ pthread_gethandle @521
+ pthread_getspecific @522
+ pthread_join @523
+ pthread_key_create @524
+ pthread_key_delete @525
+ pthread_kill @526
+ pthread_mutex_destroy @527
+ pthread_mutex_init @528
+ pthread_mutex_lock @529
+ pthread_mutex_timedlock @530
+ pthread_mutex_trylock @531
+ pthread_mutex_unlock @532
+ pthread_mutexattr_destroy @533
+ pthread_mutexattr_getprioceiling @534
+ pthread_mutexattr_getprotocol @535
+ pthread_mutexattr_getpshared @536
+ pthread_mutexattr_gettype @537
+ pthread_mutexattr_init @538
+ pthread_mutexattr_setprioceiling @539
+ pthread_mutexattr_setprotocol @540
+ pthread_mutexattr_setpshared @541
+ pthread_mutexattr_settype @542
+ pthread_num_processors_np @543
+ pthread_once @544
+ pthread_rwlock_destroy @545
+ pthread_rwlock_init @546
+ pthread_rwlock_rdlock @547
+ pthread_rwlock_timedrdlock @548
+ pthread_rwlock_timedwrlock @549
+ pthread_rwlock_tryrdlock @550
+ pthread_rwlock_trywrlock @551
+ pthread_rwlock_unlock @552
+ pthread_rwlock_wrlock @553
+ pthread_rwlockattr_destroy @554
+ pthread_rwlockattr_getpshared @555
+ pthread_rwlockattr_init @556
+ pthread_rwlockattr_setpshared @557
+ pthread_self @558
+ pthread_set_concurrency @559
+ pthread_set_num_processors_np @560
+ pthread_setcancelstate @561
+ pthread_setcanceltype @562
+ pthread_setconcurrency @563
+ pthread_setspecific @564
+ pthread_spin_destroy @565
+ pthread_spin_init @566
+ pthread_spin_lock @567
+ pthread_spin_trylock @568
+ pthread_spin_unlock @569
+ pthread_testcancel @570
+ pthread_timechange_handler_np @571
+ pthread_tls_init @572
+ public_key_valid @573
+ quant_all_bands @574
+ quant_coarse_energy @575
+ quant_energy_finalise @576
+ quant_fine_energy @577
+ queue @578
+ random_64b @579
+ random_int @580
+ random_node @581
+ random_nodes_path @582
+ random_nonce @583
+ randombytes @584
+ randombytes_buf @585
+ randombytes_close @586
+ randombytes_implementation_name @587
+ randombytes_random @588
+ randombytes_set_implementation @589
+ randombytes_stir @590
+ randombytes_sysrandom @591
+ randombytes_sysrandom_buf @592
+ randombytes_sysrandom_close @593
+ randombytes_sysrandom_implementation @594
+ randombytes_sysrandom_implementation_name @595
+ randombytes_sysrandom_stir @596
+ randombytes_sysrandom_uniform @597
+ randombytes_uniform @598
+ read_TCP_length @599
+ read_TCP_packet @600
+ read_packet_TCP_secure_connection @601
+ realloc_friendlist @602
+ reconfigure_video_encoder_bitrate @603
+ reconfigure_video_encoder_resolution @604
+ recv_tcp_relay_handler @605
+ remove_doubling @606
+ remove_request_received @607
+ renormalise_vector @608
+ resampling_factor @609
+ route_packet @610
+ route_tofriend @611
+ routing_data_handler @612
+ routing_response_handler @613
+ routing_status_handler @614
+ rtp_free_msg @615
+ rtp_handle_packet @616
+ rtp_init_session @617
+ rtp_new_message @618
+ rtp_send_msg @619
+ rtp_terminate_session @620
+ run_analysis @621
+ rwl_print @622
+ rwl_print_set @623
+ save_keys @624
+ send_LANdiscovery @625
+ send_announce_request @626
+ send_custom_lossless_packet @627
+ send_custom_lossy_packet @628
+ send_data @629
+ send_data_request @630
+ send_disconnect_request @631
+ send_friendrequest @632
+ send_lossy_cryptpacket @633
+ send_onion_data @634
+ send_onion_packet @635
+ send_onion_request @636
+ send_onion_response @637
+ send_oob_packet @638
+ send_ping_request @639
+ send_reponse @640
+ send_routing_request @641
+ send_tcp_onion_request @642
+ sendpacket @643
+ set_callback_handle_recv_1 @644
+ set_connection_dht_public_key @645
+ set_direct_ip_port @646
+ set_filter_function @647
+ set_nick @648
+ set_nospam @649
+ set_socket_dualstack @650
+ set_socket_nonblock @651
+ set_socket_nosigpipe @652
+ set_tcp_connection_number @653
+ setfriendname @654
+ setname @655
+ silk_A2NLSF @656
+ silk_A2NLSF_FLP @657
+ silk_CB_lags_stage2 @658
+ silk_CB_lags_stage2_10_ms @659
+ silk_CB_lags_stage3 @660
+ silk_CB_lags_stage3_10_ms @661
+ silk_CNG @662
+ silk_CNG_Reset @663
+ silk_Decode @664
+ silk_Encode @665
+ silk_Get_Decoder_Size @666
+ silk_Get_Encoder_Size @667
+ silk_HP_variable_cutoff @668
+ silk_InitDecoder @669
+ silk_InitEncoder @670
+ silk_LBRR_flags_iCDF_ptr @671
+ silk_LPC_analysis_filter @672
+ silk_LPC_analysis_filter_FLP @673
+ silk_LPC_inverse_pred_gain @674
+ silk_LPC_inverse_pred_gain_FLP @675
+ silk_LP_variable_cutoff @676
+ silk_LSFCosTab_FIX_Q12 @677
+ silk_LTPScales_table_Q14 @678
+ silk_LTP_analysis_filter_FLP @679
+ silk_LTP_gain_BITS_Q5_ptrs @680
+ silk_LTP_gain_iCDF_ptrs @681
+ silk_LTP_gain_middle_avg_RD_Q14 @682
+ silk_LTP_per_index_iCDF @683
+ silk_LTP_scale_ctrl_FLP @684
+ silk_LTP_vq_gain_ptrs_Q7 @685
+ silk_LTP_vq_ptrs_Q7 @686
+ silk_LTP_vq_sizes @687
+ silk_LTPscale_iCDF @688
+ silk_Lag_range_stage3 @689
+ silk_Lag_range_stage3_10_ms @690
+ silk_NLSF2A @691
+ silk_NLSF2A_FLP @692
+ silk_NLSF_CB_NB_MB @693
+ silk_NLSF_CB_WB @694
+ silk_NLSF_EXT_iCDF @695
+ silk_NLSF_VQ @696
+ silk_NLSF_VQ_weights_laroia @697
+ silk_NLSF_decode @698
+ silk_NLSF_del_dec_quant @699
+ silk_NLSF_encode @700
+ silk_NLSF_interpolation_factor_iCDF @701
+ silk_NLSF_stabilize @702
+ silk_NLSF_unpack @703
+ silk_NSQ @704
+ silk_NSQ_del_dec @705
+ silk_NSQ_wrapper_FLP @706
+ silk_PLC @707
+ silk_PLC_Reset @708
+ silk_PLC_glue_frames @709
+ silk_Quantization_Offsets_Q10 @710
+ silk_Resampler_1_2_COEFS @711
+ silk_Resampler_1_3_COEFS @712
+ silk_Resampler_1_4_COEFS @713
+ silk_Resampler_1_6_COEFS @714
+ silk_Resampler_2_3_COEFS @715
+ silk_Resampler_2_3_COEFS_LQ @716
+ silk_Resampler_3_4_COEFS @717
+ silk_SNR_table_Q1 @718
+ silk_TargetRate_table_MB @719
+ silk_TargetRate_table_NB @720
+ silk_TargetRate_table_WB @721
+ silk_Transition_LP_A_Q28 @722
+ silk_Transition_LP_B_Q28 @723
+ silk_VAD_GetSA_Q8 @724
+ silk_VAD_Init @725
+ silk_VQ_WMat_EC @726
+ silk_ana_filt_bank_1 @727
+ silk_apply_sine_window_FLP @728
+ silk_autocorrelation_FLP @729
+ silk_biquad_alt @730
+ silk_burg_modified_FLP @731
+ silk_bwexpander @732
+ silk_bwexpander_32 @733
+ silk_bwexpander_FLP @734
+ silk_control_SNR @735
+ silk_control_audio_bandwidth @736
+ silk_control_encoder @737
+ silk_corrMatrix_FLP @738
+ silk_corrVector_FLP @739
+ silk_decode_core @740
+ silk_decode_frame @741
+ silk_decode_indices @742
+ silk_decode_parameters @743
+ silk_decode_pitch @744
+ silk_decode_pulses @745
+ silk_decode_signs @746
+ silk_decoder_set_fs @747
+ silk_delta_gain_iCDF @748
+ silk_encode_do_VAD_FLP @749
+ silk_encode_frame_FLP @750
+ silk_encode_indices @751
+ silk_encode_pulses @752
+ silk_encode_signs @753
+ silk_energy_FLP @754
+ silk_find_LPC_FLP @755
+ silk_find_LTP_FLP @756
+ silk_find_pitch_lags_FLP @757
+ silk_find_pred_coefs_FLP @758
+ silk_gain_iCDF @759
+ silk_gains_ID @760
+ silk_gains_dequant @761
+ silk_gains_quant @762
+ silk_init_decoder @763
+ silk_init_encoder @764
+ silk_inner_prod_aligned_scale @765
+ silk_inner_product_FLP @766
+ silk_insertion_sort_decreasing_FLP @767
+ silk_insertion_sort_increasing @768
+ silk_insertion_sort_increasing_all_values_int16 @769
+ silk_interpolate @770
+ silk_k2a_FLP @771
+ silk_levinsondurbin_FLP @772
+ silk_lin2log @773
+ silk_log2lin @774
+ silk_lsb_iCDF @775
+ silk_max_pulses_table @776
+ silk_nb_cbk_searchs_stage3 @777
+ silk_noise_shape_analysis_FLP @778
+ silk_pitch_analysis_core_FLP @779
+ silk_pitch_contour_10_ms_NB_iCDF @780
+ silk_pitch_contour_10_ms_iCDF @781
+ silk_pitch_contour_NB_iCDF @782
+ silk_pitch_contour_iCDF @783
+ silk_pitch_delta_iCDF @784
+ silk_pitch_lag_iCDF @785
+ silk_prefilter_FLP @786
+ silk_process_NLSFs @787
+ silk_process_NLSFs_FLP @788
+ silk_process_gains_FLP @789
+ silk_pulses_per_block_BITS_Q5 @790
+ silk_pulses_per_block_iCDF @791
+ silk_quant_LTP_gains @792
+ silk_quant_LTP_gains_FLP @793
+ silk_rate_levels_BITS_Q5 @794
+ silk_rate_levels_iCDF @795
+ silk_regularize_correlations_FLP @796
+ silk_resampler @797
+ silk_resampler_down2 @798
+ silk_resampler_down2_3 @799
+ silk_resampler_frac_FIR_12 @800
+ silk_resampler_init @801
+ silk_resampler_private_AR2 @802
+ silk_resampler_private_IIR_FIR @803
+ silk_resampler_private_down_FIR @804
+ silk_resampler_private_up2_HQ @805
+ silk_resampler_private_up2_HQ_wrapper @806
+ silk_residual_energy_FLP @807
+ silk_residual_energy_covar_FLP @808
+ silk_scale_copy_vector_FLP @809
+ silk_scale_vector_FLP @810
+ silk_schur_FLP @811
+ silk_shell_code_table0 @812
+ silk_shell_code_table1 @813
+ silk_shell_code_table2 @814
+ silk_shell_code_table3 @815
+ silk_shell_code_table_offsets @816
+ silk_shell_decoder @817
+ silk_shell_encoder @818
+ silk_sigm_Q15 @819
+ silk_sign_iCDF @820
+ silk_solve_LDL_FLP @821
+ silk_stereo_LR_to_MS @822
+ silk_stereo_MS_to_LR @823
+ silk_stereo_decode_mid_only @824
+ silk_stereo_decode_pred @825
+ silk_stereo_encode_mid_only @826
+ silk_stereo_encode_pred @827
+ silk_stereo_find_predictor @828
+ silk_stereo_only_code_mid_iCDF @829
+ silk_stereo_pred_joint_iCDF @830
+ silk_stereo_pred_quant_Q13 @831
+ silk_stereo_quant_pred @832
+ silk_sum_sqr_shift @833
+ silk_type_offset_VAD_iCDF @834
+ silk_type_offset_no_VAD_iCDF @835
+ silk_uniform3_iCDF @836
+ silk_uniform4_iCDF @837
+ silk_uniform5_iCDF @838
+ silk_uniform6_iCDF @839
+ silk_uniform8_iCDF @840
+ silk_warped_autocorrelation_FLP @841
+ sock_valid @842
+ sodium_bin2hex @843
+ sodium_hex2bin @844
+ sodium_init @845
+ sodium_memcmp @846
+ sodium_memzero @847
+ sodium_mlock @848
+ sodium_munlock @849
+ sodium_runtime_get_cpu_features @850
+ sodium_runtime_has_neon @851
+ sodium_runtime_has_sse2 @852
+ sodium_runtime_has_sse3 @853
+ spreading_decision @854
+ stereo_itheta @855
+ tcp_onion_response_handler @856
+ terminate_queue @857
+ tf_select_table @858
+ thread_print @859
+ thread_print_set @860
+ to_host_family @861
+ to_net_family @862
+ tonality_analysis @863
+ tonality_get_info @864
+ tox_add_friend @865
+ tox_add_friend_norequest @866
+ tox_add_groupchat @867
+ tox_bootstrap_from_address @868
+ tox_callback_connection_status @869
+ tox_callback_file_control @870
+ tox_callback_file_data @871
+ tox_callback_file_send_request @872
+ tox_callback_friend_action @873
+ tox_callback_friend_message @874
+ tox_callback_friend_request @875
+ tox_callback_group_action @876
+ tox_callback_group_invite @877
+ tox_callback_group_message @878
+ tox_callback_group_namelist_change @879
+ tox_callback_name_change @880
+ tox_callback_read_receipt @881
+ tox_callback_status_message @882
+ tox_callback_typing_change @883
+ tox_callback_user_status @884
+ tox_count_chatlist @885
+ tox_count_friendlist @886
+ tox_decrypt_dns3_TXT @887
+ tox_del_friend @888
+ tox_del_groupchat @889
+ tox_dns3_kill @890
+ tox_dns3_new @891
+ tox_do @892
+ tox_do_interval @893
+ tox_file_data_remaining @894
+ tox_file_data_size @895
+ tox_file_send_control @896
+ tox_file_send_data @897
+ tox_friend_exists @898
+ tox_generate_dns3_string @899
+ tox_get_address @900
+ tox_get_chatlist @901
+ tox_get_client_id @902
+ tox_get_friend_connection_status @903
+ tox_get_friend_number @904
+ tox_get_friendlist @905
+ tox_get_is_typing @906
+ tox_get_keys @907
+ tox_get_last_online @908
+ tox_get_name @909
+ tox_get_name_size @910
+ tox_get_nospam @911
+ tox_get_num_online_friends @912
+ tox_get_self_name @913
+ tox_get_self_name_size @914
+ tox_get_self_status_message @915
+ tox_get_self_status_message_size @916
+ tox_get_self_user_status @917
+ tox_get_status_message @918
+ tox_get_status_message_size @919
+ tox_get_user_status @920
+ tox_group_action_send @921
+ tox_group_get_names @922
+ tox_group_message_send @923
+ tox_group_number_peers @924
+ tox_group_peername @925
+ tox_invite_friend @926
+ tox_isconnected @927
+ tox_join_groupchat @928
+ tox_kill @929
+ tox_load @930
+ tox_new @931
+ tox_new_file_sender @932
+ tox_save @933
+ tox_send_action @934
+ tox_send_action_withid @935
+ tox_send_message @936
+ tox_send_message_withid @937
+ tox_set_name @938
+ tox_set_nospam @939
+ tox_set_status_message @940
+ tox_set_user_is_typing @941
+ tox_set_user_status @942
+ tox_size @943
+ toxav_answer @944
+ toxav_call @945
+ toxav_cancel @946
+ toxav_capability_supported @947
+ toxav_change_settings @948
+ toxav_get_call_state @949
+ toxav_get_peer_csettings @950
+ toxav_get_peer_id @951
+ toxav_get_tox @952
+ toxav_handle_packet @953
+ toxav_hangup @954
+ toxav_has_activity @955
+ toxav_kill @956
+ toxav_kill_transmission @957
+ toxav_new @958
+ toxav_prepare_audio_frame @959
+ toxav_prepare_transmission @960
+ toxav_prepare_video_frame @961
+ toxav_register_audio_recv_callback @962
+ toxav_register_callstate_callback @963
+ toxav_register_video_recv_callback @964
+ toxav_reject @965
+ toxav_send_audio @966
+ toxav_send_video @967
+ toxav_stop_call @968
+ unix_time @969
+ unix_time_update @970
+ unpack_nodes @971
+ unquant_coarse_energy @972
+ unquant_energy_finalise @973
+ unquant_fine_energy @974
+ vp8_ac2quant @975
+ vp8_ac_uv_quant @976
+ vp8_ac_yquant @977
+ vp8_activity_masking @978
+ vp8_adjust_key_frame_context @979
+ vp8_alloc_compressor_data @980
+ vp8_alloc_frame_buffers @981
+ vp8_auto_select_speed @982
+ vp8_bilinear_filters @983
+ vp8_bilinear_filters_x86_4 @984
+ vp8_bilinear_filters_x86_8 @985
+ vp8_bilinear_predict16x16 @986
+ vp8_bilinear_predict16x16_c @987
+ vp8_bilinear_predict16x16_mmx @988
+ vp8_bilinear_predict16x16_sse2 @989
+ vp8_bilinear_predict16x16_ssse3 @990
+ vp8_bilinear_predict4x4 @991
+ vp8_bilinear_predict4x4_c @992
+ vp8_bilinear_predict4x4_mmx @993
+ vp8_bilinear_predict8x4 @994
+ vp8_bilinear_predict8x4_c @995
+ vp8_bilinear_predict8x4_mmx @996
+ vp8_bilinear_predict8x8 @997
+ vp8_bilinear_predict8x8_c @998
+ vp8_bilinear_predict8x8_mmx @999
+ vp8_bilinear_predict8x8_sse2 @1000
+ vp8_bilinear_predict8x8_ssse3 @1001
+ vp8_bits_per_mb @1002
+ vp8_blend_b_c @1003
+ vp8_blend_mb_inner_c @1004
+ vp8_blend_mb_outer_c @1005
+ vp8_block2above @1006
+ vp8_block2left @1007
+ vp8_block_error @1008
+ vp8_block_error_c @1009
+ vp8_block_error_mmx @1010
+ vp8_block_error_xmm @1011
+ vp8_bmode_encodings @1012
+ vp8_bmode_prob @1013
+ vp8_bmode_tree @1014
+ vp8_build_block_doffsets @1015
+ vp8_build_block_offsets @1016
+ vp8_build_component_cost_table @1017
+ vp8_build_inter16x16_predictors_mb @1018
+ vp8_build_inter16x16_predictors_mbuv @1019
+ vp8_build_inter16x16_predictors_mby @1020
+ vp8_build_inter4x4_predictors_mbuv @1021
+ vp8_build_inter_predictors_b @1022
+ vp8_build_inter_predictors_mb @1023
+ vp8_build_intra_predictors_mbuv_s @1024
+ vp8_build_intra_predictors_mbuv_s_c @1025
+ vp8_build_intra_predictors_mbuv_s_sse2 @1026
+ vp8_build_intra_predictors_mbuv_s_ssse3 @1027
+ vp8_build_intra_predictors_mby_s @1028
+ vp8_build_intra_predictors_mby_s_c @1029
+ vp8_build_intra_predictors_mby_s_sse2 @1030
+ vp8_build_intra_predictors_mby_s_ssse3 @1031
+ vp8_cal_sad @1032
+ vp8_calc_ref_frame_costs @1033
+ vp8_calc_ss_err @1034
+ vp8_change_config @1035
+ vp8_clear_system_state @1036
+ vp8_clear_system_state_c @1037
+ vp8_coef_bands @1038
+ vp8_coef_encodings @1039
+ vp8_coef_tree @1040
+ vp8_coef_update_probs @1041
+ vp8_compute_frame_size_bounds @1042
+ vp8_convert_rfct_to_prob @1043
+ vp8_copy32xn @1044
+ vp8_copy32xn_c @1045
+ vp8_copy32xn_sse2 @1046
+ vp8_copy32xn_sse3 @1047
+ vp8_copy_and_extend_frame @1048
+ vp8_copy_and_extend_frame_with_rect @1049
+ vp8_copy_mem16x16 @1050
+ vp8_copy_mem16x16_c @1051
+ vp8_copy_mem16x16_mmx @1052
+ vp8_copy_mem16x16_sse2 @1053
+ vp8_copy_mem8x4 @1054
+ vp8_copy_mem8x4_c @1055
+ vp8_copy_mem8x4_mmx @1056
+ vp8_copy_mem8x8 @1057
+ vp8_copy_mem8x8_c @1058
+ vp8_copy_mem8x8_mmx @1059
+ vp8_cost_mv_ref @1060
+ vp8_cost_tokens @1061
+ vp8_cost_tokens2 @1062
+ vp8_create_common @1063
+ vp8_create_compressor @1064
+ vp8_create_decoder_instances @1065
+ vp8_ctf_maps @1066
+ vp8_dc2quant @1067
+ vp8_dc_only_idct_add @1068
+ vp8_dc_only_idct_add_c @1069
+ vp8_dc_only_idct_add_mmx @1070
+ vp8_dc_quant @1071
+ vp8_dc_uv_quant @1072
+ vp8_dct_value_cost_ptr @1073
+ vp8_dct_value_tokens_ptr @1074
+ vp8_de_alloc_frame_buffers @1075
+ vp8_deblock @1076
+ vp8_decode_frame @1077
+ vp8_decode_mb_tokens @1078
+ vp8_decode_mode_mvs @1079
+ vp8_decoder_create_threads @1080
+ vp8_decoder_remove_threads @1081
+ vp8_default_bmode_probs @1082
+ vp8_default_coef_probs @1083
+ vp8_default_inv_zig_zag @1084
+ vp8_default_mv_context @1085
+ vp8_default_zig_zag1d @1086
+ vp8_default_zig_zag_mask @1087
+ vp8_denoiser_allocate @1088
+ vp8_denoiser_denoise_mb @1089
+ vp8_denoiser_filter @1090
+ vp8_denoiser_filter_c @1091
+ vp8_denoiser_filter_sse2 @1092
+ vp8_denoiser_free @1093
+ vp8_dequant_idct_add @1094
+ vp8_dequant_idct_add_c @1095
+ vp8_dequant_idct_add_mmx @1096
+ vp8_dequant_idct_add_uv_block @1097
+ vp8_dequant_idct_add_uv_block_c @1098
+ vp8_dequant_idct_add_uv_block_mmx @1099
+ vp8_dequant_idct_add_uv_block_sse2 @1100
+ vp8_dequant_idct_add_y_block @1101
+ vp8_dequant_idct_add_y_block_c @1102
+ vp8_dequant_idct_add_y_block_mmx @1103
+ vp8_dequant_idct_add_y_block_sse2 @1104
+ vp8_dequantize_b @1105
+ vp8_dequantize_b_c @1106
+ vp8_dequantize_b_impl_mmx @1107
+ vp8_dequantize_b_mmx @1108
+ vp8_diamond_search_sad @1109
+ vp8_diamond_search_sad_c @1110
+ vp8_diamond_search_sadx4 @1111
+ vp8_encode_frame @1112
+ vp8_encode_inter16x16 @1113
+ vp8_encode_inter16x16y @1114
+ vp8_encode_intra @1115
+ vp8_encode_intra16x16mbuv @1116
+ vp8_encode_intra16x16mby @1117
+ vp8_encode_intra4x4block @1118
+ vp8_encode_intra4x4mby @1119
+ vp8_encode_motion_vector @1120
+ vp8_encode_value @1121
+ vp8_end_first_pass @1122
+ vp8_end_second_pass @1123
+ vp8_estimate_entropy_savings @1124
+ vp8_extend_mb_row @1125
+ vp8_extra_bits @1126
+ vp8_fast_quantize_b @1127
+ vp8_fast_quantize_b_c @1128
+ vp8_fast_quantize_b_impl_mmx @1129
+ vp8_fast_quantize_b_mmx @1130
+ vp8_fast_quantize_b_pair_c @1131
+ vp8_fast_quantize_b_sse2 @1132
+ vp8_fast_quantize_b_ssse3 @1133
+ vp8_filter_block1d16_h6_only_sse2 @1134
+ vp8_filter_block1d16_h6_sse2 @1135
+ vp8_filter_block1d16_h6_ssse3 @1136
+ vp8_filter_block1d16_v6_sse2 @1137
+ vp8_filter_block1d16_v6_ssse3 @1138
+ vp8_filter_block1d4_h6_ssse3 @1139
+ vp8_filter_block1d4_v6_ssse3 @1140
+ vp8_filter_block1d8_h6_only_sse2 @1141
+ vp8_filter_block1d8_h6_sse2 @1142
+ vp8_filter_block1d8_h6_ssse3 @1143
+ vp8_filter_block1d8_v6_only_sse2 @1144
+ vp8_filter_block1d8_v6_sse2 @1145
+ vp8_filter_block1d8_v6_ssse3 @1146
+ vp8_filter_block1d_h6_mmx @1147
+ vp8_filter_block1dc_v6_mmx @1148
+ vp8_filter_block2d_bil4x4_var_mmx @1149
+ vp8_filter_block2d_bil_var_mmx @1150
+ vp8_filter_block2d_bil_var_sse2 @1151
+ vp8_filter_block2d_bil_var_ssse3 @1152
+ vp8_filter_by_weight16x16 @1153
+ vp8_filter_by_weight16x16_c @1154
+ vp8_filter_by_weight16x16_sse2 @1155
+ vp8_filter_by_weight4x4_c @1156
+ vp8_filter_by_weight8x8 @1157
+ vp8_filter_by_weight8x8_c @1158
+ vp8_filter_by_weight8x8_sse2 @1159
+ vp8_find_best_half_pixel_step @1160
+ vp8_find_best_sub_pixel_step @1161
+ vp8_find_best_sub_pixel_step_iteratively @1162
+ vp8_find_near_mvs @1163
+ vp8_find_near_mvs_bias @1164
+ vp8_first_pass @1165
+ vp8_fix_contexts @1166
+ vp8_full_search_sad @1167
+ vp8_full_search_sad_c @1168
+ vp8_full_search_sadx3 @1169
+ vp8_full_search_sadx8 @1170
+ vp8_gaussian @1171
+ vp8_get16x16var_sse2 @1172
+ vp8_get4x4sse_cs @1173
+ vp8_get4x4sse_cs_c @1174
+ vp8_get4x4sse_cs_mmx @1175
+ vp8_get4x4var_mmx @1176
+ vp8_get8x8var_mmx @1177
+ vp8_get8x8var_sse2 @1178
+ vp8_get_compressed_data @1179
+ vp8_get_inter_mbpred_error @1180
+ vp8_get_mb_ss @1181
+ vp8_get_mb_ss_c @1182
+ vp8_get_mb_ss_mmx @1183
+ vp8_get_mb_ss_sse2 @1184
+ vp8_get_preview_raw_frame @1185
+ vp8_get_quantizer @1186
+ vp8_get_reference @1187
+ vp8_gf_boost_qadjustment @1188
+ vp8_half_horiz_variance16x_h_sse2 @1189
+ vp8_half_horiz_variance8x_h_sse2 @1190
+ vp8_half_horiz_vert_variance16x_h_sse2 @1191
+ vp8_half_horiz_vert_variance8x_h_sse2 @1192
+ vp8_half_vert_variance16x_h_sse2 @1193
+ vp8_half_vert_variance8x_h_sse2 @1194
+ vp8_hex_search @1195
+ vp8_horizontal_line_2_1_scale_c @1196
+ vp8_horizontal_line_5_3_scale_c @1197
+ vp8_horizontal_line_5_4_scale_c @1198
+ vp8_idct_dequant_0_2x_sse2 @1199
+ vp8_idct_dequant_dc_0_2x_sse2 @1200
+ vp8_idct_dequant_dc_full_2x_sse2 @1201
+ vp8_idct_dequant_full_2x_sse2 @1202
+ vp8_init3smotion_compensation @1203
+ vp8_init_dsmotion_compensation @1204
+ vp8_init_first_pass @1205
+ vp8_init_mbmode_probs @1206
+ vp8_init_mode_costs @1207
+ vp8_init_second_pass @1208
+ vp8_initialize_rd_consts @1209
+ vp8_intra4x4_predict_c @1210
+ vp8_intra_pred_uv_dc128_mmx @1211
+ vp8_intra_pred_uv_dc_mmx2 @1212
+ vp8_intra_pred_uv_dcleft_mmx2 @1213
+ vp8_intra_pred_uv_dctop_mmx2 @1214
+ vp8_intra_pred_uv_ho_mmx2 @1215
+ vp8_intra_pred_uv_ho_ssse3 @1216
+ vp8_intra_pred_uv_tm_sse2 @1217
+ vp8_intra_pred_uv_tm_ssse3 @1218
+ vp8_intra_pred_uv_ve_mmx @1219
+ vp8_intra_pred_y_dc128_sse2 @1220
+ vp8_intra_pred_y_dc_sse2 @1221
+ vp8_intra_pred_y_dcleft_sse2 @1222
+ vp8_intra_pred_y_dctop_sse2 @1223
+ vp8_intra_pred_y_ho_sse2 @1224
+ vp8_intra_pred_y_tm_sse2 @1225
+ vp8_intra_pred_y_tm_ssse3 @1226
+ vp8_intra_pred_y_ve_sse2 @1227
+ vp8_kf_bmode_prob @1228
+ vp8_kf_uv_mode_prob @1229
+ vp8_kf_ymode_encodings @1230
+ vp8_kf_ymode_prob @1231
+ vp8_kf_ymode_tree @1232
+ vp8_lookahead_depth @1233
+ vp8_lookahead_destroy @1234
+ vp8_lookahead_init @1235
+ vp8_lookahead_peek @1236
+ vp8_lookahead_pop @1237
+ vp8_lookahead_push @1238
+ vp8_loop_filter_bh @1239
+ vp8_loop_filter_bh_c @1240
+ vp8_loop_filter_bh_mmx @1241
+ vp8_loop_filter_bh_sse2 @1242
+ vp8_loop_filter_bhs_c @1243
+ vp8_loop_filter_bhs_mmx @1244
+ vp8_loop_filter_bhs_sse2 @1245
+ vp8_loop_filter_bv @1246
+ vp8_loop_filter_bv_c @1247
+ vp8_loop_filter_bv_mmx @1248
+ vp8_loop_filter_bv_sse2 @1249
+ vp8_loop_filter_bvs_c @1250
+ vp8_loop_filter_bvs_mmx @1251
+ vp8_loop_filter_bvs_sse2 @1252
+ vp8_loop_filter_frame @1253
+ vp8_loop_filter_frame_init @1254
+ vp8_loop_filter_frame_yonly @1255
+ vp8_loop_filter_horizontal_edge_c @1256
+ vp8_loop_filter_horizontal_edge_mmx @1257
+ vp8_loop_filter_horizontal_edge_sse2 @1258
+ vp8_loop_filter_horizontal_edge_uv_sse2 @1259
+ vp8_loop_filter_init @1260
+ vp8_loop_filter_mbh @1261
+ vp8_loop_filter_mbh_c @1262
+ vp8_loop_filter_mbh_mmx @1263
+ vp8_loop_filter_mbh_sse2 @1264
+ vp8_loop_filter_mbv @1265
+ vp8_loop_filter_mbv_c @1266
+ vp8_loop_filter_mbv_mmx @1267
+ vp8_loop_filter_mbv_sse2 @1268
+ vp8_loop_filter_partial_frame @1269
+ vp8_loop_filter_row_normal @1270
+ vp8_loop_filter_row_simple @1271
+ vp8_loop_filter_simple_bh @1272
+ vp8_loop_filter_simple_bv @1273
+ vp8_loop_filter_simple_horizontal_edge_c @1274
+ vp8_loop_filter_simple_horizontal_edge_mmx @1275
+ vp8_loop_filter_simple_horizontal_edge_sse2 @1276
+ vp8_loop_filter_simple_mbh @1277
+ vp8_loop_filter_simple_mbv @1278
+ vp8_loop_filter_simple_vertical_edge_c @1279
+ vp8_loop_filter_simple_vertical_edge_mmx @1280
+ vp8_loop_filter_simple_vertical_edge_sse2 @1281
+ vp8_loop_filter_update_sharpness @1282
+ vp8_loop_filter_vertical_edge_c @1283
+ vp8_loop_filter_vertical_edge_mmx @1284
+ vp8_loop_filter_vertical_edge_sse2 @1285
+ vp8_loop_filter_vertical_edge_uv_sse2 @1286
+ vp8_loopfilter_frame @1287
+ vp8_machine_specific_config @1288
+ vp8_mb_feature_data_bits @1289
+ vp8_mb_init_dequantizer @1290
+ vp8_mbblock_error @1291
+ vp8_mbblock_error_c @1292
+ vp8_mbblock_error_mmx @1293
+ vp8_mbblock_error_mmx_impl @1294
+ vp8_mbblock_error_xmm @1295
+ vp8_mbblock_error_xmm_impl @1296
+ vp8_mbloop_filter_horizontal_edge_c @1297
+ vp8_mbloop_filter_horizontal_edge_mmx @1298
+ vp8_mbloop_filter_horizontal_edge_sse2 @1299
+ vp8_mbloop_filter_horizontal_edge_uv_sse2 @1300
+ vp8_mbloop_filter_vertical_edge_c @1301
+ vp8_mbloop_filter_vertical_edge_mmx @1302
+ vp8_mbloop_filter_vertical_edge_sse2 @1303
+ vp8_mbloop_filter_vertical_edge_uv_sse2 @1304
+ vp8_mbpost_proc_across_ip @1305
+ vp8_mbpost_proc_across_ip_c @1306
+ vp8_mbpost_proc_across_ip_xmm @1307
+ vp8_mbpost_proc_down @1308
+ vp8_mbpost_proc_down_c @1309
+ vp8_mbpost_proc_down_mmx @1310
+ vp8_mbpost_proc_down_xmm @1311
+ vp8_mbsplit_count @1312
+ vp8_mbsplit_encodings @1313
+ vp8_mbsplit_offset @1314
+ vp8_mbsplit_probs @1315
+ vp8_mbsplit_tree @1316
+ vp8_mbsplits @1317
+ vp8_mbuverror @1318
+ vp8_mbuverror_c @1319
+ vp8_mbuverror_mmx @1320
+ vp8_mbuverror_mmx_impl @1321
+ vp8_mbuverror_xmm @1322
+ vp8_mbuverror_xmm_impl @1323
+ vp8_mode_contexts @1324
+ vp8_mode_order @1325
+ vp8_mse16x16 @1326
+ vp8_mse16x16_c @1327
+ vp8_mse16x16_mmx @1328
+ vp8_mse16x16_wmt @1329
+ vp8_mse2psnr @1330
+ vp8_multiframe_quality_enhance @1331
+ vp8_mv_bit_cost @1332
+ vp8_mv_cont @1333
+ vp8_mv_pred @1334
+ vp8_mv_ref_encoding_array @1335
+ vp8_mv_ref_probs @1336
+ vp8_mv_ref_tree @1337
+ vp8_mv_update_probs @1338
+ vp8_new_framerate @1339
+ vp8_norm @1340
+ vp8_optimize_mbuv @1341
+ vp8_optimize_mby @1342
+ vp8_pack_bitstream @1343
+ vp8_pack_tokens_c @1344
+ vp8_pick_frame_size @1345
+ vp8_pick_inter_mode @1346
+ vp8_pick_intra_mode @1347
+ vp8_plane_add_noise @1348
+ vp8_plane_add_noise_c @1349
+ vp8_plane_add_noise_mmx @1350
+ vp8_plane_add_noise_wmt @1351
+ vp8_post_proc_down_and_across_mb_row @1352
+ vp8_post_proc_down_and_across_mb_row_c @1353
+ vp8_post_proc_down_and_across_mb_row_sse2 @1354
+ vp8_post_proc_frame @1355
+ vp8_prev_token_class @1356
+ vp8_prob_cost @1357
+ vp8_quantize_mb_c @1358
+ vp8_quantize_mbuv_c @1359
+ vp8_quantize_mby_c @1360
+ vp8_rd_pick_inter_mode @1361
+ vp8_rd_pick_intra_mode @1362
+ vp8_receive_raw_frame @1363
+ vp8_ref_frame_order @1364
+ vp8_refining_search_sad @1365
+ vp8_refining_search_sad_c @1366
+ vp8_refining_search_sadx4 @1367
+ vp8_regular_quantize_b @1368
+ vp8_regular_quantize_b_c @1369
+ vp8_regular_quantize_b_pair_c @1370
+ vp8_regular_quantize_b_sse2 @1371
+ vp8_regulate_q @1372
+ vp8_remove_common @1373
+ vp8_remove_compressor @1374
+ vp8_remove_decoder_instances @1375
+ vp8_reset_mb_tokens_context @1376
+ vp8_restore_coding_context @1377
+ vp8_reverse_trans @1378
+ vp8_rtcd @1379
+ vp8_rv @1380
+ vp8_sad16x16 @1381
+ vp8_sad16x16_c @1382
+ vp8_sad16x16_mmx @1383
+ vp8_sad16x16_sse3 @1384
+ vp8_sad16x16_wmt @1385
+ vp8_sad16x16x3 @1386
+ vp8_sad16x16x3_c @1387
+ vp8_sad16x16x3_sse3 @1388
+ vp8_sad16x16x3_ssse3 @1389
+ vp8_sad16x16x4d @1390
+ vp8_sad16x16x4d_c @1391
+ vp8_sad16x16x4d_sse3 @1392
+ vp8_sad16x16x8 @1393
+ vp8_sad16x16x8_c @1394
+ vp8_sad16x16x8_sse4 @1395
+ vp8_sad16x8 @1396
+ vp8_sad16x8_c @1397
+ vp8_sad16x8_mmx @1398
+ vp8_sad16x8_wmt @1399
+ vp8_sad16x8x3 @1400
+ vp8_sad16x8x3_c @1401
+ vp8_sad16x8x3_sse3 @1402
+ vp8_sad16x8x3_ssse3 @1403
+ vp8_sad16x8x4d @1404
+ vp8_sad16x8x4d_c @1405
+ vp8_sad16x8x4d_sse3 @1406
+ vp8_sad16x8x8 @1407
+ vp8_sad16x8x8_c @1408
+ vp8_sad16x8x8_sse4 @1409
+ vp8_sad4x4 @1410
+ vp8_sad4x4_c @1411
+ vp8_sad4x4_mmx @1412
+ vp8_sad4x4_wmt @1413
+ vp8_sad4x4x3 @1414
+ vp8_sad4x4x3_c @1415
+ vp8_sad4x4x3_sse3 @1416
+ vp8_sad4x4x4d @1417
+ vp8_sad4x4x4d_c @1418
+ vp8_sad4x4x4d_sse3 @1419
+ vp8_sad4x4x8 @1420
+ vp8_sad4x4x8_c @1421
+ vp8_sad4x4x8_sse4 @1422
+ vp8_sad8x16 @1423
+ vp8_sad8x16_c @1424
+ vp8_sad8x16_mmx @1425
+ vp8_sad8x16_wmt @1426
+ vp8_sad8x16x3 @1427
+ vp8_sad8x16x3_c @1428
+ vp8_sad8x16x3_sse3 @1429
+ vp8_sad8x16x4d @1430
+ vp8_sad8x16x4d_c @1431
+ vp8_sad8x16x4d_sse3 @1432
+ vp8_sad8x16x8 @1433
+ vp8_sad8x16x8_c @1434
+ vp8_sad8x16x8_sse4 @1435
+ vp8_sad8x8 @1436
+ vp8_sad8x8_c @1437
+ vp8_sad8x8_mmx @1438
+ vp8_sad8x8_wmt @1439
+ vp8_sad8x8x3 @1440
+ vp8_sad8x8x3_c @1441
+ vp8_sad8x8x3_sse3 @1442
+ vp8_sad8x8x4d @1443
+ vp8_sad8x8x4d_c @1444
+ vp8_sad8x8x4d_sse3 @1445
+ vp8_sad8x8x8 @1446
+ vp8_sad8x8x8_c @1447
+ vp8_sad8x8x8_sse4 @1448
+ vp8_save_coding_context @1449
+ vp8_second_pass @1450
+ vp8_set_active_map @1451
+ vp8_set_internal_size @1452
+ vp8_set_mbmode_and_mvs @1453
+ vp8_set_quantizer @1454
+ vp8_set_reference @1455
+ vp8_set_roimap @1456
+ vp8_set_speed_features @1457
+ vp8_setup_block_dptrs @1458
+ vp8_setup_block_ptrs @1459
+ vp8_setup_intra_recon @1460
+ vp8_setup_intra_recon_top_line @1461
+ vp8_setup_key_frame @1462
+ vp8_setup_version @1463
+ vp8_short_fdct4x4 @1464
+ vp8_short_fdct4x4_c @1465
+ vp8_short_fdct4x4_mmx @1466
+ vp8_short_fdct4x4_sse2 @1467
+ vp8_short_fdct8x4 @1468
+ vp8_short_fdct8x4_c @1469
+ vp8_short_fdct8x4_mmx @1470
+ vp8_short_fdct8x4_sse2 @1471
+ vp8_short_idct4x4llm @1472
+ vp8_short_idct4x4llm_c @1473
+ vp8_short_idct4x4llm_mmx @1474
+ vp8_short_inv_walsh4x4 @1475
+ vp8_short_inv_walsh4x4_1_c @1476
+ vp8_short_inv_walsh4x4_c @1477
+ vp8_short_inv_walsh4x4_mmx @1478
+ vp8_short_inv_walsh4x4_sse2 @1479
+ vp8_short_walsh4x4 @1480
+ vp8_short_walsh4x4_c @1481
+ vp8_short_walsh4x4_sse2 @1482
+ vp8_six_tap_mmx @1483
+ vp8_sixtap_predict16x16 @1484
+ vp8_sixtap_predict16x16_c @1485
+ vp8_sixtap_predict16x16_mmx @1486
+ vp8_sixtap_predict16x16_sse2 @1487
+ vp8_sixtap_predict16x16_ssse3 @1488
+ vp8_sixtap_predict4x4 @1489
+ vp8_sixtap_predict4x4_c @1490
+ vp8_sixtap_predict4x4_mmx @1491
+ vp8_sixtap_predict4x4_ssse3 @1492
+ vp8_sixtap_predict8x4 @1493
+ vp8_sixtap_predict8x4_c @1494
+ vp8_sixtap_predict8x4_mmx @1495
+ vp8_sixtap_predict8x4_sse2 @1496
+ vp8_sixtap_predict8x4_ssse3 @1497
+ vp8_sixtap_predict8x8 @1498
+ vp8_sixtap_predict8x8_c @1499
+ vp8_sixtap_predict8x8_mmx @1500
+ vp8_sixtap_predict8x8_sse2 @1501
+ vp8_sixtap_predict8x8_ssse3 @1502
+ vp8_skip_fractional_mv_step @1503
+ vp8_small_mvencodings @1504
+ vp8_small_mvtree @1505
+ vp8_start_encode @1506
+ vp8_stop_encode @1507
+ vp8_strict_quantize_b_c @1508
+ vp8_stuff_mb @1509
+ vp8_sub_mv_ref_encoding_array @1510
+ vp8_sub_mv_ref_prob2 @1511
+ vp8_sub_mv_ref_prob3 @1512
+ vp8_sub_mv_ref_tree @1513
+ vp8_sub_pel_filters @1514
+ vp8_sub_pixel_mse16x16 @1515
+ vp8_sub_pixel_mse16x16_c @1516
+ vp8_sub_pixel_mse16x16_mmx @1517
+ vp8_sub_pixel_mse16x16_wmt @1518
+ vp8_sub_pixel_variance16x16 @1519
+ vp8_sub_pixel_variance16x16_c @1520
+ vp8_sub_pixel_variance16x16_mmx @1521
+ vp8_sub_pixel_variance16x16_ssse3 @1522
+ vp8_sub_pixel_variance16x16_wmt @1523
+ vp8_sub_pixel_variance16x8 @1524
+ vp8_sub_pixel_variance16x8_c @1525
+ vp8_sub_pixel_variance16x8_mmx @1526
+ vp8_sub_pixel_variance16x8_ssse3 @1527
+ vp8_sub_pixel_variance16x8_wmt @1528
+ vp8_sub_pixel_variance4x4 @1529
+ vp8_sub_pixel_variance4x4_c @1530
+ vp8_sub_pixel_variance4x4_mmx @1531
+ vp8_sub_pixel_variance4x4_wmt @1532
+ vp8_sub_pixel_variance8x16 @1533
+ vp8_sub_pixel_variance8x16_c @1534
+ vp8_sub_pixel_variance8x16_mmx @1535
+ vp8_sub_pixel_variance8x16_wmt @1536
+ vp8_sub_pixel_variance8x8 @1537
+ vp8_sub_pixel_variance8x8_c @1538
+ vp8_sub_pixel_variance8x8_mmx @1539
+ vp8_sub_pixel_variance8x8_wmt @1540
+ vp8_subtract_b @1541
+ vp8_subtract_b_c @1542
+ vp8_subtract_b_mmx @1543
+ vp8_subtract_b_mmx_impl @1544
+ vp8_subtract_b_sse2 @1545
+ vp8_subtract_b_sse2_impl @1546
+ vp8_subtract_mbuv @1547
+ vp8_subtract_mbuv_c @1548
+ vp8_subtract_mbuv_mmx @1549
+ vp8_subtract_mbuv_sse2 @1550
+ vp8_subtract_mby @1551
+ vp8_subtract_mby_c @1552
+ vp8_subtract_mby_mmx @1553
+ vp8_subtract_mby_sse2 @1554
+ vp8_swap_yv12_buffer @1555
+ vp8_temporal_filter_apply @1556
+ vp8_temporal_filter_apply_c @1557
+ vp8_temporal_filter_apply_sse2 @1558
+ vp8_temporal_filter_prepare_c @1559
+ vp8_tokenize_mb @1560
+ vp8_tokens_from_tree @1561
+ vp8_tokens_from_tree_offset @1562
+ vp8_transform_intra_mby @1563
+ vp8_transform_mbuv @1564
+ vp8_tree_probs_from_distribution @1565
+ vp8_unpack_block1d16_h6_sse2 @1566
+ vp8_update_coef_probs @1567
+ vp8_update_entropy @1568
+ vp8_update_gf_useage_maps @1569
+ vp8_update_rate_correction_factors @1570
+ vp8_update_reference @1571
+ vp8_update_zbin_extra @1572
+ vp8_use_as_reference @1573
+ vp8_uv_mode_encodings @1574
+ vp8_uv_mode_prob @1575
+ vp8_uv_mode_tree @1576
+ vp8_variance16x16 @1577
+ vp8_variance16x16_c @1578
+ vp8_variance16x16_mmx @1579
+ vp8_variance16x16_wmt @1580
+ vp8_variance16x8 @1581
+ vp8_variance16x8_c @1582
+ vp8_variance16x8_mmx @1583
+ vp8_variance16x8_wmt @1584
+ vp8_variance4x4 @1585
+ vp8_variance4x4_c @1586
+ vp8_variance4x4_mmx @1587
+ vp8_variance4x4_wmt @1588
+ vp8_variance8x16 @1589
+ vp8_variance8x16_c @1590
+ vp8_variance8x16_mmx @1591
+ vp8_variance8x16_wmt @1592
+ vp8_variance8x8 @1593
+ vp8_variance8x8_c @1594
+ vp8_variance8x8_mmx @1595
+ vp8_variance8x8_wmt @1596
+ vp8_variance_and_sad_16x16_sse2 @1597
+ vp8_variance_halfpixvar16x16_h @1598
+ vp8_variance_halfpixvar16x16_h_c @1599
+ vp8_variance_halfpixvar16x16_h_mmx @1600
+ vp8_variance_halfpixvar16x16_h_wmt @1601
+ vp8_variance_halfpixvar16x16_hv @1602
+ vp8_variance_halfpixvar16x16_hv_c @1603
+ vp8_variance_halfpixvar16x16_hv_mmx @1604
+ vp8_variance_halfpixvar16x16_hv_wmt @1605
+ vp8_variance_halfpixvar16x16_v @1606
+ vp8_variance_halfpixvar16x16_v_c @1607
+ vp8_variance_halfpixvar16x16_v_mmx @1608
+ vp8_variance_halfpixvar16x16_v_wmt @1609
+ vp8_vertical_band_2_1_scale_c @1610
+ vp8_vertical_band_2_1_scale_i_c @1611
+ vp8_vertical_band_5_3_scale_c @1612
+ vp8_vertical_band_5_4_scale_c @1613
+ vp8_write_mvprobs @1614
+ vp8_ymode_encodings @1615
+ vp8_ymode_prob @1616
+ vp8_ymode_tree @1617
+ vp8_yv12_alloc_frame_buffer @1618
+ vp8_yv12_copy_frame_c @1619
+ vp8_yv12_copy_partial_frame_c @1620
+ vp8_yv12_de_alloc_frame_buffer @1621
+ vp8_yv12_extend_frame_borders_c @1622
+ vp8_yv12_realloc_frame_buffer @1623
+ vp8cx_base_skip_false_prob @1624
+ vp8cx_create_encoder_threads @1625
+ vp8cx_encode_inter_macroblock @1626
+ vp8cx_encode_intra_macroblock @1627
+ vp8cx_frame_init_quantizer @1628
+ vp8cx_init_de_quantizer @1629
+ vp8cx_init_mbrthread_data @1630
+ vp8cx_init_quantizer @1631
+ vp8cx_initialize_me_consts @1632
+ vp8cx_mb_init_quantizer @1633
+ vp8cx_pick_filter_level @1634
+ vp8cx_pick_filter_level_fast @1635
+ vp8cx_remove_encoder_threads @1636
+ vp8cx_set_alt_lf_level @1637
+ vp8dx_bool_decoder_fill @1638
+ vp8dx_get_raw_frame @1639
+ vp8dx_get_reference @1640
+ vp8dx_receive_compressed_data @1641
+ vp8dx_references_buffer @1642
+ vp8dx_set_reference @1643
+ vp8dx_start_decode @1644
+ vp8mt_alloc_temp_buffers @1645
+ vp8mt_de_alloc_temp_buffers @1646
+ vp8mt_decode_mb_rows @1647
+ vp9_alloc_frame_buffer @1648
+ vp9_extend_frame_borders_c @1649
+ vp9_extend_frame_inner_borders_c @1650
+ vp9_free_frame_buffer @1651
+ vp9_realloc_frame_buffer @1652
+ vpx_calloc @1653
+ vpx_codec_control_ @1654
+ vpx_codec_dec_init_ver @1655
+ vpx_codec_decode @1656
+ vpx_codec_destroy @1657
+ vpx_codec_enc_config_default @1658
+ vpx_codec_enc_config_set @1659
+ vpx_codec_enc_init_multi_ver @1660
+ vpx_codec_enc_init_ver @1661
+ vpx_codec_encode @1662
+ vpx_codec_err_to_string @1663
+ vpx_codec_error @1664
+ vpx_codec_error_detail @1665
+ vpx_codec_get_caps @1666
+ vpx_codec_get_cx_data @1667
+ vpx_codec_get_frame @1668
+ vpx_codec_get_global_headers @1669
+ vpx_codec_get_mem_map @1670
+ vpx_codec_get_preview_frame @1671
+ vpx_codec_get_stream_info @1672
+ vpx_codec_iface_name @1673
+ vpx_codec_peek_stream_info @1674
+ vpx_codec_pkt_list_add @1675
+ vpx_codec_pkt_list_get @1676
+ vpx_codec_register_put_frame_cb @1677
+ vpx_codec_register_put_slice_cb @1678
+ vpx_codec_set_cx_data_buf @1679
+ vpx_codec_set_mem_map @1680
+ vpx_codec_version @1681
+ vpx_codec_version_extra_str @1682
+ vpx_codec_version_str @1683
+ vpx_codec_vp8_cx @1684
+ vpx_codec_vp8_cx_algo @1685
+ vpx_codec_vp8_dx @1686
+ vpx_codec_vp8_dx_algo @1687
+ vpx_free @1688
+ vpx_malloc @1689
+ vpx_mem_get_version @1690
+ vpx_mem_set_functions @1691
+ vpx_mem_set_heap_size @1692
+ vpx_mem_unset_functions @1693
+ vpx_memalign @1694
+ vpx_memcpy @1695
+ vpx_memmove @1696
+ vpx_memset @1697
+ vpx_mmap_alloc @1698
+ vpx_mmap_dtor @1699
+ vpx_realloc @1700
+ vpx_reset_mmx_state @1701
+ vpx_scale_frame @1702
+ vpx_scale_rtcd @1703
+ vpx_validate_mmaps @1704
+ vpx_yv12_copy_y_c @1705
+ write_cryptpacket @1706
diff --git a/protocols/Tox/tox/lib/x86/libtox.exp b/protocols/Tox/tox/lib/x86/libtox.exp
new file mode 100644
index 0000000000..b9b3285af6
--- /dev/null
+++ b/protocols/Tox/tox/lib/x86/libtox.exp
Binary files differ
diff --git a/protocols/Tox/tox/lib/x86/libtox.lib b/protocols/Tox/tox/lib/x86/libtox.lib
new file mode 100644
index 0000000000..e796ec22e0
--- /dev/null
+++ b/protocols/Tox/tox/lib/x86/libtox.lib
Binary files differ