summaryrefslogtreecommitdiffstats
path: root/pcilib/py.h
diff options
context:
space:
mode:
authorVasilii Chernov <vchernov@inr.ru>2016-02-16 16:30:40 +0100
committerVasilii Chernov <vchernov@inr.ru>2016-02-16 16:30:40 +0100
commited9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590 (patch)
tree8b05ef6a4585b0d585f82c468cf92048a05f79ee /pcilib/py.h
parentfc80d8b64672785b4d9c7127e852ca9bf19c9194 (diff)
downloadpcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.gz
pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.bz2
pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.xz
pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.zip
1. Add python thread initialization to pcilib_init_py()
-Fix pcilib_script_run_func() work in multithread mode 2. pcilib_close() - Move free_py() code after free views to make view destructors work properly 3. Move script hash to pcilib_py_s 4. Move pcilib_get_logger() pcilib_get_logger_min_prio() and pcilib_get_logger_argument() declarations to error.h 5. Refactor pcilib_get_value_as_pyobject pcilib_set_value_from_pyobject to more unified form 6. Add more memory checks. Fix some string memory allocations. 7. Refactor pcilib_py_s member names. 8. Merge pcilib_script_read() and pcilib_script_write() to pcilib_script_run_func() 9. Update test_pywrap views scripts
Diffstat (limited to 'pcilib/py.h')
-rw-r--r--pcilib/py.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/pcilib/py.h b/pcilib/py.h
index 09e2b87..9703706 100644
--- a/pcilib/py.h
+++ b/pcilib/py.h
@@ -4,6 +4,7 @@
#include "pcilib.h"
typedef struct pcilib_py_s pcilib_py_t;
+typedef void pcilib_py_object;
#ifdef __cplusplus
extern "C" {
@@ -15,10 +16,9 @@ void pcilib_free_py(pcilib_t *ctx);
int pcilib_py_init_script(pcilib_t *ctx, char* module_name, pcilib_access_mode_t *mode);
-int pcilib_py_free_script(char* module_name);
-int pcilib_script_read(pcilib_t *ctx, char* module_name, pcilib_value_t *val);
-int pcilib_script_write(pcilib_t *ctx, char* module_name, pcilib_value_t *val);
-
+int pcilib_py_free_script(pcilib_t *ctx,char* module_name);
+int pcilib_script_run_func(pcilib_t *ctx, char* module_name,
+ const char* func_name, pcilib_value_t *val);
/*!
* \brief Converts pcilib_value_t to PyObject.
@@ -26,7 +26,7 @@ int pcilib_script_write(pcilib_t *ctx, char* module_name, pcilib_value_t *val);
* \param val pointer to pcilib_value_t to convert
* \return PyObject, containing value. NULL with error message, sended to errstream.
*/
-void* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val);
+pcilib_py_object* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val, int *err);
/*!
@@ -36,7 +36,7 @@ void* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val);
* \param val initialized polymorphic value
* \return 0 on success or memory error
*/
-int pcilib_set_value_from_pyobject(pcilib_t* ctx, void* pyVal, pcilib_value_t *val);
+int pcilib_set_value_from_pyobject(pcilib_t* ctx, pcilib_value_t *val, pcilib_py_object* pyObjVal);
#ifdef __cplusplus