about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-09-08 20:55:05 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-09-08 20:55:05 +0200
commit911ecc4489593b28d87fec30e94500693d03457c (patch)
tree2db99a92aa75da7bd2328c16e50249fe5834424e
parent63ab450d875018ab284f6beaa71a2b1d859051d6 (diff)
downloadbox64-911ecc4489593b28d87fec30e94500693d03457c.tar.gz
box64-911ecc4489593b28d87fec30e94500693d03457c.zip
Added minimal wrapped libnsp4, libnss3, libnssutil3 and linsmime3
-rwxr-xr-xCMakeLists.txt5
-rwxr-xr-xsrc/library_list.h5
-rw-r--r--src/wrapped/generated/functions_list.txt5
-rw-r--r--src/wrapped/generated/wrappednspr4defs.h8
-rw-r--r--src/wrapped/generated/wrappednspr4types.h17
-rw-r--r--src/wrapped/generated/wrappednspr4undefs.h8
-rw-r--r--src/wrapped/generated/wrappednss3defs.h8
-rw-r--r--src/wrapped/generated/wrappednss3types.h17
-rw-r--r--src/wrapped/generated/wrappednss3undefs.h8
-rw-r--r--src/wrapped/generated/wrappednssutil3defs.h8
-rw-r--r--src/wrapped/generated/wrappednssutil3types.h17
-rw-r--r--src/wrapped/generated/wrappednssutil3undefs.h8
-rw-r--r--src/wrapped/generated/wrappedselinuxdefs.h8
-rw-r--r--src/wrapped/generated/wrappedselinuxtypes.h17
-rw-r--r--src/wrapped/generated/wrappedselinuxundefs.h8
-rw-r--r--src/wrapped/generated/wrappedsmime3defs.h8
-rw-r--r--src/wrapped/generated/wrappedsmime3types.h17
-rw-r--r--src/wrapped/generated/wrappedsmime3undefs.h8
-rwxr-xr-xsrc/wrapped/wrappedldlinux_private.h2
-rwxr-xr-xsrc/wrapped/wrappednspr4.c18
-rwxr-xr-xsrc/wrapped/wrappednspr4_private.h402
-rwxr-xr-xsrc/wrapped/wrappednss3.c18
-rwxr-xr-xsrc/wrapped/wrappednss3_private.h856
-rwxr-xr-xsrc/wrapped/wrappednssutil3.c18
-rwxr-xr-xsrc/wrapped/wrappednssutil3_private.h232
-rwxr-xr-xsrc/wrapped/wrappedselinux.c18
-rwxr-xr-xsrc/wrapped/wrappedselinux_private.h247
-rwxr-xr-xsrc/wrapped/wrappedsmime3.c18
-rwxr-xr-xsrc/wrapped/wrappedsmime3_private.h173
29 files changed, 2181 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f0053eee..1722e509 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -265,6 +265,9 @@ set(WRAPPEDS
     "${BOX64_ROOT}/src/wrapped/wrappedlibz.c"
     "${BOX64_ROOT}/src/wrapped/wrappedlzma.c"
     "${BOX64_ROOT}/src/wrapped/wrappedmpg123.c"
+    "${BOX64_ROOT}/src/wrapped/wrappednspr4.c"
+    "${BOX64_ROOT}/src/wrapped/wrappednss3.c"
+    "${BOX64_ROOT}/src/wrapped/wrappednssutil3.c"
     "${BOX64_ROOT}/src/wrapped/wrappedopenal.c"
     "${BOX64_ROOT}/src/wrapped/wrappedpango.c"
     "${BOX64_ROOT}/src/wrapped/wrappedpangocairo.c"
@@ -284,6 +287,8 @@ set(WRAPPEDS
     "${BOX64_ROOT}/src/wrapped/wrappedsdl2mixer.c"
     "${BOX64_ROOT}/src/wrapped/wrappedsdl2net.c"
     "${BOX64_ROOT}/src/wrapped/wrappedsdl2ttf.c"
+    "${BOX64_ROOT}/src/wrapped/wrappedselinux.c"
+    "${BOX64_ROOT}/src/wrapped/wrappedsmime3.c"
     "${BOX64_ROOT}/src/wrapped/wrappedsmpeg2.c"
     "${BOX64_ROOT}/src/wrapped/wrappedtcmallocminimal.c"
     "${BOX64_ROOT}/src/wrapped/wrappedudev0.c"
diff --git a/src/library_list.h b/src/library_list.h
index 51f42cb8..771cdde4 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -162,6 +162,11 @@ GO("libgssapi_krb5.so.2", gssapikrb5)
 GO("libgssapi.so.3", gssapi)
 //GO("libtiff.so.5", libtiff)
 //GO("libfuse.so.2", libfuse)
+GO("libnss3.so", nss3)
+GO("libnssutil3.so", nssutil3)
+GO("libsmime3.so", smime3)
+GO("libnspr4.so", nspr4)
+GO("libselinux.so.1", selinux)
 
 GO("ld-linux-x86-64.so.2", ldlinux)
 
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 1c3612e1..22dddfd4 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -2192,6 +2192,9 @@ wrappedmpg123:
   - mpg123_replace_reader_handle
   - mpg123_replace_reader_handle_32
   - mpg123_replace_reader_handle_64
+wrappednspr4:
+wrappednss3:
+wrappednssutil3:
 wrappedopenal:
 - vFv:
   - alRequestFoldbackStop
@@ -2582,6 +2585,8 @@ wrappedsdl2ttf:
   - TTF_OpenFontRW
 - pFpiii:
   - TTF_OpenFontIndexRW
+wrappedselinux:
+wrappedsmime3:
 wrappedsmpeg:
 - pFppi:
   - SMPEG_new_rwops
diff --git a/src/wrapped/generated/wrappednspr4defs.h b/src/wrapped/generated/wrappednspr4defs.h
new file mode 100644
index 00000000..fcf1607d
--- /dev/null
+++ b/src/wrapped/generated/wrappednspr4defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednspr4DEFS_H_
+#define __wrappednspr4DEFS_H_
+
+
+#endif // __wrappednspr4DEFS_H_
diff --git a/src/wrapped/generated/wrappednspr4types.h b/src/wrapped/generated/wrappednspr4types.h
new file mode 100644
index 00000000..8b92bb8d
--- /dev/null
+++ b/src/wrapped/generated/wrappednspr4types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednspr4TYPES_H_
+#define __wrappednspr4TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappednspr4TYPES_H_
diff --git a/src/wrapped/generated/wrappednspr4undefs.h b/src/wrapped/generated/wrappednspr4undefs.h
new file mode 100644
index 00000000..4d554f55
--- /dev/null
+++ b/src/wrapped/generated/wrappednspr4undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednspr4UNDEFS_H_
+#define __wrappednspr4UNDEFS_H_
+
+
+#endif // __wrappednspr4UNDEFS_H_
diff --git a/src/wrapped/generated/wrappednss3defs.h b/src/wrapped/generated/wrappednss3defs.h
new file mode 100644
index 00000000..34f0a027
--- /dev/null
+++ b/src/wrapped/generated/wrappednss3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednss3DEFS_H_
+#define __wrappednss3DEFS_H_
+
+
+#endif // __wrappednss3DEFS_H_
diff --git a/src/wrapped/generated/wrappednss3types.h b/src/wrapped/generated/wrappednss3types.h
new file mode 100644
index 00000000..1015f359
--- /dev/null
+++ b/src/wrapped/generated/wrappednss3types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednss3TYPES_H_
+#define __wrappednss3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappednss3TYPES_H_
diff --git a/src/wrapped/generated/wrappednss3undefs.h b/src/wrapped/generated/wrappednss3undefs.h
new file mode 100644
index 00000000..885795b3
--- /dev/null
+++ b/src/wrapped/generated/wrappednss3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednss3UNDEFS_H_
+#define __wrappednss3UNDEFS_H_
+
+
+#endif // __wrappednss3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappednssutil3defs.h b/src/wrapped/generated/wrappednssutil3defs.h
new file mode 100644
index 00000000..b32d375e
--- /dev/null
+++ b/src/wrapped/generated/wrappednssutil3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednssutil3DEFS_H_
+#define __wrappednssutil3DEFS_H_
+
+
+#endif // __wrappednssutil3DEFS_H_
diff --git a/src/wrapped/generated/wrappednssutil3types.h b/src/wrapped/generated/wrappednssutil3types.h
new file mode 100644
index 00000000..fbfc3e5e
--- /dev/null
+++ b/src/wrapped/generated/wrappednssutil3types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednssutil3TYPES_H_
+#define __wrappednssutil3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappednssutil3TYPES_H_
diff --git a/src/wrapped/generated/wrappednssutil3undefs.h b/src/wrapped/generated/wrappednssutil3undefs.h
new file mode 100644
index 00000000..859a3a22
--- /dev/null
+++ b/src/wrapped/generated/wrappednssutil3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappednssutil3UNDEFS_H_
+#define __wrappednssutil3UNDEFS_H_
+
+
+#endif // __wrappednssutil3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedselinuxdefs.h b/src/wrapped/generated/wrappedselinuxdefs.h
new file mode 100644
index 00000000..666c588d
--- /dev/null
+++ b/src/wrapped/generated/wrappedselinuxdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedselinuxDEFS_H_
+#define __wrappedselinuxDEFS_H_
+
+
+#endif // __wrappedselinuxDEFS_H_
diff --git a/src/wrapped/generated/wrappedselinuxtypes.h b/src/wrapped/generated/wrappedselinuxtypes.h
new file mode 100644
index 00000000..b586eb72
--- /dev/null
+++ b/src/wrapped/generated/wrappedselinuxtypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedselinuxTYPES_H_
+#define __wrappedselinuxTYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedselinuxTYPES_H_
diff --git a/src/wrapped/generated/wrappedselinuxundefs.h b/src/wrapped/generated/wrappedselinuxundefs.h
new file mode 100644
index 00000000..5ad0e1a9
--- /dev/null
+++ b/src/wrapped/generated/wrappedselinuxundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedselinuxUNDEFS_H_
+#define __wrappedselinuxUNDEFS_H_
+
+
+#endif // __wrappedselinuxUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsmime3defs.h b/src/wrapped/generated/wrappedsmime3defs.h
new file mode 100644
index 00000000..caeedd9f
--- /dev/null
+++ b/src/wrapped/generated/wrappedsmime3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedsmime3DEFS_H_
+#define __wrappedsmime3DEFS_H_
+
+
+#endif // __wrappedsmime3DEFS_H_
diff --git a/src/wrapped/generated/wrappedsmime3types.h b/src/wrapped/generated/wrappedsmime3types.h
new file mode 100644
index 00000000..316492de
--- /dev/null
+++ b/src/wrapped/generated/wrappedsmime3types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedsmime3TYPES_H_
+#define __wrappedsmime3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedsmime3TYPES_H_
diff --git a/src/wrapped/generated/wrappedsmime3undefs.h b/src/wrapped/generated/wrappedsmime3undefs.h
new file mode 100644
index 00000000..c804bf4e
--- /dev/null
+++ b/src/wrapped/generated/wrappedsmime3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedsmime3UNDEFS_H_
+#define __wrappedsmime3UNDEFS_H_
+
+
+#endif // __wrappedsmime3UNDEFS_H_
diff --git a/src/wrapped/wrappedldlinux_private.h b/src/wrapped/wrappedldlinux_private.h
index 76827e8c..6bfae5fb 100755
--- a/src/wrapped/wrappedldlinux_private.h
+++ b/src/wrapped/wrappedldlinux_private.h
@@ -16,7 +16,7 @@
 DATA(__libc_enable_secure, sizeof(void*))
 DATA(__libc_stack_end, sizeof(void*))
 DATA(__pointer_chk_guard, sizeof(void*))
-// _r_debug //type B
+DATAB(_r_debug, 40)
 DATA(_rtld_global, sizeof(void*))
 DATA(_rtld_global_ro, sizeof(void*))
 DATA(__stack_chk_guard, sizeof(void*))
diff --git a/src/wrapped/wrappednspr4.c b/src/wrapped/wrappednspr4.c
new file mode 100755
index 00000000..07240fce
--- /dev/null
+++ b/src/wrapped/wrappednspr4.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* nspr4Name = "libnspr4.so";
+#define LIBNAME nspr4
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappednspr4_private.h b/src/wrapped/wrappednspr4_private.h
new file mode 100755
index 00000000..9ef4f7dc
--- /dev/null
+++ b/src/wrapped/wrappednspr4_private.h
@@ -0,0 +1,402 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(GetExecutionEnvironment, 
+//GO(libVersionPoint, 
+//GO(LL_MaxInt, 
+//GO(LL_MaxUint, 
+//GO(LL_MinInt, 
+//GO(LL_Zero, 
+//GO(PR_Abort, 
+//GO(PR_Accept, 
+//GO(PR_AcceptRead, 
+//GO(PR_Access, 
+//GO(PR_AddToCounter, 
+//GO(PR_AddWaitFileDesc, 
+//GO(PR_AllocFileDesc, 
+//GO(PR_Assert, 
+//GO(PR_AssertCurrentThreadInMonitor, 
+//GO(PR_AssertCurrentThreadOwnsLock, 
+//GO(PR_AtomicAdd, 
+//GO(PR_AtomicDecrement, 
+//GO(PR_AtomicIncrement, 
+//GO(PR_AtomicSet, 
+//GO(PR_AttachSharedMemory, 
+//GO(PR_AttachThread, 
+//GO(PR_Available, 
+//GO(PR_Available64, 
+//GO(PR_Bind, 
+//GO(PR_BlockClockInterrupts, 
+//GO(PR_BlockInterrupt, 
+//GO(PR_Calloc, 
+//GO(PR_CallOnce, 
+//GO(PR_CallOnceWithArg, 
+//GO(PR_CancelJob, 
+//GO(PR_CancelWaitFileDesc, 
+//GO(PR_CancelWaitGroup, 
+//GO(PR_CeilingLog2, 
+//GO(PR_CEnterMonitor, 
+//GO(PR_CExitMonitor, 
+//GO(PR_ChangeFileDescNativeHandle, 
+//GO(PR_Cleanup, 
+//GO(PR_ClearInterrupt, 
+//GO(PR_ClearThreadGCAble, 
+//GO(PR_Close, 
+//GO(PR_CloseDir, 
+//GO(PR_CloseFileMap, 
+//GO(PR_CloseSemaphore, 
+//GO(PR_CloseSharedMemory, 
+//GO(PR_CNotify, 
+//GO(PR_CNotifyAll, 
+//GO(PR_cnvtf, 
+//GO(PR_Connect, 
+//GO(PR_ConnectContinue, 
+//GO(PR_ConvertIPv4AddrToIPv6, 
+//GO(PR_CreateAlarm, 
+//GO(PR_CreateCounter, 
+//GO(PR_CreateFileMap, 
+//GO(PR_CreateIOLayer, 
+//GO(PR_CreateIOLayerStub, 
+//GO(PR_CreateMWaitEnumerator, 
+//GO(PR_CreateOrderedLock, 
+//GO(PR_CreatePipe, 
+//GO(PR_CreateProcess, 
+//GO(PR_CreateProcessDetached, 
+//GO(PR_CreateSocketPollFd, 
+//GO(PR_CreateStack, 
+//GO(PR_CreateThread, 
+//GO(PR_CreateThreadGCAble, 
+//GO(PR_CreateThreadPool, 
+//GO(PR_CreateTrace, 
+//GO(PR_CreateWaitGroup, 
+//GO(PR_CSetOnMonitorRecycle, 
+//GO(PR_CWait, 
+//GO(PR_DecrementCounter, 
+//GO(PR_Delete, 
+//GO(PR_DeleteSemaphore, 
+//GO(PR_DeleteSharedMemory, 
+//GO(PR_DestroyAlarm, 
+//GO(PR_DestroyCondVar, 
+//GO(PR_DestroyCounter, 
+//GO(PR_DestroyLock, 
+//GO(PR_DestroyMonitor, 
+//GO(PR_DestroyMWaitEnumerator, 
+//GO(PR_DestroyOrderedLock, 
+//GO(PR_DestroyPollableEvent, 
+//GO(PR_DestroyProcessAttr, 
+//GO(PR_DestroyRWLock, 
+//GO(PR_DestroySem, 
+//GO(PR_DestroySocketPollFd, 
+//GO(PR_DestroyStack, 
+//GO(PR_DestroyTrace, 
+//GO(PR_DestroyWaitGroup, 
+//GO(PR_DetachProcess, 
+//GO(PR_DetachSharedMemory, 
+//GO(PR_DetachThread, 
+//GO(PR_DisableClockInterrupts, 
+//GO(PR_dtoa, 
+//GO(PR_DuplicateEnvironment, 
+//GO(PR_EmulateAcceptRead, 
+//GO(PR_EmulateSendFile, 
+//GO(PR_EnableClockInterrupts, 
+//GO(PR_EnterMonitor, 
+//GO(PR_EnumerateAddrInfo, 
+//GO(PR_EnumerateHostEnt, 
+//GO(PR_EnumerateThreads, 
+//GO(PR_EnumerateWaitGroup, 
+//GO(PR_ErrorInstallCallback, 
+//GO(PR_ErrorInstallTable, 
+//GO(PR_ErrorLanguages, 
+//GO(PR_ErrorToName, 
+//GO(PR_ErrorToString, 
+//GO(PR_ExitMonitor, 
+//GO(PR_ExplodeTime, 
+//GO(PR_ExportFileMapAsString, 
+//GO(PR_FD_CLR, 
+//GO(PR_FD_ISSET, 
+//GO(PR_FD_NCLR, 
+//GO(PR_FD_NISSET, 
+//GO(PR_FD_NSET, 
+//GO(PR_FD_SET, 
+//GO(PR_FD_ZERO, 
+//GO(PR_FileDesc2NativeHandle, 
+//GO(PR_FindFunctionSymbol, 
+//GO(PR_FindFunctionSymbolAndLibrary, 
+//GO(PR_FindNextCounterQname, 
+//GO(PR_FindNextCounterRname, 
+//GO(PR_FindNextTraceQname, 
+//GO(PR_FindNextTraceRname, 
+//GO(PR_FindSymbol, 
+//GO(PR_FindSymbolAndLibrary, 
+//GO(PR_FloorLog2, 
+//GO(PR_FormatTime, 
+//GO(PR_FormatTimeUSEnglish, 
+//GO(PR_fprintf, 
+//GO(PR_FPrintZoneStats, 
+//GO(PR_Free, 
+//GO(PR_FreeAddrInfo, 
+//GO(PR_FreeLibraryName, 
+//GO(PR_GetAddrInfoByName, 
+//GO(PR_GetCanonNameFromAddrInfo, 
+//GO(PR_GetConnectStatus, 
+//GO(PR_GetCounter, 
+//GO(PR_GetCounterHandleFromName, 
+//GO(PR_GetCounterNameFromHandle, 
+//GO(PR_GetCurrentThread, 
+//GO(PR_GetDefaultIOMethods, 
+//GO(PR_GetDescType, 
+//GO(PR_GetDirectorySeparator, 
+//GO(PR_GetDirectorySepartor, 
+//GO(PR_GetEnv, 
+//GO(PR_GetEnvSecure, 
+//GO(PR_GetError, 
+//GO(PR_GetErrorText, 
+//GO(PR_GetErrorTextLength, 
+//GO(PR_GetFileInfo, 
+//GO(PR_GetFileInfo64, 
+//GO(PR_GetFileMethods, 
+//GO(PR_GetGCRegisters, 
+//GO(PR_GetHostByAddr, 
+//GO(PR_GetHostByName, 
+//GO(PR_GetIdentitiesLayer, 
+//GO(PR_GetInheritedFD, 
+//GO(PR_GetInheritedFileMap, 
+//GO(PR_GetIPNodeByName, 
+//GO(PR_GetLayersIdentity, 
+//GO(PR_GetLibraryFilePathname, 
+//GO(PR_GetLibraryName, 
+//GO(PR_GetLibraryPath, 
+//GO(PR_GetMemMapAlignment, 
+//GO(PR_GetMonitorEntryCount, 
+//GO(PR_GetNameForIdentity, 
+//GO(PR_GetNumberOfProcessors, 
+//GO(PR_GetOpenFileInfo, 
+//GO(PR_GetOpenFileInfo64, 
+//GO(PR_GetOSError, 
+//GO(PR_GetPageShift, 
+//GO(PR_GetPageSize, 
+//GO(PR_GetPathSeparator, 
+//GO(PR_GetPeerName, 
+//GO(PR_GetPhysicalMemorySize, 
+//GO(PR_GetPipeMethods, 
+//GO(PR_GetProtoByName, 
+//GO(PR_GetProtoByNumber, 
+//GO(PR_GetRandomNoise, 
+//GO(PR_GetSocketOption, 
+//GO(PR_GetSockName, 
+//GO(PR_GetSP, 
+//GO(PR_GetSpecialFD, 
+//GO(PR_GetStackSpaceLeft, 
+//GO(PR_GetSysfdTableMax, 
+//GO(PR_GetSystemInfo, 
+//GO(PR_GetTCPMethods, 
+//GO(PR_GetThreadAffinityMask, 
+//GO(PR_GetThreadID, 
+//GO(PR_GetThreadName, 
+//GO(PR_GetThreadPriority, 
+//GO(PR_GetThreadPrivate, 
+//GO(PR_GetThreadScope, 
+//GO(PR_GetThreadState, 
+//GO(PR_GetThreadType, 
+//GO(PR_GetTraceEntries, 
+//GO(PR_GetTraceHandleFromName, 
+//GO(PR_GetTraceNameFromHandle, 
+//GO(PR_GetTraceOption, 
+//GO(PR_GetUDPMethods, 
+//GO(PR_GetUniqueIdentity, 
+//GO(PR_GetVersion, 
+//GO(PR_GMTParameters, 
+//GO(PR_htonl, 
+//GO(PR_htonll, 
+//GO(PR_htons, 
+//GO(PR_ImplodeTime, 
+//GO(PR_ImportFile, 
+//GO(PR_ImportFileMapFromString, 
+//GO(PR_ImportPipe, 
+//GO(PR_ImportTCPSocket, 
+//GO(PR_ImportUDPSocket, 
+//GO(PR_IncrementCounter, 
+GO(PR_Init, vFiii)
+//GO(PR_Initialize, 
+//GO(PR_Initialized, 
+//GO(PR_InitializeNetAddr, 
+//GO(PR_Interrupt, 
+//GO(PR_IntervalNow, 
+//GO(PR_IntervalToMicroseconds, 
+//GO(PR_IntervalToMilliseconds, 
+//GO(PR_IntervalToSeconds, 
+//GO(PR_IsNetAddrType, 
+//GO(PR_JoinJob, 
+//GO(PR_JoinThread, 
+//GO(PR_JoinThreadPool, 
+//GO(PR_KillProcess, 
+//GO(PR_Listen, 
+//GO(PR_LoadLibrary, 
+//GO(PR_LoadLibraryWithFlags, 
+//GO(PR_LoadStaticLibrary, 
+//GO(PR_LocalTimeParameters, 
+//GO(PR_Lock, 
+//GO(PR_LockFile, 
+//GO(PR_LockOrderedLock, 
+//GO(PR_LogFlush, 
+//GO(PR_LogPrint, 
+//GO(PR_MakeDir, 
+//GO(PR_Malloc, 
+//GO(PR_MemMap, 
+//GO(PR_MemUnmap, 
+//GO(PR_MicrosecondsToInterval, 
+//GO(PR_MillisecondsToInterval, 
+//GO(PR_MkDir, 
+//GO(PR_NetAddrToString, 
+//GO(PR_NewCondVar, 
+//GO(PR_NewLock, 
+//GO(PR_NewLogModule, 
+//GO(PR_NewMonitor, 
+//GO(PR_NewNamedMonitor, 
+//GO(PR_NewPollableEvent, 
+//GO(PR_NewProcessAttr, 
+//GO(PR_NewRWLock, 
+//GO(PR_NewSem, 
+//GO(PR_NewTCPSocket, 
+//GO(PR_NewTCPSocketPair, 
+//GO(PR_NewThreadPrivateIndex, 
+//GO(PR_NewUDPSocket, 
+//GO(PR_NormalizeTime, 
+//GO(PR_Notify, 
+//GO(PR_NotifyAll, 
+//GO(PR_NotifyAllCondVar, 
+//GO(PR_NotifyCondVar, 
+//GO(PR_Now, 
+//GO(PR_ntohl, 
+//GO(PR_ntohll, 
+//GO(PR_ntohs, 
+//GO(PR_Open, 
+//GO(PR_OpenAnonFileMap, 
+//GO(PR_OpenDir, 
+//GO(PR_OpenFile, 
+//GO(PR_OpenSemaphore, 
+//GO(PR_OpenSharedMemory, 
+//GO(PR_OpenTCPSocket, 
+//GO(PR_OpenUDPSocket, 
+//GO(PR_ParseTimeString, 
+//GO(PR_ParseTimeStringToExplodedTime, 
+//GO(PRP_DestroyNakedCondVar, 
+//GO(PRP_NakedBroadcast, 
+//GO(PRP_NakedNotify, 
+//GO(PRP_NakedWait, 
+//GO(PRP_NewNakedCondVar, 
+//GO(PR_Poll, 
+//GO(PR_PopIOLayer, 
+//GO(PR_PostSem, 
+//GO(PR_PostSemaphore, 
+//GO(PR_ProcessAttrSetCurrentDirectory, 
+//GO(PR_ProcessAttrSetInheritableFD, 
+//GO(PR_ProcessAttrSetInheritableFileMap, 
+//GO(PR_ProcessAttrSetStdioRedirect, 
+//GO(PR_ProcessExit, 
+//GO(PRP_TryLock, 
+//GO(PR_PushIOLayer, 
+//GO(_pr_push_ipv6toipv4_layer, 
+//GO(PR_QueueJob, 
+//GO(PR_QueueJob_Accept, 
+//GO(PR_QueueJob_Connect, 
+//GO(PR_QueueJob_Read, 
+//GO(PR_QueueJob_Timer, 
+//GO(PR_QueueJob_Write, 
+//GO(PR_Read, 
+//GO(PR_ReadDir, 
+//GO(PR_Realloc, 
+//GO(PR_RecordTraceEntries, 
+//GO(PR_Recv, 
+//GO(PR_RecvFrom, 
+//GO(PR_Rename, 
+//GO(PR_ResetAlarm, 
+//GO(PR_ResetProcessAttr, 
+//GO(PR_ResumeAll, 
+//GO(PR_RmDir, 
+//GO(PR_RWLock_Rlock, 
+//GO(PR_RWLock_Unlock, 
+//GO(PR_RWLock_Wlock, 
+//GO(PR_ScanStackPointers, 
+//GO(PR_SecondsToInterval, 
+//GO(PR_Seek, 
+//GO(PR_Seek64, 
+//GO(PR_Select, 
+//GO(PR_Send, 
+//GO(PR_SendFile, 
+//GO(PR_SendTo, 
+//GO(PR_SetAlarm, 
+//GO(PR_SetConcurrency, 
+//GO(PR_SetCounter, 
+//GO(PR_SetCurrentThreadName, 
+//GO(PR_SetEnv, 
+//GO(PR_SetError, 
+//GO(PR_SetErrorText, 
+//GO(PR_SetFDCacheSize, 
+//GO(PR_SetFDInheritable, 
+//GO(PR_SetLibraryPath, 
+//GO(PR_SetLogBuffering, 
+//GO(PR_SetLogFile, 
+//GO(PR_SetNetAddr, 
+//GO(PR_SetPollableEvent, 
+//GO(PR_SetSocketOption, 
+//GO(PR_SetStdioRedirect, 
+//GO(PR_SetSysfdTableSize, 
+//GO(PR_SetThreadAffinityMask, 
+//GO(PR_SetThreadDumpProc, 
+//GO(PR_SetThreadGCAble, 
+//GO(PR_SetThreadPriority, 
+//GO(PR_SetThreadPrivate, 
+//GO(PR_SetThreadRecycleMode, 
+//GO(PR_SetTraceOption, 
+//GO(PR_Shutdown, 
+//GO(PR_ShutdownThreadPool, 
+//GO(PR_Sleep, 
+//GO(PR_smprintf, 
+//GO(PR_smprintf_free, 
+//GO(PR_snprintf, 
+//GO(PR_Socket, 
+//GO(PR_sprintf_append, 
+//GO(PR_sscanf, 
+//GO(PR_StackPop, 
+//GO(PR_StackPush, 
+//GO(PR_Stat, 
+//GO(PR_StringToNetAddr, 
+//GO(PR_strtod, 
+//GO(PR_SubtractFromCounter, 
+//GO(PR_SuspendAll, 
+//GO(PR_sxprintf, 
+//GO(PR_Sync, 
+//GO(PR_SyncMemMap, 
+//GO(_pr_test_ipv6_socket, 
+//GO(PR_ThreadScanStackPointers, 
+//GO(PR_TicksPerSecond, 
+//GO(PR_TLockFile, 
+//GO(PR_Trace, 
+//GO(PR_TransmitFile, 
+//GO(PR_UnblockClockInterrupts, 
+//GO(PR_UnblockInterrupt, 
+//GO(PR_UnloadLibrary, 
+//GO(PR_Unlock, 
+//GO(PR_UnlockFile, 
+//GO(PR_UnlockOrderedLock, 
+//GO(PR_USPacificTimeParameters, 
+//GO(PR_VersionCheck, 
+//GO(PR_vfprintf, 
+//GO(PR_vsmprintf, 
+//GO(PR_vsnprintf, 
+//GO(PR_vsprintf_append, 
+//GO(PR_vsxprintf, 
+//GO(PR_Wait, 
+//GO(PR_WaitCondVar, 
+//GO(PR_WaitForPollableEvent, 
+//GO(PR_WaitProcess, 
+//GO(PR_WaitRecvReady, 
+//GO(PR_WaitSem, 
+//GO(PR_WaitSemaphore, 
+//GO(PR_Write, 
+//GO(PR_Writev, 
+//GO(PR_Yield, 
+//GO(PT_FPrintStats, 
+//GO(SetExecutionEnvironment, 
diff --git a/src/wrapped/wrappednss3.c b/src/wrapped/wrappednss3.c
new file mode 100755
index 00000000..27084a72
--- /dev/null
+++ b/src/wrapped/wrappednss3.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* nss3Name = "libnss3.so";
+#define LIBNAME nss3
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappednss3_private.h b/src/wrapped/wrappednss3_private.h
new file mode 100755
index 00000000..49e65ec9
--- /dev/null
+++ b/src/wrapped/wrappednss3_private.h
@@ -0,0 +1,856 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(ATOB_AsciiToData, 
+//GO(ATOB_ConvertAsciiToItem, 
+//GO(BTOA_ConvertItemToAscii, 
+//GO(BTOA_DataToAscii, 
+//GO(CERT_AddCertToListHead, 
+//GO(CERT_AddCertToListSorted, 
+//GO(CERT_AddCertToListTail, 
+//GO(CERT_AddExtension, 
+//GO(CERT_AddExtensionByOID, 
+//GO(CERT_AddOCSPAcceptableResponses, 
+//GO(CERT_AddOKDomainName, 
+//GO(CERT_AddRDN, 
+//GO(__CERT_AddTempCertToPerm, 
+//GO(CERT_AllocCERTRevocationFlags, 
+//GO(CERT_AsciiToName, 
+//GO(CERT_CacheCRL, 
+//GO(CERT_CacheOCSPResponseFromSideChannel, 
+//GO(CERT_CertChainFromCert, 
+//DATA(CERT_CertificateRequestTemplate, 
+//DATA(CERT_CertificateTemplate, 
+//GO(CERT_CertListFromCert, 
+//GO(CERT_CertTimesValid, 
+//GO(CERT_ChangeCertTrust, 
+//GO(CERT_CheckCertUsage, 
+//GO(CERT_CheckCertValidTimes, 
+//GO(CERT_CheckNameSpace, 
+//GO(CERT_CheckOCSPStatus, 
+//GO(CERT_ClearOCSPCache, 
+//GO(__CERT_ClosePermCertDB, 
+//GO(CERT_CompareAVA, 
+//GO(CERT_CompareCerts, 
+//GO(CERT_CompareName, 
+//GO(CERT_CompareValidityTimes, 
+//GO(CERT_CompleteCRLDecodeEntries, 
+//GO(CERT_CopyName, 
+//GO(CERT_CopyRDN, 
+//GO(CERT_CreateAVA, 
+//GO(CERT_CreateCertificate, 
+//GO(CERT_CreateCertificateRequest, 
+//GO(CERT_CreateEncodedOCSPErrorResponse, 
+//GO(CERT_CreateEncodedOCSPSuccessResponse, 
+//GO(CERT_CreateName, 
+//GO(CERT_CreateOCSPCertID, 
+//GO(CERT_CreateOCSPRequest, 
+//GO(CERT_CreateOCSPSingleResponseGood, 
+//GO(CERT_CreateOCSPSingleResponseRevoked, 
+//GO(CERT_CreateOCSPSingleResponseUnknown, 
+//GO(CERT_CreateRDN, 
+//GO(CERT_CreateSubjectCertList, 
+//GO(CERT_CreateValidity, 
+//GO(CERT_CRLCacheRefreshIssuer, 
+//DATA(CERT_CrlTemplate, 
+//GO(CERT_DecodeAltNameExtension, 
+//GO(CERT_DecodeAuthInfoAccessExtension, 
+//GO(CERT_DecodeAuthKeyID, 
+//GO(CERT_DecodeAVAValue, 
+//GO(CERT_DecodeBasicConstraintValue, 
+//GO(CERT_DecodeCertificatePoliciesExtension, 
+//GO(CERT_DecodeCRLDistributionPoints, 
+//GO(__CERT_DecodeDERCertificate, 
+//GO(CERT_DecodeDERCrl, 
+//GO(CERT_DecodeDERCrlWithFlags, 
+//GO(CERT_DecodeGeneralName, 
+//GO(CERT_DecodeNameConstraintsExtension, 
+//GO(CERT_DecodeOCSPRequest, 
+//GO(CERT_DecodeOCSPResponse, 
+//GO(CERT_DecodeOidSequence, 
+//GO(CERT_DecodePrivKeyUsagePeriodExtension, 
+//GO(CERT_DecodeTrustString, 
+//GO(CERT_DecodeUserNotice, 
+//GO(CERT_DerNameToAscii, 
+//GO(CERT_DestroyCertArray, 
+//GO(CERT_DestroyCertificate, 
+//GO(CERT_DestroyCertificateList, 
+//GO(CERT_DestroyCertificatePoliciesExtension, 
+//GO(CERT_DestroyCertificateRequest, 
+//GO(CERT_DestroyCertList, 
+//GO(CERT_DestroyCERTRevocationFlags, 
+//GO(CERT_DestroyName, 
+//GO(CERT_DestroyOCSPCertID, 
+//GO(CERT_DestroyOCSPRequest, 
+//GO(CERT_DestroyOCSPResponse, 
+//GO(CERT_DestroyOidSequence, 
+//GO(CERT_DestroyUserNotice, 
+//GO(CERT_DestroyValidity, 
+//GO(CERT_DisableOCSPChecking, 
+//GO(CERT_DisableOCSPDefaultResponder, 
+//GO(CERT_DistNamesFromCertList, 
+//GO(CERT_DupCertificate, 
+//GO(CERT_DupCertList, 
+//GO(CERT_DupDistNames, 
+//GO(CERT_EnableOCSPChecking, 
+//GO(CERT_EnableOCSPDefaultResponder, 
+//GO(CERT_EncodeAltNameExtension, 
+//GO(CERT_EncodeAndAddBitStrExtension, 
+//GO(CERT_EncodeAuthKeyID, 
+//GO(CERT_EncodeBasicConstraintValue, 
+//GO(CERT_EncodeCertPoliciesExtension, 
+//GO(CERT_EncodeCRLDistributionPoints, 
+//GO(CERT_EncodeGeneralName, 
+//GO(CERT_EncodeInfoAccessExtension, 
+//GO(CERT_EncodeInhibitAnyExtension, 
+//GO(CERT_EncodeNameConstraintsExtension, 
+//GO(CERT_EncodeNoticeReference, 
+//GO(CERT_EncodeOCSPRequest, 
+//GO(CERT_EncodePolicyConstraintsExtension, 
+//GO(CERT_EncodePolicyMappingExtension, 
+//GO(CERT_EncodeSubjectKeyID, 
+//GO(CERT_EncodeUserNotice, 
+//GO(CERT_ExtractPublicKey, 
+//GO(CERT_FilterCertListByCANames, 
+//GO(CERT_FilterCertListByUsage, 
+//GO(CERT_FilterCertListForUserCerts, 
+//GO(CERT_FindCertByDERCert, 
+//GO(CERT_FindCertByIssuerAndSN, 
+//GO(CERT_FindCertByIssuerAndSNCX, 
+//GO(CERT_FindCertByName, 
+//GO(CERT_FindCertByNickname, 
+//GO(CERT_FindCertByNicknameOrEmailAddr, 
+//GO(CERT_FindCertByNicknameOrEmailAddrCX, 
+//GO(CERT_FindCertByNicknameOrEmailAddrForUsage, 
+//GO(CERT_FindCertByNicknameOrEmailAddrForUsageCX, 
+//GO(CERT_FindCertBySubjectKeyID, 
+//GO(CERT_FindCertExtension, 
+//GO(CERT_FindCertIssuer, 
+//GO(CERT_FindCRLEntryReasonExten, 
+//GO(CERT_FindCRLNumberExten, 
+//GO(CERT_FindKeyUsageExtension, 
+//GO(CERT_FindNameConstraintsExten, 
+//GO(CERT_FindSMimeProfile, 
+//GO(CERT_FindSubjectKeyIDExtension, 
+//GO(CERT_FindUserCertByUsage, 
+//GO(CERT_FindUserCertsByUsage, 
+//GO(CERT_FinishCertificateRequestAttributes, 
+//GO(CERT_FinishExtensions, 
+//GO(CERT_ForcePostMethodForOCSP, 
+//GO(CERT_FormatName, 
+//GO(CERT_FreeDistNames, 
+//GO(CERT_FreeNicknames, 
+//GO(CERT_GenTime2FormattedAscii, 
+//GO(CERT_GetAVATag, 
+//GO(CERT_GetCertChainFromCert, 
+//GO(CERT_GetCertEmailAddress, 
+//GO(CERT_GetCertificateDer, 
+//GO(CERT_GetCertificateNames, 
+//GO(CERT_GetCertificateRequestExtensions, 
+//GO(CERT_GetCertIsPerm, 
+//GO(CERT_GetCertIssuerAndSN, 
+//GO(CERT_GetCertIsTemp, 
+//GO(CERT_GetCertKeyType, 
+//GO(CERT_GetCertNicknames, 
+//GO(CERT_GetCertTimes, 
+//GO(CERT_GetCertTrust, 
+//GO(CERT_GetCertUid, 
+//GO(CERT_GetClassicOCSPDisabledPolicy, 
+//GO(CERT_GetClassicOCSPEnabledHardFailurePolicy, 
+//GO(CERT_GetClassicOCSPEnabledSoftFailurePolicy, 
+//GO(CERT_GetCommonName, 
+//GO(CERT_GetConstrainedCertificateNames, 
+//GO(CERT_GetCountryName, 
+//GO(CERT_GetDBContentVersion, 
+//GO(CERT_GetDefaultCertDB, 
+//GO(CERT_GetDomainComponentName, 
+//GO(CERT_GetEncodedOCSPResponse, 
+//GO(CERT_GetFirstEmailAddress, 
+//GO(CERT_GetGeneralNameTypeFromString, 
+//GO(CERT_GetImposedNameConstraints, 
+//GO(CERT_GetLocalityName, 
+//GO(CERT_GetNextEmailAddress, 
+//GO(CERT_GetNextGeneralName, 
+//GO(CERT_GetNextNameConstraint, 
+//GO(CERT_GetOCSPAuthorityInfoAccessLocation, 
+//GO(CERT_GetOCSPResponseStatus, 
+//GO(CERT_GetOCSPStatusForCertID, 
+//GO(CERT_GetOidString, 
+//GO(CERT_GetOrgName, 
+//GO(CERT_GetOrgUnitName, 
+//GO(CERT_GetPKIXVerifyNistRevocationPolicy, 
+//GO(CERT_GetPrevGeneralName, 
+//GO(CERT_GetPrevNameConstraint, 
+//GO(CERT_GetSlopTime, 
+//GO(CERT_GetSSLCACerts, 
+//GO(CERT_GetStateName, 
+//GO(CERT_GetSubjectNameDigest, 
+//GO(CERT_GetSubjectPublicKeyDigest, 
+//GO(CERT_GetUsePKIXForValidation, 
+//GO(CERT_GetValidDNSPatternsFromCert, 
+//GO(CERT_Hexify, 
+//GO(CERT_ImportCAChain, 
+//GO(CERT_ImportCAChainTrusted, 
+//GO(CERT_ImportCerts, 
+//GO(CERT_ImportCRL, 
+//GO(CERT_IsCACert, 
+//GO(CERT_IsCADERCert, 
+//GO(CERT_IsRootDERCert, 
+//DATA(CERT_IssuerAndSNTemplate, 
+//GO(CERT_IsUserCert, 
+//GO(CERT_KeyFromDERCrl, 
+//GO(CERT_MakeCANickname, 
+//GO(CERT_MergeExtensions, 
+DATA(CERT_NameTemplate, 32)
+//GO(CERT_NameToAscii, 
+//GO(CERT_NameToAsciiInvertible, 
+//GO(CERT_NewCertList, 
+//GO(__CERT_NewTempCertificate, 
+//GO(CERT_NewTempCertificate, 
+//GO(CERT_NicknameStringsFromCertList, 
+//GO(CERT_OCSPCacheSettings, 
+//GO(CERT_OpenCertDBFilename, 
+//GO(CERT_PKIXVerifyCert, 
+//GO(CERT_PostOCSPRequest, 
+//GO(CERT_RegisterAlternateOCSPAIAInfoCallBack, 
+//GO(CERT_RemoveCertListNode, 
+//GO(CERT_RFC1485_EscapeAndQuote, 
+//GO(CERT_SaveSMimeProfile, 
+//DATA(CERT_SequenceOfCertExtensionTemplate, 
+//GO(CERT_SetOCSPDefaultResponder, 
+//GO(CERT_SetOCSPFailureMode, 
+//GO(CERT_SetOCSPTimeout, 
+//DATA(CERT_SetOfSignedCrlTemplate, 
+//GO(CERT_SetSlopTime, 
+//GO(CERT_SetUsePKIXForValidation, 
+//DATA(CERT_SignedCrlTemplate, 
+//DATA(CERT_SignedDataTemplate, 
+//GO(CERT_StartCertExtensions, 
+//GO(CERT_StartCertificateRequestAttributes, 
+//GO(CERT_StartCRLEntryExtensions, 
+//GO(CERT_StartCRLExtensions, 
+//DATA(CERT_SubjectPublicKeyInfoTemplate, 
+//DATA(CERT_TimeChoiceTemplate,     //R type
+//GO(__CERT_TraversePermCertsForNickname, 
+//GO(__CERT_TraversePermCertsForSubject, 
+//GO(CERT_UncacheCRL, 
+//GO(CERT_VerifyCACertForUsage, 
+//GO(CERT_VerifyCert, 
+//GO(CERT_VerifyCertificate, 
+//GO(CERT_VerifyCertificateNow, 
+//GO(CERT_VerifyCertName, 
+//GO(CERT_VerifyCertNow, 
+//GO(CERT_VerifyOCSPResponseSignature, 
+//GO(CERT_VerifySignedData, 
+//GO(CERT_VerifySignedDataWithPublicKey, 
+//GO(CERT_VerifySignedDataWithPublicKeyInfo, 
+//GO(DER_AsciiToTime, 
+//GO(DER_DecodeTimeChoice, 
+//GO(DER_Encode, 
+//GO(DER_EncodeTimeChoice, 
+//GO(DER_GeneralizedDayToAscii, 
+//GO(DER_GeneralizedTimeToTime, 
+//GO(DER_GetInteger, 
+//GO(DER_Lengths, 
+//GO(DER_TimeChoiceDayToAscii, 
+//GO(DER_TimeToGeneralizedTime, 
+//GO(DER_TimeToGeneralizedTimeArena, 
+//GO(DER_TimeToUTCTime, 
+//GO(DER_UTCDayToAscii, 
+//GO(DER_UTCTimeToAscii, 
+//GO(DER_UTCTimeToTime, 
+//GO(DSAU_DecodeDerSig, 
+//GO(DSAU_DecodeDerSigToLen, 
+//GO(DSAU_EncodeDerSig, 
+//GO(DSAU_EncodeDerSigWithLen, 
+//GO(HASH_Begin, 
+//GO(HASH_Clone, 
+//GO(HASH_Create, 
+//GO(HASH_Destroy, 
+//GO(HASH_End, 
+//GO(HASH_GetHashObject, 
+//GO(HASH_GetHashObjectByOidTag, 
+//GO(HASH_GetHashOidTagByHashType, 
+//GO(HASH_GetHashTypeByOidTag, 
+//GO(HASH_GetType, 
+//GO(HASH_HashBuf, 
+//GO(HASH_ResultLen, 
+//GO(HASH_ResultLenByOidTag, 
+//GO(HASH_ResultLenContext, 
+//GO(HASH_Update, 
+//GO(NSSBase64_DecodeBuffer, 
+//GO(NSSBase64Decoder_Create, 
+//GO(NSSBase64Decoder_Destroy, 
+//GO(NSSBase64Decoder_Update, 
+//GO(NSSBase64_EncodeItem, 
+//GO(NSSBase64Encoder_Create, 
+//GO(NSSBase64Encoder_Destroy, 
+//GO(NSSBase64Encoder_Update, 
+//GO(nss_DumpCertificateCacheInfo, 
+//GO(NSS_Get_CERT_CertificateRequestTemplate, 
+//GO(NSS_Get_CERT_CertificateTemplate, 
+//GO(NSS_Get_CERT_CrlTemplate, 
+//GO(NSS_Get_CERT_IssuerAndSNTemplate, 
+//GO(NSS_Get_CERT_NameTemplate, 
+//GO(NSS_Get_CERT_SequenceOfCertExtensionTemplate, 
+//GO(NSS_Get_CERT_SetOfSignedCrlTemplate, 
+//GO(NSS_Get_CERT_SignedCrlTemplate, 
+//GO(NSS_Get_CERT_SignedDataTemplate, 
+//GO(NSS_Get_CERT_SubjectPublicKeyInfoTemplate, 
+//GO(NSS_Get_CERT_TimeChoiceTemplate, 
+//GO(NSS_Get_SEC_AnyTemplate, 
+//GO(NSS_Get_SEC_BitStringTemplate, 
+//GO(NSS_Get_SEC_BMPStringTemplate, 
+//GO(NSS_Get_SEC_BooleanTemplate, 
+//GO(NSS_Get_SEC_GeneralizedTimeTemplate, 
+//GO(NSS_Get_SEC_IA5StringTemplate, 
+//GO(NSS_Get_SEC_IntegerTemplate, 
+//GO(NSS_Get_SECKEY_DSAPublicKeyTemplate, 
+//GO(NSS_Get_SECKEY_EncryptedPrivateKeyInfoTemplate, 
+//GO(NSS_Get_SECKEY_PointerToEncryptedPrivateKeyInfoTemplate, 
+//GO(NSS_Get_SECKEY_PointerToPrivateKeyInfoTemplate, 
+//GO(NSS_Get_SECKEY_PrivateKeyInfoTemplate, 
+//GO(NSS_Get_SECKEY_RSAPSSParamsTemplate, 
+//GO(NSS_Get_SECKEY_RSAPublicKeyTemplate, 
+//GO(NSS_Get_SEC_NullTemplate, 
+//GO(NSS_Get_SEC_ObjectIDTemplate, 
+//GO(NSS_Get_SEC_OctetStringTemplate, 
+//GO(NSS_Get_SECOID_AlgorithmIDTemplate, 
+//GO(NSS_Get_SEC_PointerToAnyTemplate, 
+//GO(NSS_Get_SEC_PointerToOctetStringTemplate, 
+//GO(NSS_Get_SEC_SetOfAnyTemplate, 
+//GO(NSS_Get_SEC_SignedCertificateTemplate, 
+//GO(NSS_Get_SEC_UTCTimeTemplate, 
+//GO(NSS_Get_SEC_UTF8StringTemplate, 
+//GO(NSS_Get_sgn_DigestInfoTemplate, 
+//GO(NSS_GetVersion, 
+//GO(NSS_Init, 
+//GO(NSS_InitContext, 
+//GO(NSS_Initialize, 
+//GO(__nss_InitLock, 
+//GO(NSS_InitReadWrite, 
+//GO(NSS_InitWithMerge, 
+//GO(NSS_IsInitialized, 
+//GO(NSS_NoDB_Init, 
+//GO(NSS_OptionGet, 
+//GO(NSS_OptionSet, 
+//GO(NSS_PutEnv, 
+//GO(NSS_RegisterShutdown, 
+//GO(NSSRWLock_Destroy, 
+//GO(NSSRWLock_HaveWriteLock, 
+//GO(NSSRWLock_LockRead, 
+//GO(NSSRWLock_LockWrite, 
+//GO(NSSRWLock_New, 
+//GO(NSSRWLock_UnlockRead, 
+//GO(NSSRWLock_UnlockWrite, 
+//GO(NSS_Shutdown, 
+//GO(NSS_ShutdownContext, 
+//GO(NSS_UnregisterShutdown, 
+//GO(NSS_VersionCheck, 
+//GO(__PBE_CreateContext, 
+//GO(PBE_CreateContext, 
+//GO(__PBE_DestroyContext, 
+//GO(PBE_DestroyContext, 
+//GO(__PBE_GenerateBits, 
+//GO(PBE_GenerateBits, 
+//GO(PK11_AlgtagToMechanism, 
+//GO(PK11_Authenticate, 
+//GO(PK11_BlockData, 
+//GO(PK11_ChangePW, 
+//GO(PK11_CheckSSOPassword, 
+//GO(PK11_CheckUserPassword, 
+//GO(PK11_CipherOp, 
+//GO(PK11_CloneContext, 
+//GO(PK11_ConfigurePKCS11, 
+//GO(PK11_ConvertSessionPrivKeyToTokenPrivKey, 
+//GO(PK11_ConvertSessionSymKeyToTokenSymKey, 
+//GO(PK11_CopySymKeyForSigning, 
+//GO(PK11_CopyTokenPrivKeyToSessionPrivKey, 
+//GO(__PK11_CreateContextByRawKey, 
+//GO(PK11_CreateContextBySymKey, 
+//GO(PK11_CreateDigestContext, 
+//GO(PK11_CreateGenericObject, 
+//GO(PK11_CreateManagedGenericObject, 
+//GO(PK11_CreateMergeLog, 
+//GO(PK11_CreatePBEAlgorithmID, 
+//GO(PK11_CreatePBEParams, 
+//GO(PK11_CreatePBEV2AlgorithmID, 
+//GO(PK11_Decrypt, 
+//GO(PK11_DeleteTokenCertAndKey, 
+//GO(PK11_DeleteTokenPrivateKey, 
+//GO(PK11_DeleteTokenPublicKey, 
+//GO(PK11_DeleteTokenSymKey, 
+//GO(PK11_DEREncodePublicKey, 
+//GO(PK11_Derive, 
+//GO(PK11_DeriveWithFlags, 
+//GO(PK11_DeriveWithFlagsPerm, 
+//GO(PK11_DeriveWithTemplate, 
+//GO(PK11_DestroyContext, 
+//GO(PK11_DestroyGenericObject, 
+//GO(PK11_DestroyGenericObjects, 
+//GO(PK11_DestroyMergeLog, 
+//GO(PK11_DestroyObject, 
+//GO(PK11_DestroyPBEParams, 
+//GO(PK11_DestroyTokenObject, 
+//GO(PK11_DigestBegin, 
+//GO(PK11_DigestFinal, 
+//GO(PK11_DigestKey, 
+//GO(PK11_DigestOp, 
+//GO(PK11_DoesMechanism, 
+//GO(PK11_Encrypt, 
+//GO(PK11_ExportDERPrivateKeyInfo, 
+//GO(PK11_ExportEncryptedPrivateKeyInfo, 
+//GO(PK11_ExportEncryptedPrivKeyInfo, 
+//GO(PK11_ExportPrivateKeyInfo, 
+//GO(PK11_ExportPrivKeyInfo, 
+//GO(PK11_ExtractKeyValue, 
+//GO(PK11_Finalize, 
+//GO(PK11_FindBestKEAMatch, 
+//GO(PK11_FindCertAndKeyByRecipientList, 
+//GO(PK11_FindCertAndKeyByRecipientListNew, 
+//GO(PK11_FindCertByIssuerAndSN, 
+//GO(PK11_FindCertFromDERCert, 
+//GO(PK11_FindCertFromDERCertItem, 
+//GO(PK11_FindCertFromNickname, 
+//GO(PK11_FindCertFromURI, 
+//GO(PK11_FindCertInSlot, 
+//GO(PK11_FindCertsFromEmailAddress, 
+//GO(PK11_FindCertsFromNickname, 
+//GO(PK11_FindCertsFromURI, 
+//GO(PK11_FindFixedKey, 
+//GO(PK11_FindGenericObjects, 
+//GO(PK11_FindKeyByAnyCert, 
+//GO(PK11_FindKeyByDERCert, 
+//GO(PK11_FindKeyByKeyID, 
+//GO(PK11_FindPrivateKeyFromCert, 
+//GO(PK11_FindRawCertsWithSubject, 
+//GO(PK11_FindSlotByName, 
+//GO(PK11_FindSlotsByNames, 
+//GO(PK11_FortezzaHasKEA, 
+//GO(PK11_FortezzaMapSig, 
+//GO(PK11_FreeSlot, 
+//GO(PK11_FreeSlotList, 
+//GO(PK11_FreeSlotListElement, 
+//GO(PK11_FreeSymKey, 
+//GO(PK11_GenerateFortezzaIV, 
+//GO(PK11_GenerateKeyPair, 
+//GO(PK11_GenerateKeyPairWithFlags, 
+//GO(PK11_GenerateKeyPairWithOpFlags, 
+//GO(PK11_GenerateNewParam, 
+//GO(PK11_GenerateRandom, 
+//GO(PK11_GenerateRandomOnSlot, 
+//GO(PK11_GetAllSlotsForCert, 
+//GO(PK11_GetAllTokens, 
+//GO(PK11_GetBestKeyLength, 
+//GO(PK11_GetBestSlot, 
+//GO(PK11_GetBestSlotMultiple, 
+//GO(PK11_GetBestSlotMultipleWithAttributes, 
+//GO(PK11_GetBestSlotWithAttributes, 
+//GO(PK11_GetBestWrapMechanism, 
+//GO(PK11_GetBlockSize, 
+//GO(PK11_GetCertFromPrivateKey, 
+//GO(PK11_GetCertsMatchingPrivateKey, 
+//GO(PK11_GetCurrentWrapIndex, 
+//GO(PK11_GetDefaultArray, 
+//GO(PK11_GetDefaultFlags, 
+//GO(PK11_GetDisabledReason, 
+//GO(PK11_GetFirstSafe, 
+//GO(PK11_GetInternalKeySlot, 
+//GO(PK11_GetInternalSlot, 
+//GO(PK11_GetIVLength, 
+//GO(__PK11_GetKeyData, 
+//GO(PK11_GetKeyData, 
+//GO(PK11_GetKeyGen, 
+//GO(PK11_GetKeyLength, 
+//GO(PK11_GetKeyStrength, 
+//GO(PK11_GetKeyType, 
+//GO(PK11_GetLowLevelKeyIDForCert, 
+//GO(PK11_GetLowLevelKeyIDForPrivateKey, 
+//GO(PK11_GetMechanism, 
+//GO(PK11_GetMinimumPwdLength, 
+//GO(PK11_GetModInfo, 
+//GO(PK11_GetModule, 
+//GO(PK11_GetModuleID, 
+//GO(PK11_GetModuleURI, 
+//GO(PK11_GetNextGenericObject, 
+//GO(PK11_GetNextSafe, 
+//GO(PK11_GetNextSymKey, 
+//GO(PK11_GetPadMechanism, 
+//GO(PK11_GetPBECryptoMechanism, 
+//GO(PK11_GetPBEIV, 
+//GO(PK11_GetPQGParamsFromPrivateKey, 
+//GO(PK11_GetPrevGenericObject, 
+//GO(PK11_GetPrivateKeyNickname, 
+//GO(PK11_GetPrivateModulusLen, 
+//GO(PK11_GetPublicKeyNickname, 
+//GO(PK11_GetSlotFromKey, 
+//GO(PK11_GetSlotFromPrivateKey, 
+//GO(PK11_GetSlotID, 
+//GO(PK11_GetSlotInfo, 
+//GO(PK11_GetSlotName, 
+//GO(PK11_GetSlotPWValues, 
+//GO(PK11_GetSlotSeries, 
+//GO(PK11_GetSymKeyHandle, 
+//GO(PK11_GetSymKeyNickname, 
+//GO(PK11_GetSymKeyType, 
+//GO(PK11_GetSymKeyUserData, 
+//GO(PK11_GetTokenInfo, 
+//GO(PK11_GetTokenName, 
+//GO(PK11_GetTokenURI, 
+//GO(PK11_GetWindow, 
+//GO(PK11_GetWrapKey, 
+//GO(PK11_HasAttributeSet, 
+//GO(PK11_HashBuf, 
+//GO(PK11_HasRootCerts, 
+//GO(PK11_ImportCert, 
+//GO(PK11_ImportCertForKey, 
+//GO(PK11_ImportCertForKeyToSlot, 
+//GO(PK11_ImportCRL, 
+//GO(PK11_ImportDERCert, 
+//GO(PK11_ImportDERCertForKey, 
+//GO(PK11_ImportDERPrivateKeyInfo, 
+//GO(PK11_ImportDERPrivateKeyInfoAndReturnKey, 
+//GO(PK11_ImportEncryptedPrivateKeyInfo, 
+//GO(PK11_ImportEncryptedPrivateKeyInfoAndReturnKey, 
+//GO(PK11_ImportPrivateKeyInfo, 
+//GO(PK11_ImportPrivateKeyInfoAndReturnKey, 
+//GO(PK11_ImportPublicKey, 
+//GO(PK11_ImportSymKey, 
+//GO(PK11_ImportSymKeyWithFlags, 
+//GO(PK11_InitPin, 
+//GO(PK11_IsDisabled, 
+//GO(PK11_IsFIPS, 
+//GO(PK11_IsFriendly, 
+//GO(PK11_IsHW, 
+//GO(PK11_IsInternal, 
+//GO(PK11_IsInternalKeySlot, 
+//GO(PK11_IsLoggedIn, 
+//GO(PK11_IsPresent, 
+//GO(PK11_IsReadOnly, 
+//GO(PK11_IsRemovable, 
+//GO(PK11_IVFromParam, 
+//GO(PK11_KeyForCertExists, 
+//GO(PK11_KeyForDERCertExists, 
+//GO(PK11_KeyGen, 
+//GO(PK11_KeyGenWithTemplate, 
+//GO(PK11_LinkGenericObject, 
+//GO(PK11_ListCerts, 
+//GO(PK11_ListCertsInSlot, 
+//GO(PK11_ListFixedKeysInSlot, 
+//GO(PK11_ListPrivateKeysInSlot, 
+//GO(PK11_ListPrivKeysInSlot, 
+//GO(PK11_ListPublicKeysInSlot, 
+//GO(PK11_LoadPrivKey, 
+//GO(PK11_Logout, 
+//GO(PK11_LogoutAll, 
+//GO(PK11_MakeIDFromPubKey, 
+//GO(PK11_MakeKEAPubKey, 
+//GO(PK11_MapPBEMechanismToCryptoMechanism, 
+//GO(PK11_MapSignKeyType, 
+//GO(PK11_MechanismToAlgtag, 
+//GO(PK11_MergeTokens, 
+//GO(PK11_MoveSymKey, 
+//GO(PK11_NeedLogin, 
+//GO(PK11_NeedPWInit, 
+//GO(PK11_NeedUserInit, 
+//GO(PK11_ParamFromAlgid, 
+//GO(PK11_ParamFromIV, 
+//GO(PK11_ParamToAlgid, 
+//GO(PK11_PBEKeyGen, 
+//GO(PK11_PQG_DestroyParams, 
+//GO(PK11_PQG_DestroyVerify, 
+//GO(PK11_PQG_GetBaseFromParams, 
+//GO(PK11_PQG_GetCounterFromVerify, 
+//GO(PK11_PQG_GetHFromVerify, 
+//GO(PK11_PQG_GetPrimeFromParams, 
+//GO(PK11_PQG_GetSeedFromVerify, 
+//GO(PK11_PQG_GetSubPrimeFromParams, 
+//GO(PK11_PQG_NewParams, 
+//GO(PK11_PQG_NewVerify, 
+//GO(PK11_PQG_ParamGen, 
+//GO(PK11_PQG_ParamGenSeedLen, 
+//GO(PK11_PQG_ParamGenV2, 
+//GO(PK11_PQG_VerifyParams, 
+//GO(PK11_PrivDecrypt, 
+//GO(PK11_PrivDecryptPKCS1, 
+//GO(PK11_ProtectedAuthenticationPath, 
+//GO(PK11_PubDecryptRaw, 
+//GO(PK11_PubDerive, 
+//GO(PK11_PubDeriveWithKDF, 
+//GO(PK11_PubEncrypt, 
+//GO(PK11_PubEncryptPKCS1, 
+//GO(PK11_PubEncryptRaw, 
+//GO(PK11_PubUnwrapSymKey, 
+//GO(PK11_PubUnwrapSymKeyWithFlags, 
+//GO(PK11_PubUnwrapSymKeyWithFlagsPerm, 
+//GO(PK11_PubWrapSymKey, 
+//GO(PK11_RandomUpdate, 
+//GO(PK11_RawPBEKeyGen, 
+//GO(PK11_ReadRawAttribute, 
+//GO(PK11_ReferenceSlot, 
+//GO(PK11_ReferenceSymKey, 
+//GO(PK11_ResetToken, 
+//GO(PK11_RestoreContext, 
+//GO(PK11_SaveContext, 
+//GO(PK11_SaveContextAlloc, 
+//GO(PK11SDR_Decrypt, 
+//GO(PK11SDR_Encrypt, 
+//GO(PK11_SeedRandom, 
+//GO(__PK11_SetCertificateNickname, 
+//GO(PK11_SetFortezzaHack, 
+//GO(PK11_SetPasswordFunc, 
+//GO(PK11_SetPrivateKeyNickname, 
+//GO(PK11_SetPublicKeyNickname, 
+//GO(PK11_SetSlotPWValues, 
+//GO(PK11_SetSymKeyNickname, 
+//GO(PK11_SetSymKeyUserData, 
+//GO(PK11_SetWrapKey, 
+//GO(PK11_Sign, 
+//GO(PK11_SignatureLen, 
+//GO(PK11_SignWithMechanism, 
+//GO(PK11_SignWithSymKey, 
+//GO(PK11_SymKeyFromHandle, 
+//GO(PK11_TokenExists, 
+//GO(PK11_TokenKeyGen, 
+//GO(PK11_TokenKeyGenWithFlags, 
+//GO(PK11_TokenRefresh, 
+//GO(PK11_TraverseCertsForNicknameInSlot, 
+//GO(PK11_TraverseCertsForSubjectInSlot, 
+//GO(PK11_TraverseSlotCerts, 
+//GO(PK11_UnconfigurePKCS11, 
+//GO(PK11_UnlinkGenericObject, 
+//GO(PK11_UnwrapPrivKey, 
+//GO(PK11_UnwrapSymKey, 
+//GO(PK11_UnwrapSymKeyWithFlags, 
+//GO(PK11_UnwrapSymKeyWithFlagsPerm, 
+//GO(PK11_UpdateSlotAttribute, 
+//GO(PK11_UserDisableSlot, 
+//GO(PK11_UserEnableSlot, 
+//GO(PK11_Verify, 
+//GO(PK11_VerifyKeyOK, 
+//GO(PK11_VerifyRecover, 
+//GO(PK11_VerifyWithMechanism, 
+//GO(PK11_WaitForTokenEvent, 
+//GO(PK11_WrapPrivKey, 
+//GO(PK11_WrapSymKey, 
+//GO(PK11_WriteRawAttribute, 
+//GO(PORT_Alloc, 
+//GO(PORT_ArenaAlloc, 
+//GO(PORT_ArenaGrow, 
+//GO(PORT_ArenaMark, 
+//GO(PORT_ArenaRelease, 
+//GO(PORT_ArenaStrdup, 
+//GO(PORT_ArenaUnmark, 
+//GO(PORT_ArenaZAlloc, 
+//GO(PORT_Free, 
+//GO(PORT_FreeArena, 
+//GO(PORT_GetError, 
+//GO(PORT_NewArena, 
+//GO(PORT_Realloc, 
+//GO(PORT_SetError, 
+//GO(PORT_SetUCS2_ASCIIConversionFunction, 
+//GO(PORT_SetUCS2_UTF8ConversionFunction, 
+//GO(PORT_SetUCS4_UTF8ConversionFunction, 
+//GO(PORT_Strdup, 
+//GO(PORT_UCS2_ASCIIConversion, 
+//GO(PORT_UCS2_UTF8Conversion, 
+//GO(PORT_ZAlloc, 
+//GO(PORT_ZFree, 
+//GO(RSA_FormatBlock, 
+//DATA(SEC_AnyTemplate,     //R type
+//GO(SEC_ASN1Decode, 
+//GO(SEC_ASN1DecodeInteger, 
+//GO(SEC_ASN1DecodeItem, 
+//GO(SEC_ASN1DecoderAbort, 
+//GO(SEC_ASN1DecoderClearFilterProc, 
+//GO(SEC_ASN1DecoderClearNotifyProc, 
+//GO(SEC_ASN1DecoderFinish, 
+//GO(SEC_ASN1DecoderSetFilterProc, 
+//GO(SEC_ASN1DecoderSetNotifyProc, 
+//GO(SEC_ASN1DecoderStart, 
+//GO(SEC_ASN1DecoderUpdate, 
+//GO(SEC_ASN1Encode, 
+//GO(SEC_ASN1EncodeInteger, 
+//GO(SEC_ASN1EncodeItem, 
+//GO(SEC_ASN1EncoderAbort, 
+//GO(SEC_ASN1EncoderClearNotifyProc, 
+//GO(SEC_ASN1EncoderClearStreaming, 
+//GO(SEC_ASN1EncoderClearTakeFromBuf, 
+//GO(SEC_ASN1EncoderFinish, 
+//GO(SEC_ASN1EncoderSetNotifyProc, 
+//GO(SEC_ASN1EncoderSetStreaming, 
+//GO(SEC_ASN1EncoderSetTakeFromBuf, 
+//GO(SEC_ASN1EncoderStart, 
+//GO(SEC_ASN1EncoderUpdate, 
+//GO(SEC_ASN1EncodeUnsignedInteger, 
+//GO(SEC_ASN1LengthLength, 
+DATA(SEC_BitStringTemplate, 32) //R type
+DATA(SEC_BMPStringTemplate, 32) //R type
+//DATA(SEC_BooleanTemplate,     //R type
+//GO(SEC_CertNicknameConflict, 
+//GO(SEC_CheckCrlTimes, 
+//GO(SEC_CreateSignatureAlgorithmParameters, 
+//GO(SEC_DeletePermCertificate, 
+//GO(SEC_DeletePermCRL, 
+//GO(SEC_DerSignData, 
+//GO(SEC_DerSignDataWithAlgorithmID, 
+//GO(SEC_DestroyCrl, 
+//GO(SEC_DupCrl, 
+//GO(SEC_FindCrlByDERCert, 
+//GO(SEC_FindCrlByName, 
+//DATA(SEC_GeneralizedTimeTemplate,     //R type
+//GO(SEC_GetCrlTimes, 
+//GO(SEC_GetRegisteredHttpClient, 
+//GO(SEC_GetSignatureAlgorithmOidTag, 
+DATA(SEC_IA5StringTemplate, 32) //R type
+//DATA(SEC_IntegerTemplate,     //R type
+//GO(SECITEM_AllocItem, 
+//GO(SECITEM_ArenaDupItem, 
+//GO(SECITEM_CompareItem, 
+//GO(SECITEM_CopyItem, 
+//GO(SECITEM_DupItem, 
+//GO(SECITEM_FreeItem, 
+//GO(SECITEM_ItemsAreEqual, 
+//GO(SECITEM_ZfreeItem, 
+//GO(SECKEY_AddPrivateKeyToListTail, 
+//GO(SECKEY_BigIntegerBitLength, 
+//GO(SECKEY_CacheStaticFlags, 
+//GO(SECKEY_ConvertToPublicKey, 
+//GO(SECKEY_CopyEncryptedPrivateKeyInfo, 
+//GO(SECKEY_CopyPrivateKey, 
+//GO(SECKEY_CopyPrivateKeyInfo, 
+//GO(SECKEY_CopyPublicKey, 
+//GO(SECKEY_CopySubjectPublicKeyInfo, 
+//GO(SECKEY_CreateDHPrivateKey, 
+//GO(SECKEY_CreateECPrivateKey, 
+//GO(SECKEY_CreateRSAPrivateKey, 
+//GO(SECKEY_CreateSubjectPublicKeyInfo, 
+//GO(SECKEY_DecodeDERSubjectPublicKeyInfo, 
+//GO(SECKEY_DestroyEncryptedPrivateKeyInfo, 
+//GO(SECKEY_DestroyPrivateKey, 
+//GO(SECKEY_DestroyPrivateKeyInfo, 
+//GO(SECKEY_DestroyPrivateKeyList, 
+//GO(SECKEY_DestroyPublicKey, 
+//GO(SECKEY_DestroyPublicKeyList, 
+//GO(SECKEY_DestroySubjectPublicKeyInfo, 
+//DATA(SECKEY_DSAPublicKeyTemplate,     //R type
+//GO(SECKEY_ECParamsToBasePointOrderLen, 
+//GO(SECKEY_ECParamsToKeySize, 
+//GO(SECKEY_EncodeDERSubjectPublicKeyInfo, 
+//DATA(SECKEY_EncryptedPrivateKeyInfoTemplate, 
+//GO(SECKEY_ExtractPublicKey, 
+//GO(SECKEY_GetPrivateKeyType, 
+//GO(SECKEY_GetPublicKeyType, 
+//GO(SECKEY_HashPassword, 
+//GO(SECKEY_ImportDERPublicKey, 
+//GO(SECKEY_NewPrivateKeyList, 
+//DATA(SECKEY_PointerToEncryptedPrivateKeyInfoTemplate, 
+//DATA(SECKEY_PointerToPrivateKeyInfoTemplate, 
+//DATA(SECKEY_PrivateKeyInfoTemplate, 
+//GO(SECKEY_PublicKeyStrength, 
+//GO(SECKEY_PublicKeyStrengthInBits, 
+//GO(SECKEY_RemovePrivateKeyListNode, 
+//DATA(SECKEY_RSAPSSParamsTemplate, 
+//DATA(SECKEY_RSAPublicKeyTemplate,     //R type
+//GO(SECKEY_SignatureLen, 
+//GO(SECKEY_UpdateCertPQG, 
+//GO(SEC_LookupCrls, 
+//GO(SECMOD_AddNewModule, 
+//GO(SECMOD_AddNewModuleEx, 
+//GO(SECMOD_CancelWait, 
+//GO(SECMOD_CanDeleteInternalModule, 
+//GO(SECMOD_CloseUserDB, 
+//GO(SECMOD_CreateModule, 
+//GO(SECMOD_CreateModuleEx, 
+//GO(SECMOD_DeleteInternalModule, 
+//GO(SECMOD_DeleteModule, 
+//GO(SECMOD_DeleteModuleEx, 
+//GO(SECMOD_DestroyModule, 
+//GO(SECMOD_FindModule, 
+//GO(SECMOD_FindSlot, 
+//GO(SECMOD_FreeModuleSpecList, 
+//GO(SECMOD_GetDBModuleList, 
+//GO(SECMOD_GetDeadModuleList, 
+//GO(SECMOD_GetDefaultModDBFlag, 
+//GO(SECMOD_GetDefaultModuleList, 
+//GO(SECMOD_GetDefaultModuleListLock, 
+//GO(SECMOD_GetInternalModule, 
+//GO(SECMOD_GetModuleSpecList, 
+//GO(SECMOD_GetReadLock, 
+//GO(SECMOD_GetSkipFirstFlag, 
+//GO(SECMOD_HasRemovableSlots, 
+//GO(SECMOD_HasRootCerts, 
+//GO(SECMOD_InternaltoPubMechFlags, 
+//GO(SECMOD_IsModulePresent, 
+//GO(SECMOD_LoadModule, 
+//GO(SECMOD_LoadUserModule, 
+//GO(SECMOD_LookupSlot, 
+//GO(SECMOD_OpenNewSlot, 
+//GO(SECMOD_OpenUserDB, 
+//GO(SECMOD_PubCipherFlagstoInternal, 
+//GO(SECMOD_PubMechFlagstoInternal, 
+//GO(SECMOD_ReferenceModule, 
+//GO(SECMOD_ReleaseReadLock, 
+//GO(SECMOD_RestartModules, 
+//GO(SECMOD_UnloadUserModule, 
+//GO(SECMOD_UpdateModule, 
+//GO(SECMOD_UpdateSlotList, 
+//GO(SECMOD_WaitForAnyTokenEvent, 
+//GO(SEC_NewCrl, 
+//DATA(SEC_NullTemplate,    //R type
+//DATA(SEC_ObjectIDTemplate,    //R type
+DATA(SEC_OctetStringTemplate, 32)   //R type
+//GO(SECOID_AddEntry, 
+DATA(SECOID_AlgorithmIDTemplate, 128)   //R type
+//GO(SECOID_CompareAlgorithmID, 
+//GO(SECOID_CopyAlgorithmID, 
+//GO(SECOID_DestroyAlgorithmID, 
+//GO(SECOID_FindOID, 
+//GO(SECOID_FindOIDByTag, 
+//GO(SECOID_FindOIDTag, 
+//GO(SECOID_FindOIDTagDescription, 
+//GO(SECOID_GetAlgorithmTag, 
+//GO(SECOID_SetAlgorithmID, 
+//GO(SEC_PKCS5GetCryptoAlgorithm, 
+//GO(SEC_PKCS5GetIV, 
+//GO(SEC_PKCS5GetKeyLength, 
+//GO(SEC_PKCS5GetPBEAlgorithm, 
+//GO(SEC_PKCS5IsAlgorithmPBEAlg, 
+//GO(SEC_PKCS5IsAlgorithmPBEAlgTag, 
+//DATA(SEC_PointerToAnyTemplate, 
+//DATA(SEC_PointerToOctetStringTemplate, 
+//GO(SEC_QuickDERDecodeItem, 
+//GO(SEC_RegisterDefaultHttpClient, 
+//DATA(SEC_SetOfAnyTemplate, 
+//GO(SEC_SignData, 
+//GO(SEC_SignDataWithAlgorithmID, 
+//DATA(SEC_SignedCertificateTemplate, 
+//DATA(SEC_UTCTimeTemplate,     //R type
+DATA(SEC_UTF8StringTemplate, 32)    //R type
+//GO(SGN_Begin, 
+//GO(SGN_CompareDigestInfo, 
+//GO(SGN_CopyDigestInfo, 
+//GO(SGN_CreateDigestInfo, 
+//GO(SGN_DestroyContext, 
+//GO(SGN_DestroyDigestInfo, 
+//GO(SGN_Digest, 
+//DATA(sgn_DigestInfoTemplate, 
+//GO(SGN_End, 
+//GO(SGN_NewContext, 
+//GO(SGN_NewContextWithAlgorithmID, 
+//GO(SGN_Update, 
+//GO(VFY_Begin, 
+//GO(VFY_CreateContext, 
+//GO(VFY_CreateContextDirect, 
+//GO(VFY_CreateContextWithAlgorithmID, 
+//GO(VFY_DestroyContext, 
+//GO(VFY_End, 
+//GO(VFY_EndWithSignature, 
+//GO(VFY_Update, 
+//GO(VFY_VerifyData, 
+//GO(VFY_VerifyDataDirect, 
+//GO(VFY_VerifyDataWithAlgorithmID, 
+//GO(VFY_VerifyDigest, 
+//GO(VFY_VerifyDigestDirect, 
+//GO(VFY_VerifyDigestWithAlgorithmID, 
diff --git a/src/wrapped/wrappednssutil3.c b/src/wrapped/wrappednssutil3.c
new file mode 100755
index 00000000..7a884950
--- /dev/null
+++ b/src/wrapped/wrappednssutil3.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* nssutil3Name = "libnssutil3.so";
+#define LIBNAME nssutil3
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappednssutil3_private.h b/src/wrapped/wrappednssutil3_private.h
new file mode 100755
index 00000000..6c15e845
--- /dev/null
+++ b/src/wrapped/wrappednssutil3_private.h
@@ -0,0 +1,232 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(ATOB_AsciiToData_Util, 
+//GO(ATOB_ConvertAsciiToItem_Util, 
+//GO(BTOA_ConvertItemToAscii_Util, 
+//GO(BTOA_DataToAscii_Util, 
+//GO(CERT_GenTime2FormattedAscii_Util, 
+//GO(DER_AsciiToTime_Util, 
+//GO(DER_DecodeTimeChoice_Util, 
+//GO(DER_EncodeTimeChoice_Util, 
+//GO(DER_Encode_Util, 
+//GO(DER_GeneralizedDayToAscii_Util, 
+//GO(DER_GeneralizedTimeToTime_Util, 
+//GO(DER_GetInteger_Util, 
+//GO(DER_GetUInteger, 
+//GO(DER_LengthLength, 
+//GO(DER_Lengths_Util, 
+//GO(DER_SetUInteger, 
+//GO(DER_StoreHeader, 
+//GO(DER_TimeChoiceDayToAscii_Util, 
+//GO(DER_TimeToGeneralizedTimeArena_Util, 
+//GO(DER_TimeToGeneralizedTime_Util, 
+//GO(DER_TimeToUTCTime_Util, 
+//GO(DER_UTCDayToAscii_Util, 
+//GO(DER_UTCTimeToAscii_Util, 
+//GO(DER_UTCTimeToTime_Util, 
+//GO(NSSBase64_DecodeBuffer_Util, 
+//GO(NSSBase64Decoder_Create_Util, 
+//GO(NSSBase64Decoder_Destroy_Util, 
+//GO(NSSBase64Decoder_Update_Util, 
+//GO(NSSBase64_EncodeItem_Util, 
+//GO(NSSBase64Encoder_Create_Util, 
+//GO(NSSBase64Encoder_Destroy_Util, 
+//GO(NSSBase64Encoder_Update_Util, 
+//GO(NSS_GetAlgorithmPolicy, 
+//GO(NSS_Get_SEC_AnyTemplate_Util, 
+//GO(NSS_Get_SEC_BitStringTemplate_Util, 
+//GO(NSS_Get_SEC_BMPStringTemplate_Util, 
+//GO(NSS_Get_SEC_BooleanTemplate_Util, 
+//GO(NSS_Get_SEC_EnumeratedTemplate, 
+//GO(NSS_Get_SEC_GeneralizedTimeTemplate_Util, 
+//GO(NSS_Get_SEC_IA5StringTemplate_Util, 
+//GO(NSS_Get_SEC_IntegerTemplate_Util, 
+//GO(NSS_Get_SEC_NullTemplate_Util, 
+//GO(NSS_Get_SEC_ObjectIDTemplate_Util, 
+//GO(NSS_Get_SEC_OctetStringTemplate_Util, 
+//GO(NSS_Get_SECOID_AlgorithmIDTemplate_Util, 
+//GO(NSS_Get_SEC_PointerToAnyTemplate_Util, 
+//GO(NSS_Get_SEC_PointerToEnumeratedTemplate, 
+//GO(NSS_Get_SEC_PointerToGeneralizedTimeTemplate, 
+//GO(NSS_Get_SEC_PointerToOctetStringTemplate_Util, 
+//GO(NSS_Get_SEC_PrintableStringTemplate, 
+//GO(NSS_Get_SEC_SequenceOfAnyTemplate, 
+//GO(NSS_Get_SEC_SequenceOfObjectIDTemplate, 
+//GO(NSS_Get_SEC_SetOfAnyTemplate_Util, 
+//GO(NSS_Get_SEC_SkipTemplate, 
+//GO(NSS_Get_SEC_T61StringTemplate, 
+//GO(NSS_Get_SEC_UniversalStringTemplate, 
+//GO(NSS_Get_SEC_UTF8StringTemplate_Util, 
+//GO(NSS_Get_sgn_DigestInfoTemplate_Util, 
+//GO(NSS_InitializePRErrorTable, 
+//GO(NSS_PutEnv_Util, 
+//GO(NSSRWLock_Destroy_Util, 
+//GO(NSSRWLock_HaveWriteLock_Util, 
+//GO(NSSRWLock_LockRead_Util, 
+//GO(NSSRWLock_LockWrite_Util, 
+//GO(NSSRWLock_New_Util, 
+//GO(NSSRWLock_UnlockRead_Util, 
+//GO(NSSRWLock_UnlockWrite_Util, 
+//GO(NSS_SecureMemcmp, 
+//GO(NSS_SecureMemcmpZero, 
+//GO(NSS_SetAlgorithmPolicy, 
+//GO(NSSUTIL_AddNSSFlagToModuleSpec, 
+//GO(NSSUTIL_ArgDecodeNumber, 
+//GO(NSSUTIL_ArgFetchValue, 
+//GO(NSSUTIL_ArgGetLabel, 
+//GO(NSSUTIL_ArgGetParamValue, 
+//GO(NSSUTIL_ArgHasFlag, 
+//GO(NSSUTIL_ArgIsBlank, 
+//GO(NSSUTIL_ArgParseCipherFlags, 
+//GO(NSSUTIL_ArgParseModuleSpec, 
+//GO(NSSUTIL_ArgParseModuleSpecEx, 
+//GO(NSSUTIL_ArgParseSlotFlags, 
+//GO(NSSUTIL_ArgParseSlotInfo, 
+//GO(NSSUTIL_ArgReadLong, 
+//GO(NSSUTIL_ArgSkipParameter, 
+//GO(NSSUTIL_ArgStrip, 
+//GO(NSSUTIL_DoModuleDBFunction, 
+//GO(NSSUTIL_DoubleEscape, 
+//GO(NSSUTIL_DoubleEscapeSize, 
+//GO(NSSUTIL_Escape, 
+//GO(NSSUTIL_EscapeSize, 
+//GO(_NSSUTIL_EvaluateConfigDir, 
+//GO(_NSSUTIL_GetSecmodName, 
+//GO(NSSUTIL_GetVersion, 
+//GO(NSSUTIL_MkModuleSpec, 
+//GO(NSSUTIL_MkNSSString, 
+//GO(NSSUTIL_MkSlotString, 
+//GO(NSSUTIL_Quote, 
+//GO(NSSUTIL_QuoteSize, 
+//GO(PK11URI_CreateURI, 
+//GO(PK11URI_DestroyURI, 
+//GO(PK11URI_FormatURI, 
+//GO(PK11URI_GetPathAttribute, 
+//GO(PK11URI_GetQueryAttribute, 
+//GO(PK11URI_ParseURI, 
+//GO(PORT_Alloc_Util, 
+//GO(PORT_ArenaAlloc_Util, 
+//GO(PORT_ArenaGrow_Util, 
+//GO(PORT_ArenaMark_Util, 
+//GO(PORT_ArenaRelease_Util, 
+//GO(PORT_ArenaStrdup_Util, 
+//GO(PORT_ArenaUnmark_Util, 
+//GO(PORT_ArenaZAlloc_Util, 
+//GO(PORT_DestroyCheapArena, 
+//GO(PORT_FreeArena_Util, 
+//GO(PORT_Free_Util, 
+//GO(PORT_GetError_Util, 
+//GO(PORT_InitCheapArena, 
+//GO(PORT_ISO88591_UTF8Conversion, 
+//GO(PORT_LoadLibraryFromOrigin, 
+//GO(PORT_NewArena_Util, 
+//GO(PORT_Realloc_Util, 
+//GO(PORT_RegExpCaseSearch, 
+//GO(PORT_RegExpSearch, 
+//GO(PORT_RegExpValid, 
+//GO(PORT_SetError_Util, 
+//GO(PORT_SetUCS2_ASCIIConversionFunction_Util, 
+//GO(PORT_SetUCS2_UTF8ConversionFunction_Util, 
+//GO(PORT_SetUCS4_UTF8ConversionFunction_Util, 
+//GO(PORT_Strdup_Util, 
+//GO(PORT_UCS2_ASCIIConversion_Util, 
+//GO(PORT_UCS2_UTF8Conversion_Util, 
+//GO(PORT_UCS4_UTF8Conversion, 
+//GO(PORT_ZAllocAlignedOffset_Util, 
+//GO(PORT_ZAllocAligned_Util, 
+//GO(PORT_ZAlloc_Util, 
+//GO(PORT_ZFree_Util, 
+//DATA(SEC_AnyTemplate_Util, //R-type
+//GO(SEC_ASN1DecodeInteger_Util, 
+//GO(SEC_ASN1DecodeItem_Util, 
+//GO(SEC_ASN1DecoderAbort_Util, 
+//GO(SEC_ASN1DecoderClearFilterProc_Util, 
+//GO(SEC_ASN1DecoderClearNotifyProc_Util, 
+//GO(SEC_ASN1DecoderFinish_Util, 
+//GO(SEC_ASN1DecoderSetFilterProc_Util, 
+//GO(SEC_ASN1DecoderSetMaximumElementSize, 
+//GO(SEC_ASN1DecoderSetNotifyProc_Util, 
+//GO(SEC_ASN1DecoderStart_Util, 
+//GO(SEC_ASN1DecoderUpdate_Util, 
+//GO(SEC_ASN1Decode_Util, 
+//GO(SEC_ASN1EncodeInteger_Util, 
+//GO(SEC_ASN1EncodeItem_Util, 
+//GO(SEC_ASN1EncoderAbort_Util, 
+//GO(SEC_ASN1EncoderClearNotifyProc_Util, 
+//GO(SEC_ASN1EncoderClearStreaming_Util, 
+//GO(SEC_ASN1EncoderClearTakeFromBuf_Util, 
+//GO(SEC_ASN1EncoderFinish_Util, 
+//GO(SEC_ASN1EncoderSetNotifyProc_Util, 
+//GO(SEC_ASN1EncoderSetStreaming_Util, 
+//GO(SEC_ASN1EncoderSetTakeFromBuf_Util, 
+//GO(SEC_ASN1EncoderStart_Util, 
+//GO(SEC_ASN1EncoderUpdate_Util, 
+//GO(SEC_ASN1EncodeUnsignedInteger_Util, 
+//GO(SEC_ASN1Encode_Util, 
+//GO(SEC_ASN1LengthLength_Util, 
+//DATA(SEC_BitStringTemplate_Util, //R-type
+//DATA(SEC_BMPStringTemplate_Util, //R-type
+//DATA(SEC_BooleanTemplate_Util, //R-type
+//DATA(SEC_EnumeratedTemplate, //R-type
+//DATA(SEC_GeneralizedTimeTemplate_Util, //R-type
+//DATA(SEC_IA5StringTemplate_Util, //R-type
+//DATA(SEC_IntegerTemplate_Util, //R-type
+//GO(SECITEM_AllocArray, 
+//GO(SECITEM_AllocItem_Util, 
+//GO(SECITEM_ArenaDupItem_Util, 
+//GO(SECITEM_CompareItem_Util, 
+//GO(SECITEM_CopyItem_Util, 
+//GO(SECITEM_DupArray, 
+//GO(SECITEM_DupItem_Util, 
+//GO(SECITEM_FreeArray, 
+//GO(SECITEM_FreeItem_Util, 
+//GO(SECITEM_Hash, 
+//GO(SECITEM_HashCompare, 
+//GO(SECITEM_ItemsAreEqual_Util, 
+//GO(SECITEM_MakeItem, 
+//GO(SECITEM_ReallocItem, 
+//GO(SECITEM_ReallocItemV2, 
+//GO(SECITEM_ZfreeArray, 
+//GO(SECITEM_ZfreeItem_Util, 
+//DATA(SEC_NullTemplate_Util, //R-type
+//DATA(SEC_ObjectIDTemplate_Util, //R-type
+//DATA(SEC_OctetStringTemplate_Util, //R-type
+//GO(SECOID_AddEntry_Util, 
+//DATA(SECOID_AlgorithmIDTemplate_Util, //R-type
+//GO(SECOID_CompareAlgorithmID_Util, 
+//GO(SECOID_CopyAlgorithmID_Util, 
+//GO(SECOID_DestroyAlgorithmID_Util, 
+//GO(SECOID_FindOIDByMechanism, 
+//GO(SECOID_FindOIDByTag_Util, 
+//GO(SECOID_FindOIDTagDescription_Util, 
+//GO(SECOID_FindOIDTag_Util, 
+//GO(SECOID_FindOID_Util, 
+//GO(SECOID_GetAlgorithmTag_Util, 
+//GO(SECOID_Init, 
+//GO(SECOID_KnownCertExtenOID, 
+//GO(SECOID_SetAlgorithmID_Util, 
+//GO(SECOID_Shutdown, 
+//DATA(SEC_PointerToAnyTemplate_Util, 
+//DATA(SEC_PointerToEnumeratedTemplate, 
+//DATA(SEC_PointerToGeneralizedTimeTemplate, 
+//DATA(SEC_PointerToOctetStringTemplate_Util, 
+//DATA(SEC_PrintableStringTemplate, //R-type
+//GO(SEC_QuickDERDecodeItem_Util, 
+//DATA(SEC_SequenceOfAnyTemplate, 
+//DATA(SEC_SequenceOfObjectIDTemplate, 
+//DATA(SEC_SetOfAnyTemplate_Util, 
+//DATA(SEC_SkipTemplate, //R-type
+//GO(SEC_StringToOID, 
+//DATA(SEC_T61StringTemplate, //R-type
+//DATA(SEC_UniversalStringTemplate, //R-type
+//DATA(SEC_UTF8StringTemplate_Util, //R-type
+//GO(SGN_CompareDigestInfo_Util, 
+//GO(SGN_CopyDigestInfo_Util, 
+//GO(SGN_CreateDigestInfo_Util, 
+//GO(SGN_DecodeDigestInfo, 
+//GO(SGN_DestroyDigestInfo_Util, 
+//DATA(sgn_DigestInfoTemplate_Util, 
+//GO(_SGN_VerifyPKCS1DigestInfo, 
+//GO(UTIL_SetForkState, 
diff --git a/src/wrapped/wrappedselinux.c b/src/wrapped/wrappedselinux.c
new file mode 100755
index 00000000..9e58f209
--- /dev/null
+++ b/src/wrapped/wrappedselinux.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* selinuxName = "libselinux.so.1";
+#define LIBNAME selinux
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedselinux_private.h b/src/wrapped/wrappedselinux_private.h
new file mode 100755
index 00000000..1cbb8f31
--- /dev/null
+++ b/src/wrapped/wrappedselinux_private.h
@@ -0,0 +1,247 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(avc_add_callback, 
+//GO(avc_audit, 
+//GO(avc_av_stats, 
+//GO(avc_cache_stats, 
+//GO(avc_cleanup, 
+//GO(avc_compute_create, 
+//GO(avc_compute_member, 
+//GO(avc_context_to_sid, 
+//GO(avc_context_to_sid_raw, 
+//GO(avc_destroy, 
+//GO(avc_get_initial_sid, 
+//GO(avc_has_perm, 
+//GO(avc_has_perm_noaudit, 
+//GO(avc_init, 
+//GO(avc_netlink_acquire_fd, 
+//GO(avc_netlink_check_nb, 
+//GO(avc_netlink_close, 
+//GO(avc_netlink_loop, 
+//GO(avc_netlink_open, 
+//GO(avc_netlink_release_fd, 
+//GO(avc_open, 
+//GO(avc_reset, 
+//GO(avc_sid_stats, 
+//GO(avc_sid_to_context, 
+//GO(avc_sid_to_context_raw, 
+//GO(checkPasswdAccess, 
+//GO(context_free, 
+//GO(context_new, 
+//GO(context_range_get, 
+//GO(context_range_set, 
+//GO(context_role_get, 
+//GO(context_role_set, 
+//GO(context_str, 
+//GO(context_type_get, 
+//GO(context_type_set, 
+//GO(context_user_get, 
+//GO(context_user_set, 
+//DATAB(dir_xattr_list, 
+//GO(fgetfilecon, 
+//GO(fgetfilecon_raw, 
+//GO(fini_selinuxmnt, 
+//GO(freecon, 
+//GO(freeconary, 
+//GO(fsetfilecon, 
+//GO(fsetfilecon_raw, 
+//GO(getcon, 
+//GO(getcon_raw, 
+//GO(get_default_context, 
+//GO(get_default_context_with_level, 
+//GO(get_default_context_with_role, 
+//GO(get_default_context_with_rolelevel, 
+//GO(get_default_type, 
+//GO(getexeccon, 
+//GO(getexeccon_raw, 
+//GO(getfilecon, 
+//GO(getfilecon_raw, 
+//GO(getfscreatecon, 
+//GO(getfscreatecon_raw, 
+//GO(getkeycreatecon, 
+//GO(getkeycreatecon_raw, 
+//GO(get_ordered_context_list, 
+//GO(get_ordered_context_list_with_level, 
+//GO(getpeercon, 
+//GO(getpeercon_raw, 
+//GO(getpidcon, 
+//GO(getpidcon_raw, 
+//GO(getprevcon, 
+//GO(getprevcon_raw, 
+//GO(getseuser, 
+//GO(getseuserbyname, 
+//GO(getsockcreatecon, 
+//GO(getsockcreatecon_raw, 
+//GO(is_context_customizable, 
+//GO(is_selinux_enabled, 
+//GO(is_selinux_mls_enabled, 
+//GO(lgetfilecon, 
+//GO(lgetfilecon_raw, 
+//GO(lsetfilecon, 
+//GO(lsetfilecon_raw, 
+//GO(manual_user_enter_context, 
+//GO(map_class, 
+//GO(map_decision, 
+//GO(map_perm, 
+//GO(matchmediacon, 
+//GO(matchpathcon, 
+//GO(matchpathcon_checkmatches, 
+//GO(matchpathcon_filespec_add, 
+//GO(matchpathcon_filespec_destroy, 
+//GO(matchpathcon_filespec_eval, 
+//GO(matchpathcon_fini, 
+//GO(matchpathcon_index, 
+//GO(matchpathcon_init, 
+//GO(matchpathcon_init_prefix, 
+//GO(mode_to_security_class, 
+//DATAB(myprintf_compat, 
+//GO(print_access_vector, 
+//GO(query_user_context, 
+//GO(realpath_not_final, 
+//GO(rpm_execcon, 
+//GO(security_av_perm_to_string, 
+//GO(security_av_string, 
+//GO(security_canonicalize_context, 
+//GO(security_canonicalize_context_raw, 
+//GO(security_check_context, 
+//GO(security_check_context_raw, 
+//GO(security_class_to_string, 
+//GO(security_commit_booleans, 
+//GO(security_compute_av, 
+//GO(security_compute_av_flags, 
+//GO(security_compute_av_flags_raw, 
+//GO(security_compute_av_raw, 
+//GO(security_compute_create, 
+//GO(security_compute_create_name, 
+//GO(security_compute_create_name_raw, 
+//GO(security_compute_create_raw, 
+//GO(security_compute_member, 
+//GO(security_compute_member_raw, 
+//GO(security_compute_relabel, 
+//GO(security_compute_relabel_raw, 
+//GO(security_compute_user, 
+//GO(security_compute_user_raw, 
+//GO(security_deny_unknown, 
+//GO(security_disable, 
+//GO(security_get_boolean_active, 
+//GO(security_get_boolean_names, 
+//GO(security_get_boolean_pending, 
+//GO(security_get_checkreqprot, 
+//GO(security_getenforce, 
+//GO(security_get_initial_context, 
+//GO(security_get_initial_context_raw, 
+//GO(security_load_booleans, 
+//GO(security_load_policy, 
+//GO(security_policyvers, 
+//GO(security_reject_unknown, 
+//GO(security_set_boolean, 
+//GO(security_set_boolean_list, 
+//GO(security_setenforce, 
+//GO(security_validatetrans, 
+//GO(security_validatetrans_raw, 
+//GO(selabel_close, 
+//GO(selabel_cmp, 
+//GO(selabel_digest, 
+//GO(selabel_get_digests_all_partial_matches, 
+//GO(selabel_hash_all_partial_matches, 
+//GO(selabel_lookup, 
+//GO(selabel_lookup_best_match, 
+//GO(selabel_lookup_best_match_raw, 
+//GO(selabel_lookup_raw, 
+//GO(selabel_open, 
+//GO(selabel_partial_match, 
+//GO(selabel_stats, 
+//GO(selinux_binary_policy_path, 
+//GO(selinux_booleans_path, 
+//GO(selinux_booleans_subs_path, 
+//GO(selinux_boolean_sub, 
+//GO(selinux_check_access, 
+//GO(selinux_check_passwd_access, 
+//GO(selinux_check_securetty_context, 
+//GO(selinux_colors_path, 
+//GO(selinux_contexts_path, 
+//GO(selinux_current_policy_path, 
+//GO(selinux_customizable_types_path, 
+//GO(selinux_default_context_path, 
+//GO(selinux_default_type_path, 
+//GO(selinux_failsafe_context_path, 
+//GO(selinux_file_context_cmp, 
+//GO(selinux_file_context_homedir_path, 
+//GO(selinux_file_context_local_path, 
+//GO(selinux_file_context_path, 
+//GO(selinux_file_context_subs_dist_path, 
+//GO(selinux_file_context_subs_path, 
+//GO(selinux_file_context_verify, 
+//GO(selinuxfs_exists, 
+//GO(selinux_get_callback, 
+//GO(selinux_getenforcemode, 
+//GO(selinux_getpolicytype, 
+//GO(selinux_homedir_context_path, 
+//GO(selinux_init_load_policy, 
+//GO(selinux_lsetfilecon_default, 
+//GO(selinux_lxc_contexts_path, 
+//GO(selinux_media_context_path, 
+//GO(selinux_mkload_policy, 
+//DATAB(selinux_mnt, 
+//GO(selinux_netfilter_context_path, 
+//GO(selinux_openrc_contexts_path, 
+//GO(selinux_openssh_contexts_path, 
+//GO(selinux_path, 
+//GO(selinux_policy_root, 
+//GO(selinux_raw_context_to_color, 
+//GO(selinux_raw_to_trans_context, 
+//GO(selinux_removable_context_path, 
+//GO(selinux_reset_config, 
+//GO(selinux_restorecon, 
+//GO(selinux_restorecon_default_handle, 
+//GO(selinux_restorecon_set_alt_rootpath, 
+//GO(selinux_restorecon_set_exclude_list, 
+//GO(selinux_restorecon_set_sehandle, 
+//GO(selinux_restorecon_xattr, 
+//GO(selinux_securetty_types_path, 
+//GO(selinux_sepgsql_context_path, 
+//GO(selinux_set_callback, 
+//GO(selinux_set_mapping, 
+//GO(selinux_set_policy_root, 
+//GO(selinux_snapperd_contexts_path, 
+//GO(selinux_status_close, 
+//GO(selinux_status_deny_unknown, 
+//GO(selinux_status_getenforce, 
+//GO(selinux_status_open, 
+//GO(selinux_status_policyload, 
+//GO(selinux_status_updated, 
+//GO(selinux_systemd_contexts_path, 
+//GO(selinux_translations_path, 
+//GO(selinux_trans_to_raw_context, 
+//GO(selinux_user_contexts_path, 
+//GO(selinux_usersconf_path, 
+//GO(selinux_users_path, 
+//GO(selinux_virtual_domain_context_path, 
+//GO(selinux_virtual_image_context_path, 
+//GO(selinux_x_context_path, 
+//GO(setcon, 
+//GO(setcon_raw, 
+//GO(setexeccon, 
+//GO(setexeccon_raw, 
+//GO(setexecfilecon, 
+//GO(setfilecon, 
+//GO(setfilecon_raw, 
+//GO(setfscreatecon, 
+//GO(setfscreatecon_raw, 
+//GO(setkeycreatecon, 
+//GO(setkeycreatecon_raw, 
+//GO(set_matchpathcon_canoncon, 
+//GO(set_matchpathcon_flags, 
+//GO(set_matchpathcon_invalidcon, 
+//GO(set_matchpathcon_printf, 
+//GO(set_selinuxmnt, 
+//GO(setsockcreatecon, 
+//GO(setsockcreatecon_raw, 
+//GO(sidget, 
+//GO(sidput, 
+//GO(string_to_av_perm, 
+//GO(string_to_security_class, 
+//GO(unmap_class, 
+//GO(unmap_perm, 
diff --git a/src/wrapped/wrappedsmime3.c b/src/wrapped/wrappedsmime3.c
new file mode 100755
index 00000000..15d70520
--- /dev/null
+++ b/src/wrapped/wrappedsmime3.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* smime3Name = "libsmime3.so";
+#define LIBNAME smime3
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedsmime3_private.h b/src/wrapped/wrappedsmime3_private.h
new file mode 100755
index 00000000..1f9a90fa
--- /dev/null
+++ b/src/wrapped/wrappedsmime3_private.h
@@ -0,0 +1,173 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(CERT_ConvertAndDecodeCertificate, 
+//GO(CERT_DecodeCertFromPackage, 
+//GO(CERT_DecodeCertPackage, 
+//GO(NSS_CMSContentInfo_GetBulkKey, 
+//GO(NSS_CMSContentInfo_GetBulkKeySize, 
+//GO(NSS_CMSContentInfo_GetContent, 
+//GO(NSS_CMSContentInfo_GetContentEncAlgTag, 
+//GO(NSS_CMSContentInfo_GetContentTypeTag, 
+//GO(NSS_CMSContentInfo_SetBulkKey, 
+//GO(NSS_CMSContentInfo_SetContent, 
+//GO(NSS_CMSContentInfo_SetContent_Data, 
+//GO(NSS_CMSContentInfo_SetContent_DigestedData, 
+//GO(NSS_CMSContentInfo_SetContentEncAlg, 
+//GO(NSS_CMSContentInfo_SetContent_EncryptedData, 
+//GO(NSS_CMSContentInfo_SetContent_EnvelopedData, 
+//GO(NSS_CMSContentInfo_SetContent_SignedData, 
+//GO(NSS_CMSContentInfo_SetDontStream, 
+//GO(NSS_CMSDecoder_Cancel, 
+//GO(NSS_CMSDecoder_Finish, 
+//GO(NSS_CMSDecoder_Start, 
+//GO(NSS_CMSDecoder_Update, 
+//GO(NSS_CMSDEREncode, 
+//GO(NSS_CMSDigestContext_Cancel, 
+//GO(NSS_CMSDigestContext_FinishMultiple, 
+//GO(NSS_CMSDigestContext_FinishSingle, 
+//GO(NSS_CMSDigestContext_StartMultiple, 
+//GO(NSS_CMSDigestContext_StartSingle, 
+//GO(NSS_CMSDigestContext_Update, 
+//GO(NSS_CMSDigestedData_Create, 
+//GO(NSS_CMSDigestedData_Destroy, 
+//GO(NSS_CMSDigestedData_GetContentInfo, 
+//GO(NSS_CMSEncoder_Cancel, 
+//GO(NSS_CMSEncoder_Finish, 
+//GO(NSS_CMSEncoder_Start, 
+//GO(NSS_CMSEncoder_Update, 
+//GO(NSS_CMSEncryptedData_Create, 
+//GO(NSS_CMSEncryptedData_Destroy, 
+//GO(NSS_CMSEncryptedData_GetContentInfo, 
+//GO(NSS_CMSEnvelopedData_AddRecipient, 
+//GO(NSS_CMSEnvelopedData_Create, 
+//GO(NSS_CMSEnvelopedData_Destroy, 
+//GO(NSS_CMSEnvelopedData_GetContentInfo, 
+//DATA(NSSCMSGenericWrapperDataTemplate, 
+//GO(NSS_CMSMessage_ContentLevel, 
+//GO(NSS_CMSMessage_ContentLevelCount, 
+//GO(NSS_CMSMessage_Copy, 
+//GO(NSS_CMSMessage_Create, 
+//GO(NSS_CMSMessage_CreateFromDER, 
+//GO(NSS_CMSMessage_Destroy, 
+//GO(NSS_CMSMessage_GetContent, 
+//GO(NSS_CMSMessage_GetContentInfo, 
+//GO(NSS_CMSMessage_IsEncrypted, 
+//GO(NSS_CMSMessage_IsSigned, 
+//GO(NSS_CMSRecipientInfo_Create, 
+//GO(NSS_CMSRecipientInfo_CreateFromDER, 
+//GO(NSS_CMSRecipientInfo_CreateNew, 
+//GO(NSS_CMSRecipientInfo_CreateWithSubjKeyID, 
+//GO(NSS_CMSRecipientInfo_CreateWithSubjKeyIDFromCert, 
+//GO(NSS_CMSRecipientInfo_Destroy, 
+//GO(NSS_CMSRecipientInfo_Encode, 
+//GO(NSS_CMSRecipientInfo_GetCertAndKey, 
+//GO(NSS_CMSRecipientInfo_UnwrapBulkKey, 
+//GO(NSS_CMSRecipientInfo_WrapBulkKey, 
+//GO(NSS_CMSSignedData_AddCertChain, 
+//GO(NSS_CMSSignedData_AddCertificate, 
+//GO(NSS_CMSSignedData_AddCertList, 
+//GO(NSS_CMSSignedData_AddDigest, 
+//GO(NSS_CMSSignedData_AddSignerInfo, 
+//GO(NSS_CMSSignedData_Create, 
+//GO(NSS_CMSSignedData_CreateCertsOnly, 
+//GO(NSS_CMSSignedData_Destroy, 
+//GO(NSS_CMSSignedData_GetContentInfo, 
+//GO(NSS_CMSSignedData_GetDigestAlgs, 
+//GO(NSS_CMSSignedData_GetSignerInfo, 
+//GO(NSS_CMSSignedData_HasDigests, 
+//GO(NSS_CMSSignedData_ImportCerts, 
+//GO(NSS_CMSSignedData_SetDigests, 
+//GO(NSS_CMSSignedData_SetDigestValue, 
+//GO(NSS_CMSSignedData_SignerInfoCount, 
+//GO(NSS_CMSSignedData_VerifyCertsOnly, 
+//GO(NSS_CMSSignedData_VerifySignerInfo, 
+//GO(NSS_CMSSignerInfo_AddMSSMIMEEncKeyPrefs, 
+//GO(NSS_CMSSignerInfo_AddSigningTime, 
+//GO(NSS_CMSSignerInfo_AddSMIMECaps, 
+//GO(NSS_CMSSignerInfo_AddSMIMEEncKeyPrefs, 
+//GO(NSS_CMSSignerInfo_Create, 
+//GO(NSS_CMSSignerInfo_CreateWithSubjKeyID, 
+//GO(NSS_CMSSignerInfo_Destroy, 
+//GO(NSS_CMSSignerInfo_GetCertList, 
+//GO(NSS_CMSSignerInfo_GetSignerCommonName, 
+//GO(NSS_CMSSignerInfo_GetSignerEmailAddress, 
+//GO(NSS_CMSSignerInfo_GetSigningCertificate, 
+//GO(NSS_CMSSignerInfo_GetSigningTime, 
+//GO(NSS_CMSSignerInfo_GetVerificationStatus, 
+//GO(NSS_CMSSignerInfo_GetVersion, 
+//GO(NSS_CMSSignerInfo_IncludeCerts, 
+//GO(NSS_CMSSignerInfo_Verify, 
+//GO(NSS_CMSType_RegisterContentType, 
+//GO(NSS_CMSUtil_VerificationStatusToString, 
+//GO(NSS_Get_NSSCMSGenericWrapperDataTemplate, 
+//GO(NSS_Get_NSS_PointerToCMSGenericWrapperDataTemplate, 
+//DATA(NSS_PointerToCMSGenericWrapperDataTemplate, 
+//GO(NSSSMIME_GetVersion, 
+//GO(NSS_SMIMESignerInfo_SaveSMIMEProfile, 
+//GO(NSS_SMIMEUtil_CreateMSSMIMEEncKeyPrefs, 
+//GO(NSS_SMIMEUtil_FindBulkAlgForRecipients, 
+//GO(NSSSMIME_VersionCheck, 
+//GO(SECMIME_DecryptionAllowed, 
+//GO(SEC_PKCS12AddCertAndKey, 
+//GO(SEC_PKCS12AddCertOrChainAndKey, 
+//GO(SEC_PKCS12AddPasswordIntegrity, 
+//GO(SEC_PKCS12CreateExportContext, 
+//GO(SEC_PKCS12CreatePasswordPrivSafe, 
+//GO(SEC_PKCS12CreateUnencryptedSafe, 
+//GO(SEC_PKCS12DecoderFinish, 
+//GO(SEC_PKCS12DecoderGetCerts, 
+//GO(SEC_PKCS12DecoderImportBags, 
+//GO(SEC_PKCS12DecoderIterateInit, 
+//GO(SEC_PKCS12DecoderIterateNext, 
+//GO(SEC_PKCS12DecoderRenameCertNicknames, 
+//GO(SEC_PKCS12DecoderSetTargetTokenCAs, 
+//GO(SEC_PKCS12DecoderStart, 
+//GO(SEC_PKCS12DecoderUpdate, 
+//GO(SEC_PKCS12DecoderValidateBags, 
+//GO(SEC_PKCS12DecoderVerify, 
+//GO(SEC_PKCS12DecryptionAllowed, 
+//GO(SEC_PKCS12DestroyExportContext, 
+//GO(SEC_PKCS12EnableCipher, 
+//GO(SEC_PKCS12Encode, 
+//GO(SEC_PKCS12IsEncryptionAllowed, 
+//GO(SEC_PKCS12SetPreferredCipher, 
+//GO(SEC_PKCS7AddCertificate, 
+//GO(SEC_PKCS7AddRecipient, 
+//GO(SEC_PKCS7AddSigningTime, 
+//GO(SEC_PKCS7ContainsCertsOrCrls, 
+//GO(SEC_PKCS7ContentIsEncrypted, 
+//GO(SEC_PKCS7ContentIsSigned, 
+//GO(SEC_PKCS7ContentType, 
+//GO(SEC_PKCS7CopyContentInfo, 
+//GO(SEC_PKCS7CreateCertsOnly, 
+//GO(SEC_PKCS7CreateData, 
+//GO(SEC_PKCS7CreateEncryptedData, 
+//GO(SEC_PKCS7CreateEnvelopedData, 
+//GO(SEC_PKCS7CreateSignedData, 
+//GO(SEC_PKCS7DecodeItem, 
+//GO(SEC_PKCS7DecoderAbort, 
+//GO(SEC_PKCS7DecoderFinish, 
+//GO(SEC_PKCS7DecoderStart, 
+//GO(SEC_PKCS7DecoderUpdate, 
+//GO(SEC_PKCS7DecryptContents, 
+//GO(SEC_PKCS7DestroyContentInfo, 
+//GO(SEC_PKCS7Encode, 
+//GO(SEC_PKCS7EncodeItem, 
+//GO(SEC_PKCS7EncoderAbort, 
+//GO(SEC_PKCS7EncoderFinish, 
+//GO(SEC_PKCS7EncoderStart, 
+//GO(SEC_PKCS7EncoderUpdate, 
+//GO(SEC_PKCS7GetCertificateList, 
+//GO(SEC_PKCS7GetContent, 
+//GO(SEC_PKCS7GetEncryptionAlgorithm, 
+//GO(SEC_PKCS7GetSignerCommonName, 
+//GO(SEC_PKCS7GetSignerEmailAddress, 
+//GO(SEC_PKCS7GetSigningTime, 
+//GO(SEC_PKCS7IncludeCertChain, 
+//GO(SEC_PKCS7IsContentEmpty, 
+//GO(SEC_PKCS7SetContent, 
+//GO(SEC_PKCS7VerifyDetachedSignature, 
+//GO(SEC_PKCS7VerifyDetachedSignatureAtTime, 
+//GO(SEC_PKCS7VerifySignature,