view loader/wrapper.h @ 13303:2571b2e0c0b4

Fixes for VirtualAlloc function: * mplayer received a SIGSEGV under Linux after Opening video decoder: [dmo] DMO video codecs VirtualAlloc(0x00400000, 859648, 0x00003000, 0x00000040) because that region was already under use and mmap() with MAP_FIXED has problems under Linux (see code). VirtualAlloc() fixed in "loader/ext.c". * VirtualAlloc() made to conform with win32 documented behavior regarding the alignment of the address and size arguments. * VirtualAlloc() detection of overlap with previous regions fixed. Patch by A. Guru ( a.guru at sympatico dot ca )
author rtognimp
date Fri, 10 Sep 2004 16:39:31 +0000
parents ee76aa308c0a
children c98c9e7f3bd0
line wrap: on
line source

#ifndef _WRAPPER_H
#define _WRAPPER_H

#include <inttypes.h>

typedef struct {
  uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax;
} reg386_t;

typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg,  uint32_t *flags);

extern wrapper_func_t report_entry, report_ret;

extern void (*wrapper_target)(void);

extern int wrapper(void);
extern int null_call(void);

#endif /* _WRAPPER_H */