diff options
| author | Axel Souchet <0vercl0k@tuxfamily.org> | 2018-09-09 06:11:00 -0700 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2018-09-09 15:11:00 +0200 |
| commit | 8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9 (patch) | |
| tree | dbf342089690704e89c10532b83d1d81709a49f4 /miasm2/jitter/vm_mngr.h | |
| parent | e61116884ac7879db08313542c6c28a8b00297c5 (diff) | |
| download | miasm-8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9.tar.gz miasm-8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9.zip | |
Adds Windows support and AppVeyor CI (#835)
* Get miasm to work on Windows, also add AppVeyor CI * Fix gcc jitter on Linux * Make the dse_crackme tests work on Windows * calling build and then install is less confusing than install twice * fix os.rename race condition on Windows * clean it up * Clean up after the unused cl.exe's artifacts * Use is_win instead of an additional check * Fix issue on Windows where 'w' and 'wb' modes are different * Address review feedback * setuptools is actually not required, so reverting
Diffstat (limited to 'miasm2/jitter/vm_mngr.h')
| -rw-r--r-- | miasm2/jitter/vm_mngr.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/miasm2/jitter/vm_mngr.h b/miasm2/jitter/vm_mngr.h index d65a45e8..e55847ea 100644 --- a/miasm2/jitter/vm_mngr.h +++ b/miasm2/jitter/vm_mngr.h @@ -18,12 +18,31 @@ #ifndef CODENAT_H #define CODENAT_H +#if defined(_WIN32) || defined(_WIN64) +#define _CRT_SECURE_NO_WARNINGS +#endif + +#if _WIN32 +#define _MIASM_EXPORT __declspec(dllexport) +#else +#define _MIASM_EXPORT +#endif + +#include <Python.h> +#include <stdint.h> + +#include "queue.h" + #ifdef __APPLE__ #define __BYTE_ORDER __BYTE_ORDER__ #elif defined(__NetBSD__) || defined(__OpenBSD__) #define __BYTE_ORDER _BYTE_ORDER #define __BIG_ENDIAN _BIG_ENDIAN #define __LITTLE_ENDIAN _LITTLE_ENDIAN +#elif defined(_WIN32) || defined(_WIN64) +#define __BIG_ENDIAN '>' +#define __LITTLE_ENDIAN '<' +#define __BYTE_ORDER __LITTLE_ENDIAN #endif @@ -219,9 +238,9 @@ void add_memory_page(vm_mngr_t* vm_mngr, struct memory_page_node* mpn); void add_mem_read(vm_mngr_t* vm_mngr, uint64_t addr, uint64_t size); void add_mem_write(vm_mngr_t* vm_mngr, uint64_t addr, uint64_t size); -void check_invalid_code_blocs(vm_mngr_t* vm_mngr); -void check_memory_breakpoint(vm_mngr_t* vm_mngr); -void reset_memory_access(vm_mngr_t* vm_mngr); +_MIASM_EXPORT void check_invalid_code_blocs(vm_mngr_t* vm_mngr); +_MIASM_EXPORT void check_memory_breakpoint(vm_mngr_t* vm_mngr); +_MIASM_EXPORT void reset_memory_access(vm_mngr_t* vm_mngr); PyObject* get_memory_read(vm_mngr_t* vm_mngr); PyObject* get_memory_write(vm_mngr_t* vm_mngr); |