annotate loader/wrapper.h @ 30812:4c3685b029f7

Fix QuickTime emulated OSErr type. The OSErr type on Mac OS X is int16_t, not int32_t (see http://developer.apple.com/mac/library/documentation/QuickTime/Reference/QTRef_DataTypes/Reference/reference.html). The upper 16 bits will typically be something random (they're entirely undefined). Change the type so it's right; a few places tried to compensate for this by masking out the upper bits, but a few places also missed them, which made for unpredictable behavior.
author sesse
date Sat, 06 Mar 2010 11:12:32 +0000
parents 32725ca88fed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24422
diff changeset
1 #ifndef MPLAYER_WRAPPER_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24422
diff changeset
2 #define MPLAYER_WRAPPER_H
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
3
11864
ee76aa308c0a use inttypes.h and std types, this fixes compilation problems on solaris 9 x86
alex
parents: 8269
diff changeset
4 #include <inttypes.h>
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
5
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
6 typedef struct {
11864
ee76aa308c0a use inttypes.h and std types, this fixes compilation problems on solaris 9 x86
alex
parents: 8269
diff changeset
7 uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax;
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
8 } reg386_t;
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
9
11864
ee76aa308c0a use inttypes.h and std types, this fixes compilation problems on solaris 9 x86
alex
parents: 8269
diff changeset
10 typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
11
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
12 extern wrapper_func_t report_entry, report_ret;
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
13
28054
d717788f3fb6 Re-add "extern"s incorrectly removed in r28085
reimar
parents: 28051
diff changeset
14 extern void (*wrapper_target)(void);
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
15
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26045
diff changeset
16 int wrapper(void);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26045
diff changeset
17 int null_call(void);
8269
8b905703a450 - qtx (quicktime's macos emulation layer) debugging/emulation environment :)
arpi
parents:
diff changeset
18
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24422
diff changeset
19 #endif /* MPLAYER_WRAPPER_H */