summaryrefslogtreecommitdiffhomepage
path: root/arch
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-01-15 02:08:57 -0500
committermidipix <writeonce@midipix.org>2017-01-15 02:08:57 -0500
commit81fff6855390447bbc26bad6823eb26b3b7a22a5 (patch)
tree853082fb2088b6386c869c2143bfbfc0495fed93 /arch
parent31aa57e65b5c1ef575bbe5d7da57c70446c11ccd (diff)
downloadmmglue-81fff6855390447bbc26bad6823eb26b3b7a22a5.tar.bz2
mmglue-81fff6855390447bbc26bad6823eb26b3b7a22a5.tar.xz
psxglue.h: pre-alpha ABI update (primary objective: first-thread SEH support).
Diffstat (limited to 'arch')
-rw-r--r--arch/nt32/psxglue.h6
-rw-r--r--arch/nt64/psxglue.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/nt32/psxglue.h b/arch/nt32/psxglue.h
index 1eda04b..ec6f028 100644
--- a/arch/nt32/psxglue.h
+++ b/arch/nt32/psxglue.h
@@ -14,9 +14,9 @@ typedef int __ldso_dlclose(void *p);
typedef char * __ldso_dlerror(void);
typedef void __ldso_reset_tls(void);
+typedef int __psx_start_main(void *, int, char **, int (*)(void *, int, char **));
typedef void __psx_convert_thread(void);
typedef void __psx_unmapself(void *, void *);
-typedef void * __psx_get_osfhandle(int fd);
typedef long __psx_log_output(char *, signed int);
struct __ldso_vtbl {
@@ -30,9 +30,9 @@ struct __ldso_vtbl {
};
struct __psx_vtbl {
+ __psx_start_main * start_main;
__psx_convert_thread * convert_thread;
__psx_unmapself * unmapself;
- __psx_get_osfhandle * get_osfhandle;
__psx_log_output * log_output;
};
@@ -41,7 +41,7 @@ struct __psx_context {
int options;
void ** sys_vtbl;
struct __ldso_vtbl * ldso_vtbl;
- struct __psx_vtbl * psx_vtbl;
+ const struct __psx_vtbl*psx_vtbl;
unsigned int teb_sys_idx;
unsigned int teb_libc_idx;
void * pthread_surrogate_fn;
diff --git a/arch/nt64/psxglue.h b/arch/nt64/psxglue.h
index 1eda04b..ec6f028 100644
--- a/arch/nt64/psxglue.h
+++ b/arch/nt64/psxglue.h
@@ -14,9 +14,9 @@ typedef int __ldso_dlclose(void *p);
typedef char * __ldso_dlerror(void);
typedef void __ldso_reset_tls(void);
+typedef int __psx_start_main(void *, int, char **, int (*)(void *, int, char **));
typedef void __psx_convert_thread(void);
typedef void __psx_unmapself(void *, void *);
-typedef void * __psx_get_osfhandle(int fd);
typedef long __psx_log_output(char *, signed int);
struct __ldso_vtbl {
@@ -30,9 +30,9 @@ struct __ldso_vtbl {
};
struct __psx_vtbl {
+ __psx_start_main * start_main;
__psx_convert_thread * convert_thread;
__psx_unmapself * unmapself;
- __psx_get_osfhandle * get_osfhandle;
__psx_log_output * log_output;
};
@@ -41,7 +41,7 @@ struct __psx_context {
int options;
void ** sys_vtbl;
struct __ldso_vtbl * ldso_vtbl;
- struct __psx_vtbl * psx_vtbl;
+ const struct __psx_vtbl*psx_vtbl;
unsigned int teb_sys_idx;
unsigned int teb_libc_idx;
void * pthread_surrogate_fn;