add binding support for Go 1.6beta1 (fix #326)

This commit is contained in:
Ryan Hileman
2015-12-18 07:42:11 -08:00
parent f509423cfa
commit c0eabddef3
3 changed files with 46 additions and 40 deletions

View File

@@ -1,38 +1,38 @@
#include <unicorn/unicorn.h>
#include "_cgo_export.h"
uc_err uc_hook_add_i1(uc_engine *handle, uc_hook *h2, uc_hook_type type, void *callback, void *user, int arg1) {
return uc_hook_add(handle, h2, type, callback, user, arg1);
uc_err uc_hook_add_i1(uc_engine *handle, uc_hook *h2, uc_hook_type type, void *callback, uintptr_t user, int arg1) {
return uc_hook_add(handle, h2, type, callback, (void *)user, arg1);
}
uc_err uc_hook_add_u2(uc_engine *handle, uc_hook *h2, uc_hook_type type, void *callback, void *user, uint64_t arg1, uint64_t arg2) {
return uc_hook_add(handle, h2, type, callback, user, arg1, arg2);
uc_err uc_hook_add_u2(uc_engine *handle, uc_hook *h2, uc_hook_type type, void *callback, uintptr_t user, uint64_t arg1, uint64_t arg2) {
return uc_hook_add(handle, h2, type, callback, (void *)user, arg1, arg2);
}
void hookCode_cgo(uc_engine *handle, uint64_t addr, uint32_t size, void *user) {
hookCode(handle, addr, size, user);
void hookCode_cgo(uc_engine *handle, uint64_t addr, uint32_t size, uintptr_t user) {
hookCode(handle, addr, size, (void *)user);
}
bool hookMemInvalid_cgo(uc_engine *handle, uc_mem_type type, uint64_t addr, int size, int64_t value, void *user) {
return hookMemInvalid(handle, type, addr, size, value, user);
bool hookMemInvalid_cgo(uc_engine *handle, uc_mem_type type, uint64_t addr, int size, int64_t value, uintptr_t user) {
return hookMemInvalid(handle, type, addr, size, value, (void *)user);
}
void hookMemAccess_cgo(uc_engine *handle, uc_mem_type type, uint64_t addr, int size, int64_t value, void *user) {
hookMemAccess(handle, type, addr, size, value, user);
void hookMemAccess_cgo(uc_engine *handle, uc_mem_type type, uint64_t addr, int size, int64_t value, uintptr_t user) {
hookMemAccess(handle, type, addr, size, value, (void *)user);
}
void hookInterrupt_cgo(uc_engine *handle, uint32_t intno, void *user) {
hookInterrupt(handle, intno, user);
void hookInterrupt_cgo(uc_engine *handle, uint32_t intno, uintptr_t user) {
hookInterrupt(handle, intno, (void *)user);
}
uint32_t hookX86In_cgo(uc_engine *handle, uint32_t port, uint32_t size, void *user) {
return hookX86In(handle, port, size, user);
uint32_t hookX86In_cgo(uc_engine *handle, uint32_t port, uint32_t size, uintptr_t user) {
return hookX86In(handle, port, size, (void *)user);
}
void hookX86Out_cgo(uc_engine *handle, uint32_t port, uint32_t size, uint32_t value, void *user) {
hookX86Out(handle, port, size, value, user);
void hookX86Out_cgo(uc_engine *handle, uint32_t port, uint32_t size, uint32_t value, uintptr_t user) {
hookX86Out(handle, port, size, value, (void *)user);
}
void hookX86Syscall_cgo(uc_engine *handle, void *user) {
hookX86Syscall(handle, user);
void hookX86Syscall_cgo(uc_engine *handle, uintptr_t user) {
hookX86Syscall(handle, (void *)user);
}