summaryrefslogtreecommitdiff
path: root/wrappers/python/eduvpncommon/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'wrappers/python/eduvpncommon/__init__.py')
-rw-r--r--wrappers/python/eduvpncommon/__init__.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/wrappers/python/eduvpncommon/__init__.py b/wrappers/python/eduvpncommon/__init__.py
index 52efa05..911c671 100644
--- a/wrappers/python/eduvpncommon/__init__.py
+++ b/wrappers/python/eduvpncommon/__init__.py
@@ -31,3 +31,15 @@ class GoSlice(Structure):
class DataError(Structure):
_fields_ = [('data', c_void_p),
('error', c_int64)]
+
+
+# We have to use c_void_p instead of c_char_p to free it properly
+# See https://stackoverflow.com/questions/13445568/python-ctypes-how-to-free-memory-getting-invalid-pointer-error
+lib.Register.argtypes, lib.Register.restype = [c_char_p, c_char_p], None
+lib.InitializeOAuth.argtypes, lib.InitializeOAuth.restype = [], c_void_p
+lib.GetOrganizationsList.argtypes, lib.GetOrganizationsList.restype = [], DataError
+lib.GetServersList.argtypes, lib.GetServersList.restype = [], DataError
+lib.FreeString.argtypes, lib.FreeString.restype = [c_void_p], None
+lib.Verify.argtypes, lib.Verify.restype = [GoSlice, GoSlice, GoSlice, c_uint64], c_int64
+lib.InsecureTestingSetExtraKey.argtypes, lib.InsecureTestingSetExtraKey.restype = [GoSlice], None
+