summaryrefslogtreecommitdiffstats
path: root/pywrap/pcipywrap.i
blob: f08ceb7a584d371d4868f7c03d255a2adec8c64f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
%module pcipywrap

%{
#include "pcipywrap.h"
%}

extern void __redirect_logs_to_exeption();

typedef struct {
	%extend {
		Pcipywrap(const char* fpga_device = "/dev/fpga0", const char* model = NULL);
		Pcipywrap(PyObject* ctx){return create_Pcipywrap(ctx);}
		~Pcipywrap();
	
		PyObject* read_register(const char *regname = NULL, const char *bank = NULL);
		PyObject* write_register(PyObject* val, const char *regname, const char *bank = NULL);
	
		PyObject* get_property(const char *prop);
		PyObject* set_property(PyObject* val, const char *prop);
	
		PyObject* get_registers_list(const char *bank = NULL);
		PyObject* get_register_info(const char* reg,const char *bank = NULL);
		PyObject* get_property_list(const char* branch = NULL);
		PyObject* read_dma(unsigned char dma, size_t size);
		
		PyObject* lock_global();
		void unlock_global();
		
		PyObject* lock(const char *lock_id);
		PyObject* try_lock(const char *lock_id);
		PyObject* unlock(const char *lock_id);
	}
} Pcipywrap;