mirror of
https://github.com/ptitSeb/box86.git
synced 2025-02-19 14:24:51 +00:00
Added l and L in wrapper definition (to handle signed and unsigned long)
This commit is contained in:
parent
b1958a81a3
commit
3eacb55dbc
@ -4,7 +4,7 @@ import os
|
|||||||
import glob
|
import glob
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
values = ['E', 'e', 'v', 'c', 'w', 'i', 'I', 'C', 'W', 'u', 'U', 'f', 'd', 'D', 'K', 'p', 'V', "O"]
|
values = ['E', 'e', 'v', 'c', 'w', 'i', 'I', 'C', 'W', 'u', 'U', 'f', 'd', 'D', 'K', 'l', 'L', 'p', 'V', "O"]
|
||||||
def splitchar(s):
|
def splitchar(s):
|
||||||
ret = [len(s)]
|
ret = [len(s)]
|
||||||
i = 0
|
i = 0
|
||||||
@ -246,6 +246,7 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
|
|
||||||
// list of defined wrapper
|
// list of defined wrapper
|
||||||
// v = void, i = int32, u = uint32, U/I= (u)int64
|
// v = void, i = int32, u = uint32, U/I= (u)int64
|
||||||
|
// l = signed long, L = unsigned long (long is an int with the size of a pointer)
|
||||||
// p = pointer, P = callback
|
// p = pointer, P = callback
|
||||||
// f = float, d = double, D = long double, K = fake long double
|
// f = float, d = double, D = long double, K = fake long double
|
||||||
// V = vaargs, E = current x86emu struct, e = ref to current x86emu struct
|
// V = vaargs, E = current x86emu struct, e = ref to current x86emu struct
|
||||||
@ -297,8 +298,8 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
|
|
||||||
# First part: typedefs
|
# First part: typedefs
|
||||||
for v in gbl["()"]:
|
for v in gbl["()"]:
|
||||||
# E e v c w i I C W u U f d D K p V A
|
# E e v c w i I C W u U f d D K l L p V A
|
||||||
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "void*", "void*", "int32_t"]
|
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "intptr_t", "uintptr_t", "void*", "void*", "int32_t"]
|
||||||
if len(values) != len(types):
|
if len(values) != len(types):
|
||||||
raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
|
raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
|
||||||
|
|
||||||
@ -308,8 +309,8 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
if k != "()":
|
if k != "()":
|
||||||
file.write("\n#if " + k + "\n")
|
file.write("\n#if " + k + "\n")
|
||||||
for v in gbl[k]:
|
for v in gbl[k]:
|
||||||
# E e v c w i I C W u U f d D K p V A
|
# E e v c w i I C W u U f d D K l L p V A
|
||||||
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "void*", "void*", "int32_t"]
|
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "intptr_t", "uintptr_t", "void*", "void*", "int32_t"]
|
||||||
if len(values) != len(types):
|
if len(values) != len(types):
|
||||||
raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
|
raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
|
||||||
|
|
||||||
@ -348,12 +349,14 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
"*(double*)(R_ESP + {p}), ", # d
|
"*(double*)(R_ESP + {p}), ", # d
|
||||||
"*(long double*)(R_ESP + {p}), ", # D
|
"*(long double*)(R_ESP + {p}), ", # D
|
||||||
"FromLD((void*)(R_ESP + {p})), ", # K
|
"FromLD((void*)(R_ESP + {p})), ", # K
|
||||||
|
"*(intptr_t*)(R_ESP + {p}), ", # l
|
||||||
|
"*(uintptr_t*)(R_ESP + {p}), ", # L
|
||||||
"*(void**)(R_ESP + {p}), ", # p
|
"*(void**)(R_ESP + {p}), ", # p
|
||||||
"(void*)(R_ESP + {p}), ", # V
|
"(void*)(R_ESP + {p}), ", # V
|
||||||
"of_convert(*(int32_t*)(R_ESP + {p})), ", # O
|
"of_convert(*(int32_t*)(R_ESP + {p})), ", # O
|
||||||
]
|
]
|
||||||
# E e v c w i I C W u U f d D K p V O
|
# E e v c w i I C W u U f d D K l L p V O
|
||||||
deltas = [0, 0, 4, 4, 4, 4, 8, 4, 4, 4, 8, 4, 8, 12, 12, 4, 0, 4]
|
deltas = [0, 0, 4, 4, 4, 4, 8, 4, 4, 4, 8, 4, 8, 12, 12, 4, 4, 4, 0, 4]
|
||||||
if len(values) != len(arg):
|
if len(values) != len(arg):
|
||||||
raise NotImplementedError("len(values) = {lenval} != len(arg) = {lenarg}".format(lenval=len(values), lenarg=len(arg)))
|
raise NotImplementedError("len(values) = {lenval} != len(arg) = {lenarg}".format(lenval=len(values), lenarg=len(arg)))
|
||||||
if len(values) != len(deltas):
|
if len(values) != len(deltas):
|
||||||
@ -378,6 +381,8 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # d
|
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # d
|
||||||
"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;", # D
|
"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;", # D
|
||||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # K
|
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # K
|
||||||
|
"R_EAX=(intptr_t)fn({0});", # l
|
||||||
|
"R_EAX=(uintptr_t)fn({0});", # L
|
||||||
"R_EAX=(uintptr_t)fn({0});", # p
|
"R_EAX=(uintptr_t)fn({0});", # p
|
||||||
"\n#error Invalid return type: va_list\n", # V
|
"\n#error Invalid return type: va_list\n", # V
|
||||||
"\n#error Invalid return type: at_flags\n", # O
|
"\n#error Invalid return type: at_flags\n", # O
|
||||||
@ -409,6 +414,6 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if main(sys.argv[1], sys.argv[2:], "1.1.1.04") != 0:
|
if main(sys.argv[1], sys.argv[2:], "1.1.1.05") != 0:
|
||||||
exit(2)
|
exit(2)
|
||||||
exit(0)
|
exit(0)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*****************************************************************
|
/*****************************************************************
|
||||||
* File automatically generated by rebuild_wrappers.py (v1.1.1.04)
|
* File automatically generated by rebuild_wrappers.py (v1.1.1.05)
|
||||||
*****************************************************************/
|
*****************************************************************/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -263,6 +263,8 @@ typedef float (*fFppu_t)(void*, void*, uint32_t);
|
|||||||
typedef float (*fFppp_t)(void*, void*, void*);
|
typedef float (*fFppp_t)(void*, void*, void*);
|
||||||
typedef double (*dFppu_t)(void*, void*, uint32_t);
|
typedef double (*dFppu_t)(void*, void*, uint32_t);
|
||||||
typedef double (*dFppp_t)(void*, void*, void*);
|
typedef double (*dFppp_t)(void*, void*, void*);
|
||||||
|
typedef intptr_t (*lFppi_t)(void*, void*, int32_t);
|
||||||
|
typedef uintptr_t (*LFppi_t)(void*, void*, int32_t);
|
||||||
typedef void* (*pFEip_t)(x86emu_t*, int32_t, void*);
|
typedef void* (*pFEip_t)(x86emu_t*, int32_t, void*);
|
||||||
typedef void* (*pFEpi_t)(x86emu_t*, void*, int32_t);
|
typedef void* (*pFEpi_t)(x86emu_t*, void*, int32_t);
|
||||||
typedef void* (*pFEpp_t)(x86emu_t*, void*, void*);
|
typedef void* (*pFEpp_t)(x86emu_t*, void*, void*);
|
||||||
@ -418,7 +420,6 @@ typedef uint32_t (*uFpuip_t)(void*, uint32_t, int32_t, void*);
|
|||||||
typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
|
typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
|
||||||
typedef uint32_t (*uFpuup_t)(void*, uint32_t, uint32_t, void*);
|
typedef uint32_t (*uFpuup_t)(void*, uint32_t, uint32_t, void*);
|
||||||
typedef uint32_t (*uFpupp_t)(void*, uint32_t, void*, void*);
|
typedef uint32_t (*uFpupp_t)(void*, uint32_t, void*, void*);
|
||||||
typedef uint32_t (*uFppii_t)(void*, void*, int32_t, int32_t);
|
|
||||||
typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
|
typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
|
||||||
typedef uint32_t (*uFppup_t)(void*, void*, uint32_t, void*);
|
typedef uint32_t (*uFppup_t)(void*, void*, uint32_t, void*);
|
||||||
typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
|
typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
|
||||||
@ -426,6 +427,8 @@ typedef uint32_t (*uFpppp_t)(void*, void*, void*, void*);
|
|||||||
typedef uint64_t (*UFpUii_t)(void*, uint64_t, int32_t, int32_t);
|
typedef uint64_t (*UFpUii_t)(void*, uint64_t, int32_t, int32_t);
|
||||||
typedef uint64_t (*UFppii_t)(void*, void*, int32_t, int32_t);
|
typedef uint64_t (*UFppii_t)(void*, void*, int32_t, int32_t);
|
||||||
typedef uint64_t (*UFppip_t)(void*, void*, int32_t, void*);
|
typedef uint64_t (*UFppip_t)(void*, void*, int32_t, void*);
|
||||||
|
typedef uintptr_t (*LFppii_t)(void*, void*, int32_t, int32_t);
|
||||||
|
typedef uintptr_t (*LFppip_t)(void*, void*, int32_t, void*);
|
||||||
typedef void* (*pFEupp_t)(x86emu_t*, uint32_t, void*, void*);
|
typedef void* (*pFEupp_t)(x86emu_t*, uint32_t, void*, void*);
|
||||||
typedef void* (*pFEpii_t)(x86emu_t*, void*, int32_t, int32_t);
|
typedef void* (*pFEpii_t)(x86emu_t*, void*, int32_t, int32_t);
|
||||||
typedef void* (*pFEpip_t)(x86emu_t*, void*, int32_t, void*);
|
typedef void* (*pFEpip_t)(x86emu_t*, void*, int32_t, void*);
|
||||||
@ -576,6 +579,7 @@ typedef uint32_t (*uFppiip_t)(void*, void*, int32_t, int32_t, void*);
|
|||||||
typedef uint32_t (*uFppipp_t)(void*, void*, int32_t, void*, void*);
|
typedef uint32_t (*uFppipp_t)(void*, void*, int32_t, void*, void*);
|
||||||
typedef uint32_t (*uFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
|
typedef uint32_t (*uFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
|
||||||
typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*);
|
typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*);
|
||||||
|
typedef intptr_t (*lFppiip_t)(void*, void*, int32_t, int32_t, void*);
|
||||||
typedef void* (*pFEpiii_t)(x86emu_t*, void*, int32_t, int32_t, int32_t);
|
typedef void* (*pFEpiii_t)(x86emu_t*, void*, int32_t, int32_t, int32_t);
|
||||||
typedef void* (*pFEppii_t)(x86emu_t*, void*, void*, int32_t, int32_t);
|
typedef void* (*pFEppii_t)(x86emu_t*, void*, void*, int32_t, int32_t);
|
||||||
typedef void* (*pFipipu_t)(int32_t, void*, int32_t, void*, uint32_t);
|
typedef void* (*pFipipu_t)(int32_t, void*, int32_t, void*, uint32_t);
|
||||||
@ -1195,6 +1199,8 @@ void fFppu(x86emu_t *emu, uintptr_t fcn) { fFppu_t fn = (fFppu_t)fcn; float fl=f
|
|||||||
void fFppp(x86emu_t *emu, uintptr_t fcn) { fFppp_t fn = (fFppp_t)fcn; float fl=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
|
void fFppp(x86emu_t *emu, uintptr_t fcn) { fFppp_t fn = (fFppp_t)fcn; float fl=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
|
||||||
void dFppu(x86emu_t *emu, uintptr_t fcn) { dFppu_t fn = (dFppu_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
void dFppu(x86emu_t *emu, uintptr_t fcn) { dFppu_t fn = (dFppu_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||||
void dFppp(x86emu_t *emu, uintptr_t fcn) { dFppp_t fn = (dFppp_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
void dFppp(x86emu_t *emu, uintptr_t fcn) { dFppp_t fn = (dFppp_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||||
|
void lFppi(x86emu_t *emu, uintptr_t fcn) { lFppi_t fn = (lFppi_t)fcn; R_EAX=(intptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||||
|
void LFppi(x86emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||||
void pFEip(x86emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX=(uintptr_t)fn(emu, *(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
void pFEip(x86emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX=(uintptr_t)fn(emu, *(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||||
void pFEpi(x86emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
void pFEpi(x86emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
||||||
void pFEpp(x86emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
void pFEpp(x86emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||||
@ -1350,7 +1356,6 @@ void uFpuip(x86emu_t *emu, uintptr_t fcn) { uFpuip_t fn = (uFpuip_t)fcn; R_EAX=(
|
|||||||
void uFpuuu(x86emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
void uFpuuu(x86emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||||
void uFpuup(x86emu_t *emu, uintptr_t fcn) { uFpuup_t fn = (uFpuup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
void uFpuup(x86emu_t *emu, uintptr_t fcn) { uFpuup_t fn = (uFpuup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||||
void uFpupp(x86emu_t *emu, uintptr_t fcn) { uFpupp_t fn = (uFpupp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
void uFpupp(x86emu_t *emu, uintptr_t fcn) { uFpupp_t fn = (uFpupp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||||
void uFppii(x86emu_t *emu, uintptr_t fcn) { uFppii_t fn = (uFppii_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
|
||||||
void uFppip(x86emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
void uFppip(x86emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||||
void uFppup(x86emu_t *emu, uintptr_t fcn) { uFppup_t fn = (uFppup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
void uFppup(x86emu_t *emu, uintptr_t fcn) { uFppup_t fn = (uFppup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||||
void uFpppi(x86emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
void uFpppi(x86emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||||
@ -1358,6 +1363,8 @@ void uFpppp(x86emu_t *emu, uintptr_t fcn) { uFpppp_t fn = (uFpppp_t)fcn; R_EAX=(
|
|||||||
void UFpUii(x86emu_t *emu, uintptr_t fcn) { UFpUii_t fn = (UFpUii_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
void UFpUii(x86emu_t *emu, uintptr_t fcn) { UFpUii_t fn = (UFpUii_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||||
void UFppii(x86emu_t *emu, uintptr_t fcn) { UFppii_t fn = (UFppii_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
void UFppii(x86emu_t *emu, uintptr_t fcn) { UFppii_t fn = (UFppii_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||||
void UFppip(x86emu_t *emu, uintptr_t fcn) { UFppip_t fn = (UFppip_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
void UFppip(x86emu_t *emu, uintptr_t fcn) { UFppip_t fn = (UFppip_t)fcn; ui64_t r; r.u=(uint64_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||||
|
void LFppii(x86emu_t *emu, uintptr_t fcn) { LFppii_t fn = (LFppii_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||||
|
void LFppip(x86emu_t *emu, uintptr_t fcn) { LFppip_t fn = (LFppip_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||||
void pFEupp(x86emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_EAX=(uintptr_t)fn(emu, *(uint32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
void pFEupp(x86emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_EAX=(uintptr_t)fn(emu, *(uint32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||||
void pFEpii(x86emu_t *emu, uintptr_t fcn) { pFEpii_t fn = (pFEpii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
void pFEpii(x86emu_t *emu, uintptr_t fcn) { pFEpii_t fn = (pFEpii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||||
void pFEpip(x86emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
void pFEpip(x86emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||||
@ -1508,6 +1515,7 @@ void uFppiip(x86emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_EA
|
|||||||
void uFppipp(x86emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
void uFppipp(x86emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||||
void uFppuup(x86emu_t *emu, uintptr_t fcn) { uFppuup_t fn = (uFppuup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
void uFppuup(x86emu_t *emu, uintptr_t fcn) { uFppuup_t fn = (uFppuup_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||||
void uFppppp(x86emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
void uFppppp(x86emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||||
|
void lFppiip(x86emu_t *emu, uintptr_t fcn) { lFppiip_t fn = (lFppiip_t)fcn; R_EAX=(intptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||||
void pFEpiii(x86emu_t *emu, uintptr_t fcn) { pFEpiii_t fn = (pFEpiii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
void pFEpiii(x86emu_t *emu, uintptr_t fcn) { pFEpiii_t fn = (pFEpiii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||||
void pFEppii(x86emu_t *emu, uintptr_t fcn) { pFEppii_t fn = (pFEppii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
void pFEppii(x86emu_t *emu, uintptr_t fcn) { pFEppii_t fn = (pFEppii_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||||
void pFipipu(x86emu_t *emu, uintptr_t fcn) { pFipipu_t fn = (pFipipu_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
void pFipipu(x86emu_t *emu, uintptr_t fcn) { pFipipu_t fn = (pFipipu_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*****************************************************************
|
/*****************************************************************
|
||||||
* File automatically generated by rebuild_wrappers.py (v1.1.1.04)
|
* File automatically generated by rebuild_wrappers.py (v1.1.1.05)
|
||||||
*****************************************************************/
|
*****************************************************************/
|
||||||
#ifndef __WRAPPER_H_
|
#ifndef __WRAPPER_H_
|
||||||
#define __WRAPPER_H_
|
#define __WRAPPER_H_
|
||||||
@ -12,6 +12,7 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
|||||||
|
|
||||||
// list of defined wrapper
|
// list of defined wrapper
|
||||||
// v = void, i = int32, u = uint32, U/I= (u)int64
|
// v = void, i = int32, u = uint32, U/I= (u)int64
|
||||||
|
// l = signed long, L = unsigned long (long is an int with the size of a pointer)
|
||||||
// p = pointer, P = callback
|
// p = pointer, P = callback
|
||||||
// f = float, d = double, D = long double, K = fake long double
|
// f = float, d = double, D = long double, K = fake long double
|
||||||
// V = vaargs, E = current x86emu struct, e = ref to current x86emu struct
|
// V = vaargs, E = current x86emu struct, e = ref to current x86emu struct
|
||||||
@ -259,6 +260,8 @@ void fFppu(x86emu_t *emu, uintptr_t fnc);
|
|||||||
void fFppp(x86emu_t *emu, uintptr_t fnc);
|
void fFppp(x86emu_t *emu, uintptr_t fnc);
|
||||||
void dFppu(x86emu_t *emu, uintptr_t fnc);
|
void dFppu(x86emu_t *emu, uintptr_t fnc);
|
||||||
void dFppp(x86emu_t *emu, uintptr_t fnc);
|
void dFppp(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
void lFppi(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
void LFppi(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEip(x86emu_t *emu, uintptr_t fnc);
|
void pFEip(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEpi(x86emu_t *emu, uintptr_t fnc);
|
void pFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEpp(x86emu_t *emu, uintptr_t fnc);
|
void pFEpp(x86emu_t *emu, uintptr_t fnc);
|
||||||
@ -414,7 +417,6 @@ void uFpuip(x86emu_t *emu, uintptr_t fnc);
|
|||||||
void uFpuuu(x86emu_t *emu, uintptr_t fnc);
|
void uFpuuu(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFpuup(x86emu_t *emu, uintptr_t fnc);
|
void uFpuup(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFpupp(x86emu_t *emu, uintptr_t fnc);
|
void uFpupp(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFppii(x86emu_t *emu, uintptr_t fnc);
|
|
||||||
void uFppip(x86emu_t *emu, uintptr_t fnc);
|
void uFppip(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFppup(x86emu_t *emu, uintptr_t fnc);
|
void uFppup(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFpppi(x86emu_t *emu, uintptr_t fnc);
|
void uFpppi(x86emu_t *emu, uintptr_t fnc);
|
||||||
@ -422,6 +424,8 @@ void uFpppp(x86emu_t *emu, uintptr_t fnc);
|
|||||||
void UFpUii(x86emu_t *emu, uintptr_t fnc);
|
void UFpUii(x86emu_t *emu, uintptr_t fnc);
|
||||||
void UFppii(x86emu_t *emu, uintptr_t fnc);
|
void UFppii(x86emu_t *emu, uintptr_t fnc);
|
||||||
void UFppip(x86emu_t *emu, uintptr_t fnc);
|
void UFppip(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
void LFppii(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
void LFppip(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEupp(x86emu_t *emu, uintptr_t fnc);
|
void pFEupp(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEpii(x86emu_t *emu, uintptr_t fnc);
|
void pFEpii(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEpip(x86emu_t *emu, uintptr_t fnc);
|
void pFEpip(x86emu_t *emu, uintptr_t fnc);
|
||||||
@ -572,6 +576,7 @@ void uFppiip(x86emu_t *emu, uintptr_t fnc);
|
|||||||
void uFppipp(x86emu_t *emu, uintptr_t fnc);
|
void uFppipp(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFppuup(x86emu_t *emu, uintptr_t fnc);
|
void uFppuup(x86emu_t *emu, uintptr_t fnc);
|
||||||
void uFppppp(x86emu_t *emu, uintptr_t fnc);
|
void uFppppp(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
void lFppiip(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEpiii(x86emu_t *emu, uintptr_t fnc);
|
void pFEpiii(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFEppii(x86emu_t *emu, uintptr_t fnc);
|
void pFEppii(x86emu_t *emu, uintptr_t fnc);
|
||||||
void pFipipu(x86emu_t *emu, uintptr_t fnc);
|
void pFipipu(x86emu_t *emu, uintptr_t fnc);
|
||||||
|
@ -1680,19 +1680,19 @@ GOW(strtold_l, DFppu)
|
|||||||
GO2(__strtold_l, KFppip, __strtod_l)
|
GO2(__strtold_l, KFppip, __strtod_l)
|
||||||
GO2(strtold_l, KFppu, strtod_l)
|
GO2(strtold_l, KFppu, strtod_l)
|
||||||
#endif
|
#endif
|
||||||
GO(__strtol_internal, iFppi)
|
GO(__strtol_internal, lFppi)
|
||||||
GO(strtoll, IFppi)
|
GO(strtoll, IFppi)
|
||||||
GO(__strtol_l, iFppiip)
|
GO(__strtol_l, lFppiip)
|
||||||
GOW(strtol_l, iFppiip)
|
GOW(strtol_l, lFppiip)
|
||||||
GO(__strtoll_internal, IFppii)
|
GO(__strtoll_internal, IFppii)
|
||||||
GO(__strtoll_l, IFppip)
|
GO(__strtoll_l, IFppip)
|
||||||
GOW(strtoll_l, IFppip)
|
GOW(strtoll_l, IFppip)
|
||||||
// strtoq // Weak
|
// strtoq // Weak
|
||||||
GO(strtoul, uFppi)
|
GO(strtoul, LFppi)
|
||||||
GO(__strtoul_internal, uFppii)
|
GO(__strtoul_internal, LFppii)
|
||||||
GO(strtoull, UFppi)
|
GO(strtoull, UFppi)
|
||||||
GO(__strtoul_l, uFppip)
|
GO(__strtoul_l, uFppip)
|
||||||
GOW(strtoul_l, uFppip)
|
GOW(strtoul_l, LFppip)
|
||||||
GO(__strtoull_internal, UFppii)
|
GO(__strtoull_internal, UFppii)
|
||||||
GO(__strtoull_l, UFppip)
|
GO(__strtoull_l, UFppip)
|
||||||
GOW(strtoull_l, UFppip)
|
GOW(strtoull_l, UFppip)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user