krnl386.exe: Avoid using the CONTEXT86 type.

This commit is contained in:
Alexandre Julliard 2010-10-20 15:48:31 +02:00
parent 16c9b10dc9
commit 1b2604384b
32 changed files with 302 additions and 303 deletions

View File

@ -62,7 +62,7 @@ DOSASPI_PostProc( SRB_ExecSCSICmd *lpPRB )
if( (lpSRB16->cmd.SRB_Flags & SRB_POSTING) && lpSRB16->cmd.SRB_PostProc ) if( (lpSRB16->cmd.SRB_Flags & SRB_POSTING) && lpSRB16->cmd.SRB_PostProc )
{ {
CONTEXT86 ctx; CONTEXT ctx;
/* The stack should look like this on entry to proc /* The stack should look like this on entry to proc
* NOTE: the SDK draws the following diagram bass akwards, use this one * NOTE: the SDK draws the following diagram bass akwards, use this one
* to avoid being confused. Remember, the act of pushing something on * to avoid being confused. Remember, the act of pushing something on
@ -175,7 +175,7 @@ DWORD ASPI_SendASPIDOSCommand(DWORD ptrSRB)
return retval; return retval;
} }
static void WINAPI ASPI_DOS_func(CONTEXT86 *context) static void WINAPI ASPI_DOS_func(CONTEXT *context)
{ {
WORD *stack = CTX_SEG_OFF_TO_LIN(context, context->SegSs, context->Esp); WORD *stack = CTX_SEG_OFF_TO_LIN(context, context->SegSs, context->Esp);
DWORD ptrSRB = *(DWORD *)&stack[2]; DWORD ptrSRB = *(DWORD *)&stack[2];
@ -194,7 +194,7 @@ static void WINAPI ASPI_DOS_func(CONTEXT86 *context)
* *
* returns the address of a real mode callback to ASPI_DOS_func() * returns the address of a real mode callback to ASPI_DOS_func()
*/ */
void DOSVM_ASPIHandler( CONTEXT86 *context ) void DOSVM_ASPIHandler( CONTEXT *context )
{ {
FARPROC16 *p = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx); FARPROC16 *p = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx);
TRACE("DOS ASPI opening\n"); TRACE("DOS ASPI opening\n");

View File

@ -77,10 +77,10 @@ static void *strategy_data[NB_SYSTEM_STRATEGIES];
/* prototypes */ /* prototypes */
static void WINAPI nul_strategy(CONTEXT86*ctx); static void WINAPI nul_strategy(CONTEXT*ctx);
static void WINAPI nul_interrupt(CONTEXT86*ctx); static void WINAPI nul_interrupt(CONTEXT*ctx);
static void WINAPI con_strategy(CONTEXT86*ctx); static void WINAPI con_strategy(CONTEXT*ctx);
static void WINAPI con_interrupt(CONTEXT86*ctx); static void WINAPI con_interrupt(CONTEXT*ctx);
/* devices */ /* devices */
static const WINEDEV devs[] = static const WINEDEV devs[] =
@ -119,7 +119,7 @@ static struct _DOS_LISTOFLISTS * DOSMEM_LOL(void)
/* the device implementations */ /* the device implementations */
static void do_lret(CONTEXT86*ctx) static void do_lret(CONTEXT*ctx)
{ {
WORD *stack = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegSs, ctx->Esp); WORD *stack = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegSs, ctx->Esp);
@ -128,7 +128,7 @@ static void do_lret(CONTEXT86*ctx)
ctx->Esp += 2*sizeof(WORD); ctx->Esp += 2*sizeof(WORD);
} }
static void do_strategy(CONTEXT86*ctx, int id, int extra) static void do_strategy(CONTEXT*ctx, int id, int extra)
{ {
REQUEST_HEADER *hdr = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegEs, ctx->Ebx); REQUEST_HEADER *hdr = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegEs, ctx->Ebx);
void **hdr_ptr = strategy_data[id]; void **hdr_ptr = strategy_data[id];
@ -149,12 +149,12 @@ static REQUEST_HEADER * get_hdr(int id, void**extra)
return hdr_ptr ? *hdr_ptr : NULL; return hdr_ptr ? *hdr_ptr : NULL;
} }
static void WINAPI nul_strategy(CONTEXT86*ctx) static void WINAPI nul_strategy(CONTEXT*ctx)
{ {
do_strategy(ctx, SYSTEM_STRATEGY_NUL, 0); do_strategy(ctx, SYSTEM_STRATEGY_NUL, 0);
} }
static void WINAPI nul_interrupt(CONTEXT86*ctx) static void WINAPI nul_interrupt(CONTEXT*ctx)
{ {
REQUEST_HEADER *hdr = get_hdr(SYSTEM_STRATEGY_NUL, NULL); REQUEST_HEADER *hdr = get_hdr(SYSTEM_STRATEGY_NUL, NULL);
/* eat everything and recycle nothing */ /* eat everything and recycle nothing */
@ -172,12 +172,12 @@ static void WINAPI nul_interrupt(CONTEXT86*ctx)
do_lret(ctx); do_lret(ctx);
} }
static void WINAPI con_strategy(CONTEXT86*ctx) static void WINAPI con_strategy(CONTEXT*ctx)
{ {
do_strategy(ctx, SYSTEM_STRATEGY_CON, sizeof(int)); do_strategy(ctx, SYSTEM_STRATEGY_CON, sizeof(int));
} }
static void WINAPI con_interrupt(CONTEXT86*ctx) static void WINAPI con_interrupt(CONTEXT*ctx)
{ {
int *scan; int *scan;
REQUEST_HEADER *hdr = get_hdr(SYSTEM_STRATEGY_CON,(void **)&scan); REQUEST_HEADER *hdr = get_hdr(SYSTEM_STRATEGY_CON,(void **)&scan);

View File

@ -442,7 +442,7 @@ void __wine_load_dos_exe( LPCSTR filename, LPCSTR cmdline )
* *
* this may only be called from existing DOS processes * this may only be called from existing DOS processes
*/ */
BOOL MZ_Exec( CONTEXT86 *context, LPCSTR filename, BYTE func, LPVOID paramblk ) BOOL MZ_Exec( CONTEXT *context, LPCSTR filename, BYTE func, LPVOID paramblk )
{ {
DWORD binType; DWORD binType;
STARTUPINFOA st; STARTUPINFOA st;
@ -703,7 +703,7 @@ static void MZ_Launch( LPCSTR cmdtail, int length )
/*********************************************************************** /***********************************************************************
* MZ_Exit * MZ_Exit
*/ */
void MZ_Exit( CONTEXT86 *context, BOOL cs_psp, WORD retval ) void MZ_Exit( CONTEXT *context, BOOL cs_psp, WORD retval )
{ {
if (DOSVM_psp) { if (DOSVM_psp) {
WORD psp_seg = cs_psp ? context->SegCs : DOSVM_psp; WORD psp_seg = cs_psp ? context->SegCs : DOSVM_psp;
@ -762,7 +762,7 @@ void __wine_load_dos_exe( LPCSTR filename, LPCSTR cmdline )
/*********************************************************************** /***********************************************************************
* MZ_Exec * MZ_Exec
*/ */
BOOL MZ_Exec( CONTEXT86 *context, LPCSTR filename, BYTE func, LPVOID paramblk ) BOOL MZ_Exec( CONTEXT *context, LPCSTR filename, BYTE func, LPVOID paramblk )
{ {
/* can't happen */ /* can't happen */
SetLastError(ERROR_BAD_FORMAT); SetLastError(ERROR_BAD_FORMAT);
@ -788,7 +788,7 @@ void MZ_RunInThread( PAPCFUNC proc, ULONG_PTR arg )
/*********************************************************************** /***********************************************************************
* MZ_Exit * MZ_Exit
*/ */
void MZ_Exit( CONTEXT86 *context, BOOL cs_psp, WORD retval ) void MZ_Exit( CONTEXT *context, BOOL cs_psp, WORD retval )
{ {
DOSVM_Exit( retval ); DOSVM_Exit( retval );
} }

View File

@ -64,9 +64,9 @@ typedef struct {
DWORD offset; DWORD offset;
} SEGPTR48, FARPROC48; } SEGPTR48, FARPROC48;
typedef void (*DOSRELAY)(CONTEXT86*,void*); typedef void (*DOSRELAY)(CONTEXT*,void*);
typedef void (WINAPI *RMCBPROC)(CONTEXT86*); typedef void (WINAPI *RMCBPROC)(CONTEXT*);
typedef void (WINAPI *INTPROC)(CONTEXT86*); typedef void (WINAPI *INTPROC)(CONTEXT*);
#define DOS_PRIORITY_REALTIME 0 /* IRQ0 */ #define DOS_PRIORITY_REALTIME 0 /* IRQ0 */
#define DOS_PRIORITY_KEYBOARD 1 /* IRQ1 */ #define DOS_PRIORITY_KEYBOARD 1 /* IRQ1 */
@ -83,7 +83,7 @@ extern struct DPMI_segments *DOSVM_dpmi_segments;
#endif /* linux-i386 */ #endif /* linux-i386 */
/* /*
* Declare some CONTEXT86.EFlags bits. * Declare some CONTEXT.EFlags bits.
* IF_MASK is only pushed into real mode stack. * IF_MASK is only pushed into real mode stack.
*/ */
#define V86_FLAG 0x00020000 #define V86_FLAG 0x00020000
@ -334,8 +334,8 @@ typedef struct
} WINEDEV; } WINEDEV;
/* dosexe.c */ /* dosexe.c */
extern BOOL MZ_Exec( CONTEXT86 *context, LPCSTR filename, BYTE func, LPVOID paramblk ); extern BOOL MZ_Exec( CONTEXT *context, LPCSTR filename, BYTE func, LPVOID paramblk );
extern void MZ_Exit( CONTEXT86 *context, BOOL cs_psp, WORD retval ); extern void MZ_Exit( CONTEXT *context, BOOL cs_psp, WORD retval );
extern BOOL MZ_Current( void ); extern BOOL MZ_Current( void );
extern void MZ_AllocDPMITask( void ); extern void MZ_AllocDPMITask( void );
extern void MZ_RunInThread( PAPCFUNC proc, ULONG_PTR arg ); extern void MZ_RunInThread( PAPCFUNC proc, ULONG_PTR arg );
@ -343,10 +343,10 @@ extern BOOL DOSVM_IsWin16(void);
extern void DOSVM_Exit( WORD retval ); extern void DOSVM_Exit( WORD retval );
/* dosvm.c */ /* dosvm.c */
extern void DOSVM_SendQueuedEvents( CONTEXT86 * ); extern void DOSVM_SendQueuedEvents( CONTEXT * );
extern void WINAPI DOSVM_AcknowledgeIRQ( CONTEXT86 * ); extern void WINAPI DOSVM_AcknowledgeIRQ( CONTEXT * );
extern INT DOSVM_Enter( CONTEXT86 *context ); extern INT DOSVM_Enter( CONTEXT *context );
extern void DOSVM_Wait( CONTEXT86 * ); extern void DOSVM_Wait( CONTEXT * );
extern DWORD DOSVM_Loop( HANDLE hThread ); extern DWORD DOSVM_Loop( HANDLE hThread );
extern void DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data ); extern void DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data );
extern void DOSVM_PIC_ioport_out( WORD port, BYTE val ); extern void DOSVM_PIC_ioport_out( WORD port, BYTE val );
@ -367,87 +367,87 @@ extern void DMA_ioport_out( WORD port, BYTE val );
extern BYTE DMA_ioport_in( WORD port ); extern BYTE DMA_ioport_in( WORD port );
/* dosaspi.c */ /* dosaspi.c */
extern void DOSVM_ASPIHandler(CONTEXT86*); extern void DOSVM_ASPIHandler(CONTEXT*);
/* dosmem.c */ /* dosmem.c */
extern BIOSDATA *DOSVM_BiosData( void ); extern BIOSDATA *DOSVM_BiosData( void );
extern void DOSVM_start_bios_timer(void); extern void DOSVM_start_bios_timer(void);
/* fpu.c */ /* fpu.c */
extern void WINAPI DOSVM_Int34Handler(CONTEXT86*); extern void WINAPI DOSVM_Int34Handler(CONTEXT*);
extern void WINAPI DOSVM_Int35Handler(CONTEXT86*); extern void WINAPI DOSVM_Int35Handler(CONTEXT*);
extern void WINAPI DOSVM_Int36Handler(CONTEXT86*); extern void WINAPI DOSVM_Int36Handler(CONTEXT*);
extern void WINAPI DOSVM_Int37Handler(CONTEXT86*); extern void WINAPI DOSVM_Int37Handler(CONTEXT*);
extern void WINAPI DOSVM_Int38Handler(CONTEXT86*); extern void WINAPI DOSVM_Int38Handler(CONTEXT*);
extern void WINAPI DOSVM_Int39Handler(CONTEXT86*); extern void WINAPI DOSVM_Int39Handler(CONTEXT*);
extern void WINAPI DOSVM_Int3aHandler(CONTEXT86*); extern void WINAPI DOSVM_Int3aHandler(CONTEXT*);
extern void WINAPI DOSVM_Int3bHandler(CONTEXT86*); extern void WINAPI DOSVM_Int3bHandler(CONTEXT*);
extern void WINAPI DOSVM_Int3cHandler(CONTEXT86*); extern void WINAPI DOSVM_Int3cHandler(CONTEXT*);
extern void WINAPI DOSVM_Int3dHandler(CONTEXT86*); extern void WINAPI DOSVM_Int3dHandler(CONTEXT*);
extern void WINAPI DOSVM_Int3eHandler(CONTEXT86*); extern void WINAPI DOSVM_Int3eHandler(CONTEXT*);
/* int09.c */ /* int09.c */
extern void WINAPI DOSVM_Int09Handler(CONTEXT86*); extern void WINAPI DOSVM_Int09Handler(CONTEXT*);
extern void DOSVM_Int09SendScan(BYTE scan,BYTE ascii); extern void DOSVM_Int09SendScan(BYTE scan,BYTE ascii);
extern BYTE DOSVM_Int09ReadScan(BYTE*ascii); extern BYTE DOSVM_Int09ReadScan(BYTE*ascii);
/* int10.c */ /* int10.c */
extern void WINAPI DOSVM_Int10Handler(CONTEXT86*); extern void WINAPI DOSVM_Int10Handler(CONTEXT*);
extern void DOSVM_PutChar(BYTE ascii); extern void DOSVM_PutChar(BYTE ascii);
/* int13.c */ /* int13.c */
extern void WINAPI DOSVM_Int13Handler(CONTEXT86*); extern void WINAPI DOSVM_Int13Handler(CONTEXT*);
/* int15.c */ /* int15.c */
extern void WINAPI DOSVM_Int15Handler(CONTEXT86*); extern void WINAPI DOSVM_Int15Handler(CONTEXT*);
/* int16.c */ /* int16.c */
extern void WINAPI DOSVM_Int16Handler(CONTEXT86*); extern void WINAPI DOSVM_Int16Handler(CONTEXT*);
extern BOOL DOSVM_Int16ReadChar( BYTE *, BYTE *, CONTEXT86 * ); extern BOOL DOSVM_Int16ReadChar( BYTE *, BYTE *, CONTEXT * );
extern int DOSVM_Int16AddChar(BYTE ascii,BYTE scan); extern int DOSVM_Int16AddChar(BYTE ascii,BYTE scan);
/* int21.c */ /* int21.c */
extern void WINAPI DOSVM_Int21Handler(CONTEXT86*); extern void WINAPI DOSVM_Int21Handler(CONTEXT*);
/* int25.c */ /* int25.c */
BOOL DOSVM_RawRead( BYTE, DWORD, DWORD, BYTE *, BOOL ); BOOL DOSVM_RawRead( BYTE, DWORD, DWORD, BYTE *, BOOL );
void WINAPI DOSVM_Int25Handler( CONTEXT86 * ); void WINAPI DOSVM_Int25Handler( CONTEXT * );
/* int26.c */ /* int26.c */
BOOL DOSVM_RawWrite( BYTE, DWORD, DWORD, BYTE *, BOOL ); BOOL DOSVM_RawWrite( BYTE, DWORD, DWORD, BYTE *, BOOL );
void WINAPI DOSVM_Int26Handler( CONTEXT86 * ); void WINAPI DOSVM_Int26Handler( CONTEXT * );
/* int2f.c */ /* int2f.c */
extern void WINAPI DOSVM_Int2fHandler(CONTEXT86*); extern void WINAPI DOSVM_Int2fHandler(CONTEXT*);
extern void MSCDEX_InstallCDROM(void); extern void MSCDEX_InstallCDROM(void);
/* int31.c */ /* int31.c */
extern void WINAPI DOSVM_Int31Handler(CONTEXT86*); extern void WINAPI DOSVM_Int31Handler(CONTEXT*);
extern void WINAPI DOSVM_RawModeSwitchHandler(CONTEXT86*); extern void WINAPI DOSVM_RawModeSwitchHandler(CONTEXT*);
extern BOOL DOSVM_IsDos32(void); extern BOOL DOSVM_IsDos32(void);
extern FARPROC16 DPMI_AllocInternalRMCB(RMCBPROC); extern FARPROC16 DPMI_AllocInternalRMCB(RMCBPROC);
extern int DPMI_CallRMProc(CONTEXT86*,LPWORD,int,int); extern int DPMI_CallRMProc(CONTEXT*,LPWORD,int,int);
extern BOOL DOSVM_CheckWrappers(CONTEXT86*); extern BOOL DOSVM_CheckWrappers(CONTEXT*);
/* int33.c */ /* int33.c */
extern void WINAPI DOSVM_Int33Handler(CONTEXT86*); extern void WINAPI DOSVM_Int33Handler(CONTEXT*);
extern void DOSVM_Int33Message(UINT,WPARAM,LPARAM); extern void DOSVM_Int33Message(UINT,WPARAM,LPARAM);
extern void DOSVM_Int33Console(MOUSE_EVENT_RECORD*); extern void DOSVM_Int33Console(MOUSE_EVENT_RECORD*);
/* int67.c */ /* int67.c */
extern void WINAPI DOSVM_Int67Handler(CONTEXT86*); extern void WINAPI DOSVM_Int67Handler(CONTEXT*);
extern void EMS_Ioctl_Handler(CONTEXT86*); extern void EMS_Ioctl_Handler(CONTEXT*);
/* interrupts.c */ /* interrupts.c */
extern void __wine_call_int_handler( CONTEXT86 *, BYTE ); extern void __wine_call_int_handler( CONTEXT *, BYTE );
extern void DOSVM_CallBuiltinHandler( CONTEXT86 *, BYTE ); extern void DOSVM_CallBuiltinHandler( CONTEXT *, BYTE );
extern BOOL DOSVM_EmulateInterruptPM( CONTEXT86 *, BYTE ); extern BOOL DOSVM_EmulateInterruptPM( CONTEXT *, BYTE );
extern BOOL DOSVM_EmulateInterruptRM( CONTEXT86 *, BYTE ); extern BOOL DOSVM_EmulateInterruptRM( CONTEXT *, BYTE );
extern FARPROC16 DOSVM_GetPMHandler16( BYTE ); extern FARPROC16 DOSVM_GetPMHandler16( BYTE );
extern FARPROC48 DOSVM_GetPMHandler48( BYTE ); extern FARPROC48 DOSVM_GetPMHandler48( BYTE );
extern FARPROC16 DOSVM_GetRMHandler( BYTE ); extern FARPROC16 DOSVM_GetRMHandler( BYTE );
extern void DOSVM_HardwareInterruptPM( CONTEXT86 *, BYTE ); extern void DOSVM_HardwareInterruptPM( CONTEXT *, BYTE );
extern void DOSVM_HardwareInterruptRM( CONTEXT86 *, BYTE ); extern void DOSVM_HardwareInterruptRM( CONTEXT *, BYTE );
extern void DOSVM_SetPMHandler16( BYTE, FARPROC16 ); extern void DOSVM_SetPMHandler16( BYTE, FARPROC16 );
extern void DOSVM_SetPMHandler48( BYTE, FARPROC48 ); extern void DOSVM_SetPMHandler48( BYTE, FARPROC48 );
extern void DOSVM_SetRMHandler( BYTE, FARPROC16 ); extern void DOSVM_SetRMHandler( BYTE, FARPROC16 );
@ -457,14 +457,14 @@ extern DWORD DOSVM_inport( int port, int size );
extern void DOSVM_outport( int port, int size, DWORD value ); extern void DOSVM_outport( int port, int size, DWORD value );
/* relay.c */ /* relay.c */
void DOSVM_RelayHandler( CONTEXT86 * ); void DOSVM_RelayHandler( CONTEXT * );
void DOSVM_BuildCallFrame( CONTEXT86 *, DOSRELAY, LPVOID ); void DOSVM_BuildCallFrame( CONTEXT *, DOSRELAY, LPVOID );
/* soundblaster.c */ /* soundblaster.c */
extern void SB_ioport_out( WORD port, BYTE val ); extern void SB_ioport_out( WORD port, BYTE val );
extern BYTE SB_ioport_in( WORD port ); extern BYTE SB_ioport_in( WORD port );
/* timer.c */ /* timer.c */
extern void WINAPI DOSVM_Int08Handler(CONTEXT86*); extern void WINAPI DOSVM_Int08Handler(CONTEXT*);
#endif /* __WINE_DOSEXE_H */ #endif /* __WINE_DOSEXE_H */

View File

@ -145,7 +145,7 @@ static BOOL DOSVM_HasPendingEvents( void )
* be called. This is because we may otherwise get a deadlock if * be called. This is because we may otherwise get a deadlock if
* another thread is waiting for the same critical section. * another thread is waiting for the same critical section.
*/ */
static void DOSVM_SendOneEvent( CONTEXT86 *context ) static void DOSVM_SendOneEvent( CONTEXT *context )
{ {
LPDOSEVENT event = pending_event; LPDOSEVENT event = pending_event;
@ -222,7 +222,7 @@ static void DOSVM_SendOneEvent( CONTEXT86 *context )
* This routine assumes that caller has already cleared TEB.vm86_pending * This routine assumes that caller has already cleared TEB.vm86_pending
* and checked that interrupts are enabled. * and checked that interrupts are enabled.
*/ */
void DOSVM_SendQueuedEvents( CONTEXT86 *context ) void DOSVM_SendQueuedEvents( CONTEXT *context )
{ {
DWORD old_cs = context->SegCs; DWORD old_cs = context->SegCs;
DWORD old_ip = context->Eip; DWORD old_ip = context->Eip;
@ -323,7 +323,7 @@ void DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data)
* which uses DPMI to thunk down to DOS services) */ * which uses DPMI to thunk down to DOS services) */
if (irq<0) { if (irq<0) {
/* callback event, perform it with dummy context */ /* callback event, perform it with dummy context */
CONTEXT86 context; CONTEXT context;
memset(&context,0,sizeof(context)); memset(&context,0,sizeof(context));
(*relay)(&context,data); (*relay)(&context,data);
} else { } else {
@ -410,11 +410,11 @@ static void DOSVM_ProcessMessage(MSG *msg)
* interrupts and waits until some asynchronous event has been * interrupts and waits until some asynchronous event has been
* processed. * processed.
*/ */
void DOSVM_Wait( CONTEXT86 *waitctx ) void DOSVM_Wait( CONTEXT *waitctx )
{ {
if (DOSVM_HasPendingEvents()) if (DOSVM_HasPendingEvents())
{ {
CONTEXT86 context = *waitctx; CONTEXT context = *waitctx;
/* /*
* If DOSVM_Wait is called from protected mode we emulate * If DOSVM_Wait is called from protected mode we emulate
@ -594,7 +594,7 @@ static LONG WINAPI exception_handler(EXCEPTION_POINTERS *eptr)
return EXCEPTION_CONTINUE_SEARCH; return EXCEPTION_CONTINUE_SEARCH;
} }
INT DOSVM_Enter( CONTEXT86 *context ) INT DOSVM_Enter( CONTEXT *context )
{ {
INT ret = 0; INT ret = 0;
if (!ISV86(context)) if (!ISV86(context))
@ -669,7 +669,7 @@ void DOSVM_PIC_ioport_out( WORD port, BYTE val)
/*********************************************************************** /***********************************************************************
* DOSVM_Enter * DOSVM_Enter
*/ */
INT DOSVM_Enter( CONTEXT86 *context ) INT DOSVM_Enter( CONTEXT *context )
{ {
SetLastError( ERROR_NOT_SUPPORTED ); SetLastError( ERROR_NOT_SUPPORTED );
return -1; return -1;
@ -678,7 +678,7 @@ INT DOSVM_Enter( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* DOSVM_Wait * DOSVM_Wait
*/ */
void DOSVM_Wait( CONTEXT86 *waitctx ) { } void DOSVM_Wait( CONTEXT *waitctx ) { }
/*********************************************************************** /***********************************************************************
* DOSVM_PIC_ioport_out * DOSVM_PIC_ioport_out
@ -692,7 +692,7 @@ void DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data)
{ {
if (irq<0) { if (irq<0) {
/* callback event, perform it with dummy context */ /* callback event, perform it with dummy context */
CONTEXT86 context; CONTEXT context;
memset(&context,0,sizeof(context)); memset(&context,0,sizeof(context));
(*relay)(&context,data); (*relay)(&context,data);
} else { } else {
@ -708,7 +708,7 @@ void DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data)
* *
* This routine should be called by all internal IRQ handlers. * This routine should be called by all internal IRQ handlers.
*/ */
void WINAPI DOSVM_AcknowledgeIRQ( CONTEXT86 *context ) void WINAPI DOSVM_AcknowledgeIRQ( CONTEXT *context )
{ {
/* /*
* Send EOI to PIC. * Send EOI to PIC.

View File

@ -283,7 +283,7 @@ void WINAPI LogParamError16(UINT16 uErr, FARPROC16 lpfn, LPVOID lpvParam)
/*********************************************************************** /***********************************************************************
* K327 (KERNEL.327) * K327 (KERNEL.327)
*/ */
void WINAPI HandleParamError( CONTEXT86 *context ) void WINAPI HandleParamError( CONTEXT *context )
{ {
UINT16 uErr = LOWORD(context->Ebx); UINT16 uErr = LOWORD(context->Ebx);
FARPROC16 lpfn = (FARPROC16)MAKESEGPTR( context->SegCs, context->Eip ); FARPROC16 lpfn = (FARPROC16)MAKESEGPTR( context->SegCs, context->Eip );

View File

@ -29,7 +29,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(int);
* The actual work is done by a single routine. * The actual work is done by a single routine.
*/ */
static void FPU_ModifyCode(CONTEXT86 *context, BYTE Opcode); static void FPU_ModifyCode(CONTEXT *context, BYTE Opcode);
/********************************************************************** /**********************************************************************
@ -40,7 +40,7 @@ static void FPU_ModifyCode(CONTEXT86 *context, BYTE Opcode);
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int34Handler(CONTEXT86 *context) void WINAPI DOSVM_Int34Handler(CONTEXT *context)
{ {
TRACE("Int 0x34 called-- FP opcode 0xd8\n"); TRACE("Int 0x34 called-- FP opcode 0xd8\n");
FPU_ModifyCode(context, 0xd8); FPU_ModifyCode(context, 0xd8);
@ -55,7 +55,7 @@ void WINAPI DOSVM_Int34Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int35Handler(CONTEXT86 *context) void WINAPI DOSVM_Int35Handler(CONTEXT *context)
{ {
TRACE("Int 0x35 called-- FP opcode 0xd9\n"); TRACE("Int 0x35 called-- FP opcode 0xd9\n");
FPU_ModifyCode(context, 0xd9); FPU_ModifyCode(context, 0xd9);
@ -70,7 +70,7 @@ void WINAPI DOSVM_Int35Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int36Handler(CONTEXT86 *context) void WINAPI DOSVM_Int36Handler(CONTEXT *context)
{ {
TRACE("Int 0x36 called-- FP opcode 0xda\n"); TRACE("Int 0x36 called-- FP opcode 0xda\n");
FPU_ModifyCode(context, 0xda); FPU_ModifyCode(context, 0xda);
@ -85,7 +85,7 @@ void WINAPI DOSVM_Int36Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int37Handler(CONTEXT86 *context) void WINAPI DOSVM_Int37Handler(CONTEXT *context)
{ {
TRACE("Int 0x37 called-- FP opcode 0xdb\n"); TRACE("Int 0x37 called-- FP opcode 0xdb\n");
FPU_ModifyCode(context, 0xdb); FPU_ModifyCode(context, 0xdb);
@ -103,7 +103,7 @@ void WINAPI DOSVM_Int37Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int38Handler(CONTEXT86 *context) void WINAPI DOSVM_Int38Handler(CONTEXT *context)
{ {
TRACE("Int 0x38 called-- FP opcode 0xdc\n"); TRACE("Int 0x38 called-- FP opcode 0xdc\n");
FPU_ModifyCode(context, 0xdc); FPU_ModifyCode(context, 0xdc);
@ -118,7 +118,7 @@ void WINAPI DOSVM_Int38Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int39Handler(CONTEXT86 *context) void WINAPI DOSVM_Int39Handler(CONTEXT *context)
{ {
TRACE("Int 0x39 called-- FP opcode 0xdd\n"); TRACE("Int 0x39 called-- FP opcode 0xdd\n");
FPU_ModifyCode(context, 0xdd); FPU_ModifyCode(context, 0xdd);
@ -133,7 +133,7 @@ void WINAPI DOSVM_Int39Handler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int3aHandler(CONTEXT86 *context) void WINAPI DOSVM_Int3aHandler(CONTEXT *context)
{ {
TRACE("Int 0x3a called-- FP opcode 0xde\n"); TRACE("Int 0x3a called-- FP opcode 0xde\n");
FPU_ModifyCode(context, 0xde); FPU_ModifyCode(context, 0xde);
@ -148,7 +148,7 @@ void WINAPI DOSVM_Int3aHandler(CONTEXT86 *context)
* The interrupt list isn't specific about what this interrupt * The interrupt list isn't specific about what this interrupt
* actually does. [ interrup.m ] * actually does. [ interrup.m ]
*/ */
void WINAPI DOSVM_Int3bHandler(CONTEXT86 *context) void WINAPI DOSVM_Int3bHandler(CONTEXT *context)
{ {
TRACE("Int 0x3b called-- FP opcode 0xdf\n"); TRACE("Int 0x3b called-- FP opcode 0xdf\n");
FPU_ModifyCode(context, 0xdf); FPU_ModifyCode(context, 0xdf);
@ -171,7 +171,7 @@ void WINAPI DOSVM_Int3bHandler(CONTEXT86 *context)
* *
* 11011xxx should be the opcode instruction. * 11011xxx should be the opcode instruction.
*/ */
void WINAPI DOSVM_Int3cHandler(CONTEXT86 *context) void WINAPI DOSVM_Int3cHandler(CONTEXT *context)
{ {
FIXME("Int 3C NOT Implemented\n"); FIXME("Int 3C NOT Implemented\n");
INT_BARF(context, 0x3c); INT_BARF(context, 0x3c);
@ -185,7 +185,7 @@ void WINAPI DOSVM_Int3cHandler(CONTEXT86 *context)
* *
* Opcode 0x90 is a NOP. It just fills space where the 3D was. * Opcode 0x90 is a NOP. It just fills space where the 3D was.
*/ */
void WINAPI DOSVM_Int3dHandler(CONTEXT86 *context) void WINAPI DOSVM_Int3dHandler(CONTEXT *context)
{ {
TRACE("Int 0x3d called-- Standalone FWAIT\n"); TRACE("Int 0x3d called-- Standalone FWAIT\n");
FPU_ModifyCode(context, 0x90); FPU_ModifyCode(context, 0x90);
@ -203,7 +203,7 @@ void WINAPI DOSVM_Int3dHandler(CONTEXT86 *context)
* Direct access 4.0 modifies and does not restore this vector. * Direct access 4.0 modifies and does not restore this vector.
* *
*/ */
void WINAPI DOSVM_Int3eHandler(CONTEXT86 *context) void WINAPI DOSVM_Int3eHandler(CONTEXT *context)
{ {
FIXME("Int 3E NOT Implemented\n"); FIXME("Int 3E NOT Implemented\n");
INT_BARF(context, 0x3e); INT_BARF(context, 0x3e);
@ -219,7 +219,7 @@ void WINAPI DOSVM_Int3eHandler(CONTEXT86 *context)
* *
* Code thanks to Ove Kaaven * Code thanks to Ove Kaaven
*/ */
static void FPU_ModifyCode(CONTEXT86 *context, BYTE Opcode) static void FPU_ModifyCode(CONTEXT *context, BYTE Opcode)
{ {
BYTE *code = CTX_SEG_OFF_TO_LIN(context, context->SegCs, context->Eip); BYTE *code = CTX_SEG_OFF_TO_LIN(context, context->SegCs, context->Eip);

View File

@ -561,8 +561,7 @@ BOOL16 WINAPI GlobalUnlock16(
* *all* registers, even AX/DX ! * *all* registers, even AX/DX !
* *
*/ */
void WINAPI GlobalChangeLockCount16( HGLOBAL16 handle, INT16 delta, void WINAPI GlobalChangeLockCount16( HGLOBAL16 handle, INT16 delta, CONTEXT *context )
CONTEXT86 *context )
{ {
if ( delta == 1 ) if ( delta == 1 )
GlobalLock16( handle ); GlobalLock16( handle );

View File

@ -44,7 +44,7 @@ WINE_DECLARE_DEBUG_CHANNEL(io);
#define ADD_LOWORD(dw,val) ((dw) = ((dw) & 0xffff0000) | LOWORD((DWORD)(dw)+(val))) #define ADD_LOWORD(dw,val) ((dw) = ((dw) & 0xffff0000) | LOWORD((DWORD)(dw)+(val)))
#define ISV86(context) ((context)->EFlags & 0x00020000) #define ISV86(context) ((context)->EFlags & 0x00020000)
static inline void add_stack( CONTEXT86 *context, int offset ) static inline void add_stack( CONTEXT *context, int offset )
{ {
if (ISV86(context) || !IS_SELECTOR_32BIT(context->SegSs)) if (ISV86(context) || !IS_SELECTOR_32BIT(context->SegSs))
ADD_LOWORD( context->Esp, offset ); ADD_LOWORD( context->Esp, offset );
@ -52,7 +52,7 @@ static inline void add_stack( CONTEXT86 *context, int offset )
context->Esp += offset; context->Esp += offset;
} }
static inline void *make_ptr( CONTEXT86 *context, DWORD seg, DWORD off, int long_addr ) static inline void *make_ptr( CONTEXT *context, DWORD seg, DWORD off, int long_addr )
{ {
if (ISV86(context)) return (void *)((seg << 4) + LOWORD(off)); if (ISV86(context)) return (void *)((seg << 4) + LOWORD(off));
if (wine_ldt_is_system(seg)) return (void *)off; if (wine_ldt_is_system(seg)) return (void *)off;
@ -60,7 +60,7 @@ static inline void *make_ptr( CONTEXT86 *context, DWORD seg, DWORD off, int long
return (char *) MapSL( MAKESEGPTR( seg, 0 ) ) + off; return (char *) MapSL( MAKESEGPTR( seg, 0 ) ) + off;
} }
static inline void *get_stack( CONTEXT86 *context ) static inline void *get_stack( CONTEXT *context )
{ {
if (ISV86(context)) return (void *)((context->SegSs << 4) + LOWORD(context->Esp)); if (ISV86(context)) return (void *)((context->SegSs << 4) + LOWORD(context->Esp));
return wine_ldt_get_ptr( context->SegSs, context->Esp ); return wine_ldt_get_ptr( context->SegSs, context->Esp );
@ -100,7 +100,7 @@ static inline struct idtr get_idtr(void)
* *
* See Undocumented Windows, Chapter 5, __0040. * See Undocumented Windows, Chapter 5, __0040.
*/ */
static BOOL INSTR_ReplaceSelector( CONTEXT86 *context, WORD *sel ) static BOOL INSTR_ReplaceSelector( CONTEXT *context, WORD *sel )
{ {
if (*sel == 0x40) if (*sel == 0x40)
{ {
@ -113,7 +113,7 @@ static BOOL INSTR_ReplaceSelector( CONTEXT86 *context, WORD *sel )
/* store an operand into a register */ /* store an operand into a register */
static void store_reg( CONTEXT86 *context, BYTE regmodrm, const BYTE *addr, int long_op ) static void store_reg( CONTEXT *context, BYTE regmodrm, const BYTE *addr, int long_op )
{ {
switch((regmodrm >> 3) & 7) switch((regmodrm >> 3) & 7)
{ {
@ -157,7 +157,7 @@ static void store_reg( CONTEXT86 *context, BYTE regmodrm, const BYTE *addr, int
* *
* Return the address of an instruction operand (from the mod/rm byte). * Return the address of an instruction operand (from the mod/rm byte).
*/ */
static BYTE *INSTR_GetOperandAddr( CONTEXT86 *context, BYTE *instr, static BYTE *INSTR_GetOperandAddr( CONTEXT *context, BYTE *instr,
int long_addr, int segprefix, int *len ) int long_addr, int segprefix, int *len )
{ {
int mod, rm, base = 0, index = 0, ss = 0, seg = 0, off; int mod, rm, base = 0, index = 0, ss = 0, seg = 0, off;
@ -317,7 +317,7 @@ static BYTE *INSTR_GetOperandAddr( CONTEXT86 *context, BYTE *instr,
* *
* Emulate the LDS (and LES,LFS,etc.) instruction. * Emulate the LDS (and LES,LFS,etc.) instruction.
*/ */
static BOOL INSTR_EmulateLDS( CONTEXT86 *context, BYTE *instr, int long_op, static BOOL INSTR_EmulateLDS( CONTEXT *context, BYTE *instr, int long_op,
int long_addr, int segprefix, int *len ) int long_addr, int segprefix, int *len )
{ {
WORD seg; WORD seg;
@ -361,7 +361,7 @@ static BOOL INSTR_EmulateLDS( CONTEXT86 *context, BYTE *instr, int long_op,
* *
* input on an I/O port * input on an I/O port
*/ */
static DWORD INSTR_inport( WORD port, int size, CONTEXT86 *context ) static DWORD INSTR_inport( WORD port, int size, CONTEXT *context )
{ {
DWORD res = DOSVM_inport( port, size ); DWORD res = DOSVM_inport( port, size );
@ -392,7 +392,7 @@ static DWORD INSTR_inport( WORD port, int size, CONTEXT86 *context )
* *
* output on an I/O port * output on an I/O port
*/ */
static void INSTR_outport( WORD port, int size, DWORD val, CONTEXT86 *context ) static void INSTR_outport( WORD port, int size, DWORD val, CONTEXT *context )
{ {
DOSVM_outport( port, size, val ); DOSVM_outport( port, size, val );
@ -423,7 +423,7 @@ static void INSTR_outport( WORD port, int size, DWORD val, CONTEXT86 *context )
* Emulate a privileged instruction. * Emulate a privileged instruction.
* Returns exception continuation status. * Returns exception continuation status.
*/ */
DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT86 *context ) DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
{ {
int prefix, segprefix, prefixlen, len, repX, long_op, long_addr; int prefix, segprefix, prefixlen, len, repX, long_op, long_addr;
BYTE *instr; BYTE *instr;
@ -865,7 +865,7 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT86 *context )
LONG CALLBACK INSTR_vectored_handler( EXCEPTION_POINTERS *ptrs ) LONG CALLBACK INSTR_vectored_handler( EXCEPTION_POINTERS *ptrs )
{ {
EXCEPTION_RECORD *record = ptrs->ExceptionRecord; EXCEPTION_RECORD *record = ptrs->ExceptionRecord;
CONTEXT86 *context = ptrs->ContextRecord; CONTEXT *context = ptrs->ContextRecord;
if (wine_ldt_is_system(context->SegCs) && if (wine_ldt_is_system(context->SegCs) &&
(record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION || (record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION ||
@ -881,7 +881,7 @@ LONG CALLBACK INSTR_vectored_handler( EXCEPTION_POINTERS *ptrs )
/*********************************************************************** /***********************************************************************
* DOS3Call (KERNEL.102) * DOS3Call (KERNEL.102)
*/ */
void WINAPI DOS3Call( CONTEXT86 *context ) void WINAPI DOS3Call( CONTEXT *context )
{ {
__wine_call_int_handler( context, 0x21 ); __wine_call_int_handler( context, 0x21 );
} }
@ -890,7 +890,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* NetBIOSCall (KERNEL.103) * NetBIOSCall (KERNEL.103)
*/ */
void WINAPI NetBIOSCall16( CONTEXT86 *context ) void WINAPI NetBIOSCall16( CONTEXT *context )
{ {
__wine_call_int_handler( context, 0x5c ); __wine_call_int_handler( context, 0x5c );
} }

View File

@ -147,7 +147,7 @@ static void DOSVM_Int09UpdateKbdStatusFlags(BYTE scan, BOOL extended, BIOSDATA *
* See http://www.execpc.com/~geezer/osd/kbd/ for a very good description * See http://www.execpc.com/~geezer/osd/kbd/ for a very good description
* of keyboard mapping modes. * of keyboard mapping modes.
*/ */
void WINAPI DOSVM_Int09Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int09Handler( CONTEXT *context )
{ {
BIOSDATA *data = DOSVM_BiosData(); BIOSDATA *data = DOSVM_BiosData();
BYTE ascii, scan = DOSVM_Int09ReadScan(&ascii); BYTE ascii, scan = DOSVM_Int09ReadScan(&ascii);
@ -210,7 +210,7 @@ void WINAPI DOSVM_Int09Handler( CONTEXT86 *context )
DOSVM_AcknowledgeIRQ( context ); DOSVM_AcknowledgeIRQ( context );
} }
static void KbdRelay( CONTEXT86 *context, void *data ) static void KbdRelay( CONTEXT *context, void *data )
{ {
if (kbdinfo.queuelen) { if (kbdinfo.queuelen) {
/* cleanup operation, called from DOSVM_PIC_ioport_out: /* cleanup operation, called from DOSVM_PIC_ioport_out:

View File

@ -812,7 +812,7 @@ static void INT10_InitializeVideoMode( BIOSDATA *data )
* *
* Handler for VESA functions (int10 function 0x4f). * Handler for VESA functions (int10 function 0x4f).
*/ */
static void INT10_HandleVESA( CONTEXT86 *context ) static void INT10_HandleVESA( CONTEXT *context )
{ {
BIOSDATA *data = DOSVM_BiosData(); BIOSDATA *data = DOSVM_BiosData();
@ -977,7 +977,7 @@ static void INT10_HandleVESA( CONTEXT86 *context )
* *
* Added additional vga graphic support - 3/99 * Added additional vga graphic support - 3/99
*/ */
void WINAPI DOSVM_Int10Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int10Handler( CONTEXT *context )
{ {
BIOSDATA *data = DOSVM_BiosData(); BIOSDATA *data = DOSVM_BiosData();

View File

@ -58,7 +58,7 @@ static BYTE INT13_last_status;
* Despite what Ralf Brown says, at least functions 0x06 and 0x07 * Despite what Ralf Brown says, at least functions 0x06 and 0x07
* seem to set carry, too. * seem to set carry, too.
*/ */
static void INT13_SetStatus( CONTEXT86 *context, BYTE status ) static void INT13_SetStatus( CONTEXT *context, BYTE status )
{ {
INT13_last_status = status; INT13_last_status = status;
@ -76,7 +76,7 @@ static void INT13_SetStatus( CONTEXT86 *context, BYTE status )
* *
* Read floppy disk parameters. * Read floppy disk parameters.
*/ */
static void INT13_ReadFloppyParams( CONTEXT86 *context ) static void INT13_ReadFloppyParams( CONTEXT *context )
{ {
#ifdef linux #ifdef linux
static const BYTE floppy_params[2][13] = static const BYTE floppy_params[2][13] =
@ -184,7 +184,7 @@ static void INT13_ReadFloppyParams( CONTEXT86 *context )
* *
* Handler for int 13h (disk I/O). * Handler for int 13h (disk I/O).
*/ */
void WINAPI DOSVM_Int13Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int13Handler( CONTEXT *context )
{ {
TRACE( "AH=%02x\n", AH_reg( context ) ); TRACE( "AH=%02x\n", AH_reg( context ) );

View File

@ -31,7 +31,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(int);
* *
* Handler for int 15h * Handler for int 15h
*/ */
void WINAPI DOSVM_Int15Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int15Handler( CONTEXT *context )
{ {
switch(AH_reg(context)) switch(AH_reg(context))
{ {

View File

@ -47,7 +47,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(int);
* not currently listed here. * not currently listed here.
*/ */
void WINAPI DOSVM_Int16Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int16Handler( CONTEXT *context )
{ {
BIOSDATA *data = NULL; BIOSDATA *data = NULL;
BYTE ascii, scan; BYTE ascii, scan;
@ -160,7 +160,7 @@ void WINAPI DOSVM_Int16Handler( CONTEXT86 *context )
* Return value will always be TRUE and returned keystroke will be * Return value will always be TRUE and returned keystroke will be
* removed from buffer. * removed from buffer.
*/ */
int DOSVM_Int16ReadChar(BYTE *ascii, BYTE *scan, CONTEXT86 *waitctx) int DOSVM_Int16ReadChar(BYTE *ascii, BYTE *scan, CONTEXT *waitctx)
{ {
BIOSDATA *data = DOSVM_BiosData(); BIOSDATA *data = DOSVM_BiosData();
WORD CurOfs = data->NextKbdCharPtr; WORD CurOfs = data->NextKbdCharPtr;

View File

@ -64,7 +64,7 @@ BOOL WINAPI VerifyConsoleIoHandle(HANDLE);
/* /*
* Forward declarations. * Forward declarations.
*/ */
static BOOL INT21_RenameFile( CONTEXT86 *context ); static BOOL INT21_RenameFile( CONTEXT *context );
WINE_DEFAULT_DEBUG_CHANNEL(int21); WINE_DEFAULT_DEBUG_CHANNEL(int21);
@ -270,11 +270,11 @@ struct magic_device
WCHAR name[10]; WCHAR name[10];
HANDLE handle; HANDLE handle;
LARGE_INTEGER index; LARGE_INTEGER index;
void (*ioctl_handler)(CONTEXT86 *); void (*ioctl_handler)(CONTEXT *);
}; };
static void INT21_IoctlScsiMgrHandler( CONTEXT86 * ); static void INT21_IoctlScsiMgrHandler( CONTEXT * );
static void INT21_IoctlHPScanHandler( CONTEXT86 * ); static void INT21_IoctlHPScanHandler( CONTEXT * );
static struct magic_device magic_devices[] = static struct magic_device magic_devices[] =
{ {
@ -374,7 +374,7 @@ static void INT21_SetCurrentDrive( BYTE drive )
* Reads a character from the standard input. * Reads a character from the standard input.
* Extended keycodes will be returned as two separate characters. * Extended keycodes will be returned as two separate characters.
*/ */
static BOOL INT21_ReadChar( BYTE *input, CONTEXT86 *waitctx ) static BOOL INT21_ReadChar( BYTE *input, CONTEXT *waitctx )
{ {
static BYTE pending_scan = 0; static BYTE pending_scan = 0;
@ -579,7 +579,7 @@ static INT21_HEAP *INT21_GetHeapPointer( void )
* Get segment/selector for DOS heap (INT21_HEAP). * Get segment/selector for DOS heap (INT21_HEAP).
* Creates and initializes heap on first call. * Creates and initializes heap on first call.
*/ */
static WORD INT21_GetHeapSelector( CONTEXT86 *context ) static WORD INT21_GetHeapSelector( CONTEXT *context )
{ {
INT21_HEAP *heap = INT21_GetHeapPointer(); INT21_HEAP *heap = INT21_GetHeapPointer();
@ -679,7 +679,7 @@ static BOOL INT21_FillDrivePB( BYTE drive )
* - function 0x47 * - function 0x47
* - subfunction 0x47 of function 0x71 * - subfunction 0x47 of function 0x71
*/ */
static BOOL INT21_GetCurrentDirectory( CONTEXT86 *context, BOOL islong ) static BOOL INT21_GetCurrentDirectory( CONTEXT *context, BOOL islong )
{ {
char *buffer = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Esi); char *buffer = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Esi);
BYTE drive = INT21_MapDrive( DL_reg(context) ); BYTE drive = INT21_MapDrive( DL_reg(context) );
@ -802,7 +802,7 @@ static BOOL INT21_GetCurrentDirectory( CONTEXT86 *context, BOOL islong )
* - function 0x3b * - function 0x3b
* - subfunction 0x3b of function 0x71 * - subfunction 0x3b of function 0x71
*/ */
static BOOL INT21_SetCurrentDirectory( CONTEXT86 *context ) static BOOL INT21_SetCurrentDirectory( CONTEXT *context )
{ {
WCHAR dirW[MAX_PATH]; WCHAR dirW[MAX_PATH];
WCHAR env_var[4]; WCHAR env_var[4];
@ -935,7 +935,7 @@ static HANDLE INT21_OpenMagicDevice( LPCWSTR name, DWORD access )
* - function 0x6c * - function 0x6c
* - subfunction 0x6c of function 0x71 * - subfunction 0x6c of function 0x71
*/ */
static BOOL INT21_CreateFile( CONTEXT86 *context, static BOOL INT21_CreateFile( CONTEXT *context,
DWORD pathSegOff, DWORD pathSegOff,
BOOL returnStatus, BOOL returnStatus,
WORD dosAccessShare, WORD dosAccessShare,
@ -1153,7 +1153,7 @@ static BOOL INT21_CreateFile( CONTEXT86 *context,
* read from console including terminating CR or * read from console including terminating CR or
* zero if capacity was zero. * zero if capacity was zero.
*/ */
static WORD INT21_BufferedInput( CONTEXT86 *context, BYTE *ptr, WORD capacity ) static WORD INT21_BufferedInput( CONTEXT *context, BYTE *ptr, WORD capacity )
{ {
BYTE length = 0; BYTE length = 0;
@ -1206,7 +1206,7 @@ static WORD INT21_BufferedInput( CONTEXT86 *context, BYTE *ptr, WORD capacity )
/*********************************************************************** /***********************************************************************
* INT21_GetCurrentDTA * INT21_GetCurrentDTA
*/ */
static BYTE *INT21_GetCurrentDTA( CONTEXT86 *context ) static BYTE *INT21_GetCurrentDTA( CONTEXT *context )
{ {
TDB *pTask = GlobalLock16(GetCurrentTask()); TDB *pTask = GlobalLock16(GetCurrentTask());
@ -1233,7 +1233,7 @@ static BYTE *INT21_GetCurrentDTA( CONTEXT86 *context )
* the FCB must have the drive_number, file_name, and file_extension * the FCB must have the drive_number, file_name, and file_extension
* fields filled and all other bytes cleared. * fields filled and all other bytes cleared.
*/ */
static void INT21_OpenFileUsingFCB( CONTEXT86 *context ) static void INT21_OpenFileUsingFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1332,7 +1332,7 @@ static void INT21_OpenFileUsingFCB( CONTEXT86 *context )
* NOTES * NOTES
* Closes a FCB file. * Closes a FCB file.
*/ */
static void INT21_CloseFileUsingFCB( CONTEXT86 *context ) static void INT21_CloseFileUsingFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1377,7 +1377,7 @@ static void INT21_CloseFileUsingFCB( CONTEXT86 *context )
* are updated to point to the next record. If a partial record is * are updated to point to the next record. If a partial record is
* read, it is filled with zeros up to the FCB->logical_record_size. * read, it is filled with zeros up to the FCB->logical_record_size.
*/ */
static void INT21_SequentialReadFromFCB( CONTEXT86 *context ) static void INT21_SequentialReadFromFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1457,7 +1457,7 @@ static void INT21_SequentialReadFromFCB( CONTEXT86 *context )
* Then FCB->current_block_number and FCB->record_within_current_block * Then FCB->current_block_number and FCB->record_within_current_block
* are updated to point to the next record. * are updated to point to the next record.
*/ */
static void INT21_SequentialWriteToFCB( CONTEXT86 *context ) static void INT21_SequentialWriteToFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1533,7 +1533,7 @@ static void INT21_SequentialWriteToFCB( CONTEXT86 *context )
* FCB->random_access_record_number is not updated. If a partial record * FCB->random_access_record_number is not updated. If a partial record
* is read, it is filled with zeros up to the FCB->logical_record_size. * is read, it is filled with zeros up to the FCB->logical_record_size.
*/ */
static void INT21_ReadRandomRecordFromFCB( CONTEXT86 *context ) static void INT21_ReadRandomRecordFromFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1606,7 +1606,7 @@ static void INT21_ReadRandomRecordFromFCB( CONTEXT86 *context )
* is specified with FCB->random_access_record_number. The * is specified with FCB->random_access_record_number. The
* FCB->random_access_record_number is not updated. * FCB->random_access_record_number is not updated.
*/ */
static void INT21_WriteRandomRecordToFCB( CONTEXT86 *context ) static void INT21_WriteRandomRecordToFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1681,7 +1681,7 @@ static void INT21_WriteRandomRecordToFCB( CONTEXT86 *context )
* it is filled with zeros up to the FCB->logical_record_size. The * it is filled with zeros up to the FCB->logical_record_size. The
* CX register is set to the number of successfully read records. * CX register is set to the number of successfully read records.
*/ */
static void INT21_RandomBlockReadFromFCB( CONTEXT86 *context ) static void INT21_RandomBlockReadFromFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1772,7 +1772,7 @@ static void INT21_RandomBlockReadFromFCB( CONTEXT86 *context )
* next record after the records written. The CX register is set to * next record after the records written. The CX register is set to
* the number of successfully written records. * the number of successfully written records.
*/ */
static void INT21_RandomBlockWriteToFCB( CONTEXT86 *context ) static void INT21_RandomBlockWriteToFCB( CONTEXT *context )
{ {
struct FCB *fcb; struct FCB *fcb;
struct XFCB *xfcb; struct XFCB *xfcb;
@ -1841,7 +1841,7 @@ static void INT21_RandomBlockWriteToFCB( CONTEXT86 *context )
* - subfunction 0x39 of function 0x71 * - subfunction 0x39 of function 0x71
* - subfunction 0xff of function 0x43 (CL == 0x39) * - subfunction 0xff of function 0x43 (CL == 0x39)
*/ */
static BOOL INT21_CreateDirectory( CONTEXT86 *context ) static BOOL INT21_CreateDirectory( CONTEXT *context )
{ {
WCHAR dirW[MAX_PATH]; WCHAR dirW[MAX_PATH];
char *dirA = CTX_SEG_OFF_TO_LIN(context, char *dirA = CTX_SEG_OFF_TO_LIN(context,
@ -1881,7 +1881,7 @@ static BOOL INT21_CreateDirectory( CONTEXT86 *context )
* *
* Handler for function 0x65. * Handler for function 0x65.
*/ */
static void INT21_ExtendedCountryInformation( CONTEXT86 *context ) static void INT21_ExtendedCountryInformation( CONTEXT *context )
{ {
BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegEs, context->Edi ); BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegEs, context->Edi );
BYTE buffsize = CX_reg (context); BYTE buffsize = CX_reg (context);
@ -2012,7 +2012,7 @@ static void INT21_ExtendedCountryInformation( CONTEXT86 *context )
* - function 0x43 * - function 0x43
* - subfunction 0x43 of function 0x71 * - subfunction 0x43 of function 0x71
*/ */
static BOOL INT21_FileAttributes( CONTEXT86 *context, static BOOL INT21_FileAttributes( CONTEXT *context,
BYTE subfunction, BYTE subfunction,
BOOL islong ) BOOL islong )
{ {
@ -2269,7 +2269,7 @@ static BOOL INT21_FileAttributes( CONTEXT86 *context,
* *
* Handler for function 0x57. * Handler for function 0x57.
*/ */
static BOOL INT21_FileDateTime( CONTEXT86 *context ) static BOOL INT21_FileDateTime( CONTEXT *context )
{ {
HANDLE handle = DosFileHandleToWin32Handle(BX_reg(context)); HANDLE handle = DosFileHandleToWin32Handle(BX_reg(context));
FILETIME filetime; FILETIME filetime;
@ -2369,7 +2369,7 @@ static BOOL INT21_FileDateTime( CONTEXT86 *context )
* *
* Handler for functions 0x51 and 0x62. * Handler for functions 0x51 and 0x62.
*/ */
static void INT21_GetPSP( CONTEXT86 *context ) static void INT21_GetPSP( CONTEXT *context )
{ {
TRACE( "GET CURRENT PSP ADDRESS (%02x)\n", AH_reg(context) ); TRACE( "GET CURRENT PSP ADDRESS (%02x)\n", AH_reg(context) );
@ -2447,7 +2447,7 @@ static inline DWORD INT21_Ioctl_CylHeadSect2Lin(DWORD cyl, WORD head, WORD sec,
* *
* Handler for block device IOCTLs. * Handler for block device IOCTLs.
*/ */
static void INT21_Ioctl_Block( CONTEXT86 *context ) static void INT21_Ioctl_Block( CONTEXT *context )
{ {
BYTE *dataptr; BYTE *dataptr;
BYTE drive = INT21_MapDrive( BL_reg(context) ); BYTE drive = INT21_MapDrive( BL_reg(context) );
@ -2660,7 +2660,7 @@ static void INT21_Ioctl_Block( CONTEXT86 *context )
* *
* IOCTL handler for the SCSIMGR device. * IOCTL handler for the SCSIMGR device.
*/ */
static void INT21_IoctlScsiMgrHandler( CONTEXT86 *context ) static void INT21_IoctlScsiMgrHandler( CONTEXT *context )
{ {
switch (AL_reg(context)) switch (AL_reg(context))
{ {
@ -2694,7 +2694,7 @@ static void INT21_IoctlScsiMgrHandler( CONTEXT86 *context )
* *
* IOCTL handler for the HPSCAN device. * IOCTL handler for the HPSCAN device.
*/ */
static void INT21_IoctlHPScanHandler( CONTEXT86 *context ) static void INT21_IoctlHPScanHandler( CONTEXT *context )
{ {
switch (AL_reg(context)) switch (AL_reg(context))
{ {
@ -2725,7 +2725,7 @@ static void INT21_IoctlHPScanHandler( CONTEXT86 *context )
* *
* Handler for character device IOCTLs. * Handler for character device IOCTLs.
*/ */
static void INT21_Ioctl_Char( CONTEXT86 *context ) static void INT21_Ioctl_Char( CONTEXT *context )
{ {
int status; int status;
int IsConsoleIOHandle = 0; int IsConsoleIOHandle = 0;
@ -2833,7 +2833,7 @@ static void INT21_Ioctl_Char( CONTEXT86 *context )
* *
* Handler for function 0x44. * Handler for function 0x44.
*/ */
static void INT21_Ioctl( CONTEXT86 *context ) static void INT21_Ioctl( CONTEXT *context )
{ {
switch (AL_reg(context)) switch (AL_reg(context))
{ {
@ -2924,7 +2924,7 @@ static void INT21_Ioctl( CONTEXT86 *context )
* *
* Handler for function 0x73. * Handler for function 0x73.
*/ */
static BOOL INT21_Fat32( CONTEXT86 *context ) static BOOL INT21_Fat32( CONTEXT *context )
{ {
switch (AL_reg(context)) switch (AL_reg(context))
{ {
@ -3043,7 +3043,7 @@ static void INT21_ConvertFindDataWtoA(WIN32_FIND_DATAA *dataA,
* *
* Handler for function 0x71. * Handler for function 0x71.
*/ */
static void INT21_LongFilename( CONTEXT86 *context ) static void INT21_LongFilename( CONTEXT *context )
{ {
BOOL bSetDOSExtendedError = FALSE; BOOL bSetDOSExtendedError = FALSE;
WCHAR pathW[MAX_PATH]; WCHAR pathW[MAX_PATH];
@ -3343,7 +3343,7 @@ static void INT21_LongFilename( CONTEXT86 *context )
* - subfunction 0x56 of function 0x71 * - subfunction 0x56 of function 0x71
* - subfunction 0xff of function 0x43 (CL == 0x56) * - subfunction 0xff of function 0x43 (CL == 0x56)
*/ */
static BOOL INT21_RenameFile( CONTEXT86 *context ) static BOOL INT21_RenameFile( CONTEXT *context )
{ {
WCHAR fromW[MAX_PATH]; WCHAR fromW[MAX_PATH];
WCHAR toW[MAX_PATH]; WCHAR toW[MAX_PATH];
@ -3366,7 +3366,7 @@ static BOOL INT21_RenameFile( CONTEXT86 *context )
* Handler for: * Handler for:
* - function 0x5e * - function 0x5e
*/ */
static BOOL INT21_NetworkFunc (CONTEXT86 *context) static BOOL INT21_NetworkFunc (CONTEXT *context)
{ {
switch (AL_reg(context)) switch (AL_reg(context))
{ {
@ -3403,7 +3403,7 @@ static BOOL INT21_NetworkFunc (CONTEXT86 *context)
* INT21_GetDiskSerialNumber * INT21_GetDiskSerialNumber
* *
*/ */
static int INT21_GetDiskSerialNumber( CONTEXT86 *context ) static int INT21_GetDiskSerialNumber( CONTEXT *context )
{ {
BYTE *dataptr = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx); BYTE *dataptr = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx);
WCHAR path[] = {'A',':','\\',0}, label[11]; WCHAR path[] = {'A',':','\\',0}, label[11];
@ -3428,7 +3428,7 @@ static int INT21_GetDiskSerialNumber( CONTEXT86 *context )
* INT21_SetDiskSerialNumber * INT21_SetDiskSerialNumber
* *
*/ */
static int INT21_SetDiskSerialNumber( CONTEXT86 *context ) static int INT21_SetDiskSerialNumber( CONTEXT *context )
{ {
#if 0 #if 0
BYTE *dataptr = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx); BYTE *dataptr = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx);
@ -3454,7 +3454,7 @@ static int INT21_SetDiskSerialNumber( CONTEXT86 *context )
* INT21_GetFreeDiskSpace * INT21_GetFreeDiskSpace
* *
*/ */
static int INT21_GetFreeDiskSpace( CONTEXT86 *context ) static int INT21_GetFreeDiskSpace( CONTEXT *context )
{ {
DWORD cluster_sectors, sector_bytes, free_clusters, total_clusters; DWORD cluster_sectors, sector_bytes, free_clusters, total_clusters;
WCHAR root[] = {'A',':','\\',0}; WCHAR root[] = {'A',':','\\',0};
@ -3528,7 +3528,7 @@ static int INT21_GetFreeDiskSpace( CONTEXT86 *context )
* INT21_GetDriveAllocInfo * INT21_GetDriveAllocInfo
* *
*/ */
static int INT21_GetDriveAllocInfo( CONTEXT86 *context, BYTE drive ) static int INT21_GetDriveAllocInfo( CONTEXT *context, BYTE drive )
{ {
INT21_DPB *dpb; INT21_DPB *dpb;
@ -3547,7 +3547,7 @@ static int INT21_GetDriveAllocInfo( CONTEXT86 *context, BYTE drive )
/*********************************************************************** /***********************************************************************
* INT21_GetExtendedError * INT21_GetExtendedError
*/ */
static void INT21_GetExtendedError( CONTEXT86 *context ) static void INT21_GetExtendedError( CONTEXT *context )
{ {
BYTE class, action, locus; BYTE class, action, locus;
WORD error = GetLastError(); WORD error = GetLastError();
@ -3656,7 +3656,7 @@ static void INT21_GetExtendedError( CONTEXT86 *context )
SET_CH( context, locus ); SET_CH( context, locus );
} }
static BOOL INT21_CreateTempFile( CONTEXT86 *context ) static BOOL INT21_CreateTempFile( CONTEXT *context )
{ {
static int counter = 0; static int counter = 0;
char *name = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx ); char *name = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx );
@ -3791,7 +3791,7 @@ static const WCHAR *INT21_FindPath; /* will point to current dta->fullPath searc
/****************************************************************** /******************************************************************
* INT21_FindFirst * INT21_FindFirst
*/ */
static int INT21_FindFirst( CONTEXT86 *context ) static int INT21_FindFirst( CONTEXT *context )
{ {
WCHAR *p, *q; WCHAR *p, *q;
const char *path; const char *path;
@ -3921,7 +3921,7 @@ static unsigned INT21_FindHelper(LPCWSTR fullPath, unsigned drive, unsigned coun
/****************************************************************** /******************************************************************
* INT21_FindNext * INT21_FindNext
*/ */
static int INT21_FindNext( CONTEXT86 *context ) static int INT21_FindNext( CONTEXT *context )
{ {
FINDFILE_DTA *dta = (FINDFILE_DTA *)INT21_GetCurrentDTA(context); FINDFILE_DTA *dta = (FINDFILE_DTA *)INT21_GetCurrentDTA(context);
DWORD attr = dta->search_attr | FA_UNUSED | FA_ARCHIVE | FA_RDONLY; DWORD attr = dta->search_attr | FA_UNUSED | FA_ARCHIVE | FA_RDONLY;
@ -3967,7 +3967,7 @@ static int INT21_FindNext( CONTEXT86 *context )
* INT21_FindFirstFCB * INT21_FindFirstFCB
* *
*/ */
static int INT21_FindFirstFCB( CONTEXT86 *context ) static int INT21_FindFirstFCB( CONTEXT *context )
{ {
BYTE *fcb = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx); BYTE *fcb = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx);
FINDFILE_FCB *pFCB; FINDFILE_FCB *pFCB;
@ -3991,7 +3991,7 @@ static int INT21_FindFirstFCB( CONTEXT86 *context )
* INT21_FindNextFCB * INT21_FindNextFCB
* *
*/ */
static int INT21_FindNextFCB( CONTEXT86 *context ) static int INT21_FindNextFCB( CONTEXT *context )
{ {
BYTE *fcb = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx); BYTE *fcb = CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Edx);
FINDFILE_FCB *pFCB; FINDFILE_FCB *pFCB;
@ -4054,7 +4054,7 @@ static int INT21_FindNextFCB( CONTEXT86 *context )
* INT21_ParseFileNameIntoFCB * INT21_ParseFileNameIntoFCB
* *
*/ */
static void INT21_ParseFileNameIntoFCB( CONTEXT86 *context ) static void INT21_ParseFileNameIntoFCB( CONTEXT *context )
{ {
char *filename = char *filename =
CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Esi ); CTX_SEG_OFF_TO_LIN(context, context->SegDs, context->Esi );
@ -4133,7 +4133,7 @@ static BOOL INT21_Dup2(HFILE16 hFile1, HFILE16 hFile2)
* *
* Interrupt 0x21 handler. * Interrupt 0x21 handler.
*/ */
void WINAPI DOSVM_Int21Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int21Handler( CONTEXT *context )
{ {
BOOL bSetDOSExtendedError = FALSE; BOOL bSetDOSExtendedError = FALSE;

View File

@ -80,7 +80,7 @@ BOOL DOSVM_RawRead(BYTE drive, DWORD begin, DWORD nr_sect, BYTE *dataptr, BOOL f
* *
* Handler for int 25h (absolute disk read). * Handler for int 25h (absolute disk read).
*/ */
void WINAPI DOSVM_Int25Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int25Handler( CONTEXT *context )
{ {
WCHAR drivespec[4] = {'A', ':', '\\', 0}; WCHAR drivespec[4] = {'A', ':', '\\', 0};
BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegDs, context->Ebx ); BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegDs, context->Ebx );

View File

@ -69,7 +69,7 @@ BOOL DOSVM_RawWrite(BYTE drive, DWORD begin, DWORD nr_sect, BYTE *dataptr, BOOL
* *
* Handler for int 26h (absolute disk write). * Handler for int 26h (absolute disk write).
*/ */
void WINAPI DOSVM_Int26Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int26Handler( CONTEXT *context )
{ {
WCHAR drivespec[4] = {'A', ':', '\\', 0}; WCHAR drivespec[4] = {'A', ':', '\\', 0};
BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegDs, context->Ebx ); BYTE *dataptr = CTX_SEG_OFF_TO_LIN( context, context->SegDs, context->Ebx );

View File

@ -60,15 +60,15 @@ typedef struct
WORD cdrom_selector; /* Protected mode selector for CDROM_HEAP */ WORD cdrom_selector; /* Protected mode selector for CDROM_HEAP */
} CDROM_HEAP; } CDROM_HEAP;
static void do_int2f_16( CONTEXT86 *context ); static void do_int2f_16( CONTEXT *context );
static void MSCDEX_Handler( CONTEXT86 *context ); static void MSCDEX_Handler( CONTEXT *context );
/********************************************************************** /**********************************************************************
* DOSVM_Int2fHandler * DOSVM_Int2fHandler
* *
* Handler for int 2fh (multiplex). * Handler for int 2fh (multiplex).
*/ */
void WINAPI DOSVM_Int2fHandler( CONTEXT86 *context ) void WINAPI DOSVM_Int2fHandler( CONTEXT *context )
{ {
TRACE("Subfunction 0x%X\n", AX_reg(context)); TRACE("Subfunction 0x%X\n", AX_reg(context));
@ -320,7 +320,7 @@ void WINAPI DOSVM_Int2fHandler( CONTEXT86 *context )
/********************************************************************** /**********************************************************************
* do_int2f_16 * do_int2f_16
*/ */
static void do_int2f_16( CONTEXT86 *context ) static void do_int2f_16( CONTEXT *context )
{ {
DWORD addr; DWORD addr;
@ -949,7 +949,7 @@ static void MSCDEX_Request(BYTE *driver_request, BOOL dorealmode)
MSCDEX_Dump("End", driver_request, dorealmode); MSCDEX_Dump("End", driver_request, dorealmode);
} }
static void MSCDEX_Handler(CONTEXT86* context) static void MSCDEX_Handler(CONTEXT* context)
{ {
int drive, count; int drive, count;
char* p; char* p;
@ -1044,8 +1044,8 @@ static void MSCDEX_Handler(CONTEXT86* context)
} }
/* prototypes */ /* prototypes */
static void WINAPI cdrom_strategy(CONTEXT86*ctx); static void WINAPI cdrom_strategy(CONTEXT*ctx);
static void WINAPI cdrom_interrupt(CONTEXT86*ctx); static void WINAPI cdrom_interrupt(CONTEXT*ctx);
/* device info */ /* device info */
static const WINEDEV cdromdev = static const WINEDEV cdromdev =
@ -1058,7 +1058,7 @@ static const WINEDEV cdromdev =
static REQUEST_HEADER *cdrom_driver_request; static REQUEST_HEADER *cdrom_driver_request;
/* Return to caller */ /* Return to caller */
static void do_lret(CONTEXT86*ctx) static void do_lret(CONTEXT*ctx)
{ {
WORD *stack = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegSs, ctx->Esp); WORD *stack = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegSs, ctx->Esp);
@ -1067,13 +1067,13 @@ static void do_lret(CONTEXT86*ctx)
ctx->Esp += 2*sizeof(WORD); ctx->Esp += 2*sizeof(WORD);
} }
static void WINAPI cdrom_strategy(CONTEXT86*ctx) static void WINAPI cdrom_strategy(CONTEXT*ctx)
{ {
cdrom_driver_request = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegEs, ctx->Ebx); cdrom_driver_request = CTX_SEG_OFF_TO_LIN(ctx, ctx->SegEs, ctx->Ebx);
do_lret( ctx ); do_lret( ctx );
} }
static void WINAPI cdrom_interrupt(CONTEXT86*ctx) static void WINAPI cdrom_interrupt(CONTEXT*ctx)
{ {
if (cdrom_driver_request->unit > CDROM_GetHeap()->hdr.units) if (cdrom_driver_request->unit > CDROM_GetHeap()->hdr.units)
cdrom_driver_request->status = STAT_ERROR | 1; /* unknown unit */ cdrom_driver_request->status = STAT_ERROR | 1; /* unknown unit */

View File

@ -151,7 +151,7 @@ static LONG WINAPI dpmi_exception_handler(EXCEPTION_POINTERS *eptr)
/********************************************************************** /**********************************************************************
* INT_GetRealModeContext * INT_GetRealModeContext
*/ */
static void INT_GetRealModeContext( REALMODECALL *call, CONTEXT86 *context ) static void INT_GetRealModeContext( REALMODECALL *call, CONTEXT *context )
{ {
context->Eax = call->eax; context->Eax = call->eax;
context->Ebx = call->ebx; context->Ebx = call->ebx;
@ -175,7 +175,7 @@ static void INT_GetRealModeContext( REALMODECALL *call, CONTEXT86 *context )
/********************************************************************** /**********************************************************************
* INT_SetRealModeContext * INT_SetRealModeContext
*/ */
static void INT_SetRealModeContext( REALMODECALL *call, CONTEXT86 *context ) static void INT_SetRealModeContext( REALMODECALL *call, CONTEXT *context )
{ {
call->eax = context->Eax; call->eax = context->Eax;
call->ebx = context->Ebx; call->ebx = context->Ebx;
@ -376,7 +376,7 @@ __ASM_GLOBAL_FUNC(DPMI_CallRMCB32,
* *
* This routine does the hard work of calling a callback procedure. * This routine does the hard work of calling a callback procedure.
*/ */
static void DPMI_CallRMCBProc( CONTEXT86 *context, RMCB *rmcb, WORD flag ) static void DPMI_CallRMCBProc( CONTEXT *context, RMCB *rmcb, WORD flag )
{ {
DWORD old_vif = get_vm86_teb_info()->dpmi_vif; DWORD old_vif = get_vm86_teb_info()->dpmi_vif;
@ -408,7 +408,7 @@ static void DPMI_CallRMCBProc( CONTEXT86 *context, RMCB *rmcb, WORD flag )
DPMI_CallRMCB32(rmcb, ss, esp, &es, &edi); DPMI_CallRMCB32(rmcb, ss, esp, &es, &edi);
} else { } else {
/* 16-bit DPMI client */ /* 16-bit DPMI client */
CONTEXT86 ctx = *context; CONTEXT ctx = *context;
ctx.SegCs = rmcb->proc_sel; ctx.SegCs = rmcb->proc_sel;
ctx.Eip = rmcb->proc_ofs; ctx.Eip = rmcb->proc_ofs;
ctx.SegDs = ss; ctx.SegDs = ss;
@ -434,7 +434,7 @@ static void DPMI_CallRMCBProc( CONTEXT86 *context, RMCB *rmcb, WORD flag )
* *
* This routine does the hard work of calling a real mode procedure. * This routine does the hard work of calling a real mode procedure.
*/ */
int DPMI_CallRMProc( CONTEXT86 *context, LPWORD stack, int args, int iret ) int DPMI_CallRMProc( CONTEXT *context, LPWORD stack, int args, int iret )
{ {
LPWORD stack16; LPWORD stack16;
LPVOID addr = NULL; /* avoid gcc warning */ LPVOID addr = NULL; /* avoid gcc warning */
@ -540,9 +540,9 @@ callrmproc_again:
/********************************************************************** /**********************************************************************
* CallRMInt * CallRMInt
*/ */
static void DOSVM_CallRMInt( CONTEXT86 *context ) static void DOSVM_CallRMInt( CONTEXT *context )
{ {
CONTEXT86 realmode_ctx; CONTEXT realmode_ctx;
FARPROC16 rm_int = DOSVM_GetRMHandler( BL_reg(context) ); FARPROC16 rm_int = DOSVM_GetRMHandler( BL_reg(context) );
REALMODECALL *call = CTX_SEG_OFF_TO_LIN( context, REALMODECALL *call = CTX_SEG_OFF_TO_LIN( context,
context->SegEs, context->SegEs,
@ -569,12 +569,12 @@ static void DOSVM_CallRMInt( CONTEXT86 *context )
/********************************************************************** /**********************************************************************
* CallRMProc * CallRMProc
*/ */
static void DOSVM_CallRMProc( CONTEXT86 *context, int iret ) static void DOSVM_CallRMProc( CONTEXT *context, int iret )
{ {
REALMODECALL *p = CTX_SEG_OFF_TO_LIN( context, REALMODECALL *p = CTX_SEG_OFF_TO_LIN( context,
context->SegEs, context->SegEs,
context->Edi ); context->Edi );
CONTEXT86 context16; CONTEXT context16;
TRACE("RealModeCall: EAX=%08x EBX=%08x ECX=%08x EDX=%08x\n", TRACE("RealModeCall: EAX=%08x EBX=%08x ECX=%08x EDX=%08x\n",
p->eax, p->ebx, p->ecx, p->edx); p->eax, p->ebx, p->ecx, p->edx);
@ -595,10 +595,10 @@ static void DOSVM_CallRMProc( CONTEXT86 *context, int iret )
/* (see dosmem.c, function DOSMEM_InitDPMI) */ /* (see dosmem.c, function DOSMEM_InitDPMI) */
static void StartPM( CONTEXT86 *context ) static void StartPM( CONTEXT *context )
{ {
UINT16 cs, ss, ds, es; UINT16 cs, ss, ds, es;
CONTEXT86 pm_ctx; CONTEXT pm_ctx;
DWORD psp_ofs = (DWORD)(DOSVM_psp<<4); DWORD psp_ofs = (DWORD)(DOSVM_psp<<4);
PDB16 *psp = (PDB16 *)psp_ofs; PDB16 *psp = (PDB16 *)psp_ofs;
HANDLE16 env_seg = psp->environment; HANDLE16 env_seg = psp->environment;
@ -731,9 +731,9 @@ static int DPMI_FreeRMCB( DWORD address )
* *
* DPMI Raw Mode Switch handler * DPMI Raw Mode Switch handler
*/ */
void WINAPI DOSVM_RawModeSwitchHandler( CONTEXT86 *context ) void WINAPI DOSVM_RawModeSwitchHandler( CONTEXT *context )
{ {
CONTEXT86 rm_ctx; CONTEXT rm_ctx;
int ret; int ret;
/* initialize real-mode context as per spec */ /* initialize real-mode context as per spec */
@ -792,7 +792,7 @@ void WINAPI DOSVM_RawModeSwitchHandler( CONTEXT86 *context )
/********************************************************************** /**********************************************************************
* AllocRMCB * AllocRMCB
*/ */
static void DOSVM_AllocRMCB( CONTEXT86 *context ) static void DOSVM_AllocRMCB( CONTEXT *context )
{ {
RMCB *NewRMCB = DPMI_AllocRMCB(); RMCB *NewRMCB = DPMI_AllocRMCB();
@ -818,7 +818,7 @@ static void DOSVM_AllocRMCB( CONTEXT86 *context )
/********************************************************************** /**********************************************************************
* FreeRMCB * FreeRMCB
*/ */
static void DOSVM_FreeRMCB( CONTEXT86 *context ) static void DOSVM_FreeRMCB( CONTEXT *context )
{ {
FIXME("callback address: %04x:%04x\n", FIXME("callback address: %04x:%04x\n",
CX_reg(context), DX_reg(context)); CX_reg(context), DX_reg(context));
@ -839,7 +839,7 @@ static BYTE * XMS_Offset( MOVEOFS *ofs )
/********************************************************************** /**********************************************************************
* XMS_Handler * XMS_Handler
*/ */
static void XMS_Handler( CONTEXT86 *context ) static void XMS_Handler( CONTEXT *context )
{ {
switch(AH_reg(context)) switch(AH_reg(context))
{ {
@ -920,7 +920,7 @@ static void XMS_Handler( CONTEXT86 *context )
* *
* Check if this was really a wrapper call instead of an interrupt. * Check if this was really a wrapper call instead of an interrupt.
*/ */
BOOL DOSVM_CheckWrappers( CONTEXT86 *context ) BOOL DOSVM_CheckWrappers( CONTEXT *context )
{ {
if (context->SegCs==DOSVM_dpmi_segments->dpmi_seg) { if (context->SegCs==DOSVM_dpmi_segments->dpmi_seg) {
/* This is the protected mode switch */ /* This is the protected mode switch */
@ -956,7 +956,7 @@ BOOL DOSVM_CheckWrappers( CONTEXT86 *context )
* *
* Handler for int 31h (DPMI). * Handler for int 31h (DPMI).
*/ */
void WINAPI DOSVM_Int31Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int31Handler( CONTEXT *context )
{ {
RESET_CFLAG(context); RESET_CFLAG(context);
switch(AX_reg(context)) switch(AX_reg(context))

View File

@ -50,7 +50,7 @@ static struct
* - subfunction 0x00 (reset mouse) * - subfunction 0x00 (reset mouse)
* - subfunction 0x21 (software reset) * - subfunction 0x21 (software reset)
*/ */
static void INT33_ResetMouse( CONTEXT86 *context ) static void INT33_ResetMouse( CONTEXT *context )
{ {
memset( &mouse_info, 0, sizeof(mouse_info) ); memset( &mouse_info, 0, sizeof(mouse_info) );
@ -75,7 +75,7 @@ static void INT33_ResetMouse( CONTEXT86 *context )
* *
* Handler for int 33h (MS MOUSE). * Handler for int 33h (MS MOUSE).
*/ */
void WINAPI DOSVM_Int33Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int33Handler( CONTEXT *context )
{ {
switch (AX_reg(context)) switch (AX_reg(context))
{ {
@ -199,10 +199,10 @@ typedef struct {
WORD mask,but,x,y,mx,my; WORD mask,but,x,y,mx,my;
} MCALLDATA; } MCALLDATA;
static void MouseRelay(CONTEXT86 *context,void *mdata) static void MouseRelay(CONTEXT *context,void *mdata)
{ {
MCALLDATA *data = mdata; MCALLDATA *data = mdata;
CONTEXT86 ctx = *context; CONTEXT ctx = *context;
if (!ISV86(&ctx)) if (!ISV86(&ctx))
{ {

View File

@ -109,7 +109,7 @@ static void EMS_init(void)
* *
* Get handle and allocate memory. * Get handle and allocate memory.
*/ */
static void EMS_alloc( CONTEXT86 *context ) static void EMS_alloc( CONTEXT *context )
{ {
int hindex = 1; /* handle zero is reserved for system */ int hindex = 1; /* handle zero is reserved for system */
@ -140,7 +140,7 @@ static void EMS_alloc( CONTEXT86 *context )
* *
* Get/set handle name. * Get/set handle name.
*/ */
static void EMS_access_name( CONTEXT86 *context ) static void EMS_access_name( CONTEXT *context )
{ {
char *ptr; char *ptr;
int hindex = DX_reg(context); int hindex = DX_reg(context);
@ -220,7 +220,7 @@ static BYTE EMS_map( WORD physical_page, WORD new_hindex, WORD new_logical_page
* *
* Map multiple logical pages into physical pages. * Map multiple logical pages into physical pages.
*/ */
static void EMS_map_multiple( CONTEXT86 *context ) static void EMS_map_multiple( CONTEXT *context )
{ {
WORD *ptr = PTR_REAL_TO_LIN(context->SegDs, SI_reg(context)); WORD *ptr = PTR_REAL_TO_LIN(context->SegDs, SI_reg(context));
BYTE status = 0; BYTE status = 0;
@ -248,7 +248,7 @@ static void EMS_map_multiple( CONTEXT86 *context )
* *
* Free memory and release handle. * Free memory and release handle.
*/ */
static void EMS_free( CONTEXT86 *context ) static void EMS_free( CONTEXT *context )
{ {
int hindex = DX_reg(context); int hindex = DX_reg(context);
int i; int i;
@ -282,7 +282,7 @@ static void EMS_free( CONTEXT86 *context )
* *
* Save physical page mappings into handle specific save area. * Save physical page mappings into handle specific save area.
*/ */
static void EMS_save_context( CONTEXT86 *context ) static void EMS_save_context( CONTEXT *context )
{ {
WORD h = DX_reg(context); WORD h = DX_reg(context);
int i; int i;
@ -301,7 +301,7 @@ static void EMS_save_context( CONTEXT86 *context )
* *
* Restore physical page mappings from handle specific save area. * Restore physical page mappings from handle specific save area.
*/ */
static void EMS_restore_context( CONTEXT86 *context ) static void EMS_restore_context( CONTEXT *context )
{ {
WORD handle = DX_reg(context); WORD handle = DX_reg(context);
int i; int i;
@ -324,7 +324,7 @@ static void EMS_restore_context( CONTEXT86 *context )
* *
* Handler for interrupt 67h EMS routines. * Handler for interrupt 67h EMS routines.
*/ */
void WINAPI DOSVM_Int67Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int67Handler( CONTEXT *context )
{ {
switch AH_reg(context) { switch AH_reg(context) {
@ -461,7 +461,7 @@ void WINAPI DOSVM_Int67Handler( CONTEXT86 *context )
* *
* Handler for interrupt 21h IOCTL routine for device "EMMXXXX0". * Handler for interrupt 21h IOCTL routine for device "EMMXXXX0".
*/ */
void EMS_Ioctl_Handler( CONTEXT86 *context ) void EMS_Ioctl_Handler( CONTEXT *context )
{ {
assert(AH_reg(context) == 0x44); assert(AH_reg(context) == 0x44);

View File

@ -34,18 +34,18 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
#define BCD_TO_BIN(x) ((x&15) + (x>>4)*10) #define BCD_TO_BIN(x) ((x&15) + (x>>4)*10)
#define BIN_TO_BCD(x) ((x%10) + ((x/10)<<4)) #define BIN_TO_BCD(x) ((x%10) + ((x/10)<<4))
static void WINAPI DOSVM_Int11Handler(CONTEXT86*); static void WINAPI DOSVM_Int11Handler(CONTEXT*);
static void WINAPI DOSVM_Int12Handler(CONTEXT86*); static void WINAPI DOSVM_Int12Handler(CONTEXT*);
static void WINAPI DOSVM_Int17Handler(CONTEXT86*); static void WINAPI DOSVM_Int17Handler(CONTEXT*);
static void WINAPI DOSVM_Int19Handler(CONTEXT86*); static void WINAPI DOSVM_Int19Handler(CONTEXT*);
static void WINAPI DOSVM_Int1aHandler(CONTEXT86*); static void WINAPI DOSVM_Int1aHandler(CONTEXT*);
static void WINAPI DOSVM_Int20Handler(CONTEXT86*); static void WINAPI DOSVM_Int20Handler(CONTEXT*);
static void WINAPI DOSVM_Int29Handler(CONTEXT86*); static void WINAPI DOSVM_Int29Handler(CONTEXT*);
static void WINAPI DOSVM_Int2aHandler(CONTEXT86*); static void WINAPI DOSVM_Int2aHandler(CONTEXT*);
static void WINAPI DOSVM_Int41Handler(CONTEXT86*); static void WINAPI DOSVM_Int41Handler(CONTEXT*);
static void WINAPI DOSVM_Int4bHandler(CONTEXT86*); static void WINAPI DOSVM_Int4bHandler(CONTEXT*);
static void WINAPI DOSVM_Int5cHandler(CONTEXT86*); static void WINAPI DOSVM_Int5cHandler(CONTEXT*);
static void WINAPI DOSVM_DefaultHandler(CONTEXT86*); static void WINAPI DOSVM_DefaultHandler(CONTEXT*);
static FARPROC16 DOSVM_Vectors16[256]; static FARPROC16 DOSVM_Vectors16[256];
static FARPROC48 DOSVM_Vectors48[256]; static FARPROC48 DOSVM_Vectors48[256];
@ -133,7 +133,7 @@ static BOOL DOSVM_IsIRQ( BYTE intnum )
* Default interrupt handler. This will be used to emulate all * Default interrupt handler. This will be used to emulate all
* interrupts that don't have their own interrupt handler. * interrupts that don't have their own interrupt handler.
*/ */
static void WINAPI DOSVM_DefaultHandler( CONTEXT86 *context ) static void WINAPI DOSVM_DefaultHandler( CONTEXT *context )
{ {
} }
@ -165,7 +165,7 @@ static INTPROC DOSVM_GetBuiltinHandler( BYTE intnum )
* *
* Simple DOSRELAY that interprets its argument as INTPROC and calls it. * Simple DOSRELAY that interprets its argument as INTPROC and calls it.
*/ */
static void DOSVM_IntProcRelay( CONTEXT86 *context, LPVOID data ) static void DOSVM_IntProcRelay( CONTEXT *context, LPVOID data )
{ {
INTPROC proc = (INTPROC)data; INTPROC proc = (INTPROC)data;
proc(context); proc(context);
@ -176,7 +176,7 @@ static void DOSVM_IntProcRelay( CONTEXT86 *context, LPVOID data )
* DOSVM_PrepareIRQ * DOSVM_PrepareIRQ
* *
*/ */
static void DOSVM_PrepareIRQ( CONTEXT86 *context, BOOL isbuiltin ) static void DOSVM_PrepareIRQ( CONTEXT *context, BOOL isbuiltin )
{ {
/* Disable virtual interrupts. */ /* Disable virtual interrupts. */
get_vm86_teb_info()->dpmi_vif = 0; get_vm86_teb_info()->dpmi_vif = 0;
@ -207,7 +207,7 @@ static void DOSVM_PrepareIRQ( CONTEXT86 *context, BOOL isbuiltin )
* so that it actually contains two copies of eflags, one of which is * so that it actually contains two copies of eflags, one of which is
* popped during return from interrupt handler. * popped during return from interrupt handler.
*/ */
static void DOSVM_PushFlags( CONTEXT86 *context, BOOL islong, BOOL isstub ) static void DOSVM_PushFlags( CONTEXT *context, BOOL islong, BOOL isstub )
{ {
if (islong) if (islong)
{ {
@ -259,7 +259,7 @@ static void DOSVM_PushFlags( CONTEXT86 *context, BOOL islong, BOOL isstub )
* Pushes interrupt frame to stack and changes instruction * Pushes interrupt frame to stack and changes instruction
* pointer to interrupt handler. * pointer to interrupt handler.
*/ */
BOOL DOSVM_EmulateInterruptPM( CONTEXT86 *context, BYTE intnum ) BOOL DOSVM_EmulateInterruptPM( CONTEXT *context, BYTE intnum )
{ {
TRACE_(relay)("Call DOS int 0x%02x ret=%04x:%08x\n" TRACE_(relay)("Call DOS int 0x%02x ret=%04x:%08x\n"
" eax=%08x ebx=%08x ecx=%08x edx=%08x\n" " eax=%08x ebx=%08x ecx=%08x edx=%08x\n"
@ -351,7 +351,7 @@ BOOL DOSVM_EmulateInterruptPM( CONTEXT86 *context, BYTE intnum )
* Pushes interrupt frame to stack and changes instruction * Pushes interrupt frame to stack and changes instruction
* pointer to interrupt handler. * pointer to interrupt handler.
*/ */
void DOSVM_HardwareInterruptPM( CONTEXT86 *context, BYTE intnum ) void DOSVM_HardwareInterruptPM( CONTEXT *context, BYTE intnum )
{ {
if(DOSVM_IsDos32()) if(DOSVM_IsDos32())
{ {
@ -448,7 +448,7 @@ void DOSVM_HardwareInterruptPM( CONTEXT86 *context, BYTE intnum )
* Returns FALSE if this interrupt was caused by return * Returns FALSE if this interrupt was caused by return
* from real mode wrapper. * from real mode wrapper.
*/ */
BOOL DOSVM_EmulateInterruptRM( CONTEXT86 *context, BYTE intnum ) BOOL DOSVM_EmulateInterruptRM( CONTEXT *context, BYTE intnum )
{ {
TRACE_(relay)("Call DOS int 0x%02x ret=%04x:%08x\n" TRACE_(relay)("Call DOS int 0x%02x ret=%04x:%08x\n"
" eax=%08x ebx=%08x ecx=%08x edx=%08x\n" " eax=%08x ebx=%08x ecx=%08x edx=%08x\n"
@ -508,7 +508,7 @@ BOOL DOSVM_EmulateInterruptRM( CONTEXT86 *context, BYTE intnum )
* Either calls directly builtin handler or pushes interrupt frame to * Either calls directly builtin handler or pushes interrupt frame to
* stack and changes instruction pointer to interrupt handler. * stack and changes instruction pointer to interrupt handler.
*/ */
void DOSVM_HardwareInterruptRM( CONTEXT86 *context, BYTE intnum ) void DOSVM_HardwareInterruptRM( CONTEXT *context, BYTE intnum )
{ {
FARPROC16 handler = DOSVM_GetRMHandler( intnum ); FARPROC16 handler = DOSVM_GetRMHandler( intnum );
@ -703,7 +703,7 @@ void DOSVM_SetPMHandler48( BYTE intnum, FARPROC48 handler )
* *
* Execute Wine interrupt handler procedure. * Execute Wine interrupt handler procedure.
*/ */
void DOSVM_CallBuiltinHandler( CONTEXT86 *context, BYTE intnum ) void DOSVM_CallBuiltinHandler( CONTEXT *context, BYTE intnum )
{ {
/* /*
* FIXME: Make all builtin interrupt calls go via this routine. * FIXME: Make all builtin interrupt calls go via this routine.
@ -719,7 +719,7 @@ void DOSVM_CallBuiltinHandler( CONTEXT86 *context, BYTE intnum )
/********************************************************************** /**********************************************************************
* __wine_call_int_handler (KERNEL.@) * __wine_call_int_handler (KERNEL.@)
*/ */
void __wine_call_int_handler( CONTEXT86 *context, BYTE intnum ) void __wine_call_int_handler( CONTEXT *context, BYTE intnum )
{ {
DOSMEM_InitDosMemory(); DOSMEM_InitDosMemory();
DOSVM_CallBuiltinHandler( context, intnum ); DOSVM_CallBuiltinHandler( context, intnum );
@ -762,7 +762,7 @@ void __wine_call_int_handler( CONTEXT86 *context, BYTE intnum )
* All *nix systems either have a math processor or * All *nix systems either have a math processor or
* emulate one. * emulate one.
*/ */
static void WINAPI DOSVM_Int11Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int11Handler( CONTEXT *context )
{ {
int diskdrives = 0; int diskdrives = 0;
int parallelports = 0; int parallelports = 0;
@ -812,7 +812,7 @@ static void WINAPI DOSVM_Int11Handler( CONTEXT86 *context )
* *
* Handler for int 12h (get memory size). * Handler for int 12h (get memory size).
*/ */
static void WINAPI DOSVM_Int12Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int12Handler( CONTEXT *context )
{ {
SET_AX( context, 640 ); SET_AX( context, 640 );
} }
@ -823,7 +823,7 @@ static void WINAPI DOSVM_Int12Handler( CONTEXT86 *context )
* *
* Handler for int 17h (printer - output character). * Handler for int 17h (printer - output character).
*/ */
static void WINAPI DOSVM_Int17Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int17Handler( CONTEXT *context )
{ {
switch( AH_reg(context) ) switch( AH_reg(context) )
{ {
@ -850,7 +850,7 @@ static void WINAPI DOSVM_Int17Handler( CONTEXT86 *context )
* *
* Handler for int 19h (Reboot). * Handler for int 19h (Reboot).
*/ */
static void WINAPI DOSVM_Int19Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int19Handler( CONTEXT *context )
{ {
TRACE( "Attempted Reboot\n" ); TRACE( "Attempted Reboot\n" );
ExitProcess(0); ExitProcess(0);
@ -862,7 +862,7 @@ static void WINAPI DOSVM_Int19Handler( CONTEXT86 *context )
* *
* Handler for int 1ah. * Handler for int 1ah.
*/ */
static void WINAPI DOSVM_Int1aHandler( CONTEXT86 *context ) static void WINAPI DOSVM_Int1aHandler( CONTEXT *context )
{ {
switch(AH_reg(context)) switch(AH_reg(context))
{ {
@ -961,7 +961,7 @@ static void WINAPI DOSVM_Int1aHandler( CONTEXT86 *context )
* *
* Handler for int 20h. * Handler for int 20h.
*/ */
static void WINAPI DOSVM_Int20Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int20Handler( CONTEXT *context )
{ {
if (DOSVM_IsWin16()) if (DOSVM_IsWin16())
DOSVM_Exit( 0 ); DOSVM_Exit( 0 );
@ -977,7 +977,7 @@ static void WINAPI DOSVM_Int20Handler( CONTEXT86 *context )
* *
* Handler for int 29h (fast console output) * Handler for int 29h (fast console output)
*/ */
static void WINAPI DOSVM_Int29Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int29Handler( CONTEXT *context )
{ {
/* Yes, it seems that this is really all this interrupt does. */ /* Yes, it seems that this is really all this interrupt does. */
DOSVM_PutChar(AL_reg(context)); DOSVM_PutChar(AL_reg(context));
@ -989,7 +989,7 @@ static void WINAPI DOSVM_Int29Handler( CONTEXT86 *context )
* *
* Handler for int 2ah (network). * Handler for int 2ah (network).
*/ */
static void WINAPI DOSVM_Int2aHandler( CONTEXT86 *context ) static void WINAPI DOSVM_Int2aHandler( CONTEXT *context )
{ {
switch(AH_reg(context)) switch(AH_reg(context))
{ {
@ -1005,7 +1005,7 @@ static void WINAPI DOSVM_Int2aHandler( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* DOSVM_Int41Handler * DOSVM_Int41Handler
*/ */
static void WINAPI DOSVM_Int41Handler( CONTEXT86 *context ) static void WINAPI DOSVM_Int41Handler( CONTEXT *context )
{ {
if ( ISV86(context) ) if ( ISV86(context) )
{ {
@ -1049,7 +1049,7 @@ static void WINAPI DOSVM_Int41Handler( CONTEXT86 *context )
* DOSVM_Int4bHandler * DOSVM_Int4bHandler
* *
*/ */
static void WINAPI DOSVM_Int4bHandler( CONTEXT86 *context ) static void WINAPI DOSVM_Int4bHandler( CONTEXT *context )
{ {
switch(AH_reg(context)) switch(AH_reg(context))
{ {
@ -1071,7 +1071,7 @@ static void WINAPI DOSVM_Int4bHandler( CONTEXT86 *context )
* *
* Called from NetBIOSCall16. * Called from NetBIOSCall16.
*/ */
static void WINAPI DOSVM_Int5cHandler( CONTEXT86 *context ) static void WINAPI DOSVM_Int5cHandler( CONTEXT *context )
{ {
BYTE* ptr; BYTE* ptr;
ptr = MapSL( MAKESEGPTR(context->SegEs,BX_reg(context)) ); ptr = MapSL( MAKESEGPTR(context->SegEs,BX_reg(context)) );

View File

@ -208,7 +208,7 @@ extern BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, void *ptr, DWORD size );
extern HGLOBAL16 GLOBAL_Alloc( WORD flags, DWORD size, HGLOBAL16 hOwner, unsigned char selflags ); extern HGLOBAL16 GLOBAL_Alloc( WORD flags, DWORD size, HGLOBAL16 hOwner, unsigned char selflags );
/* instr.c */ /* instr.c */
extern DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT86 *context ); extern DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context );
extern LONG CALLBACK INSTR_vectored_handler( EXCEPTION_POINTERS *ptrs ); extern LONG CALLBACK INSTR_vectored_handler( EXCEPTION_POINTERS *ptrs );
/* ne_module.c */ /* ne_module.c */
@ -237,7 +237,7 @@ extern void SELECTOR_FreeBlock( WORD sel );
(wine_ldt_is_system(sel) || (wine_ldt_copy.flags[LOWORD(sel) >> 3] & WINE_LDT_FLAGS_32BIT)) (wine_ldt_is_system(sel) || (wine_ldt_copy.flags[LOWORD(sel) >> 3] & WINE_LDT_FLAGS_32BIT))
/* relay16.c */ /* relay16.c */
extern int relay_call_from_16( void *entry_point, unsigned char *args16, CONTEXT86 *context ); extern int relay_call_from_16( void *entry_point, unsigned char *args16, CONTEXT *context );
/* snoop16.c */ /* snoop16.c */
extern void SNOOP16_RegisterDLL(HMODULE16,LPCSTR); extern void SNOOP16_RegisterDLL(HMODULE16,LPCSTR);

View File

@ -1219,7 +1219,7 @@ DWORD NE_StartTask(void)
if ( hInstance >= 32 ) if ( hInstance >= 32 )
{ {
CONTEXT86 context; CONTEXT context;
/* Enter instance handles into task struct */ /* Enter instance handles into task struct */
@ -2049,7 +2049,7 @@ HMODULE WINAPI MapHModuleSL(HMODULE16 hmod)
/*************************************************************************** /***************************************************************************
* MapHInstLS (KERNEL.472) * MapHInstLS (KERNEL.472)
*/ */
void WINAPI MapHInstLS16( CONTEXT86 *context ) void WINAPI MapHInstLS16( CONTEXT *context )
{ {
context->Eax = MapHModuleLS( (HMODULE)context->Eax ); context->Eax = MapHModuleLS( (HMODULE)context->Eax );
} }
@ -2057,7 +2057,7 @@ void WINAPI MapHInstLS16( CONTEXT86 *context )
/*************************************************************************** /***************************************************************************
* MapHInstSL (KERNEL.473) * MapHInstSL (KERNEL.473)
*/ */
void WINAPI MapHInstSL16( CONTEXT86 *context ) void WINAPI MapHInstSL16( CONTEXT *context )
{ {
context->Eax = (DWORD)MapHModuleSL( context->Eax ); context->Eax = (DWORD)MapHModuleSL( context->Eax );
} }

View File

@ -660,7 +660,7 @@ static BOOL NE_InitDLL( NE_MODULE *pModule )
{ {
SEGTABLEENTRY *pSegTable; SEGTABLEENTRY *pSegTable;
WORD hInst, ds, heap; WORD hInst, ds, heap;
CONTEXT86 context; CONTEXT context;
pSegTable = NE_SEG_TABLE( pModule ); pSegTable = NE_SEG_TABLE( pModule );
@ -787,7 +787,7 @@ static void NE_CallDllEntryPoint( NE_MODULE *pModule, DWORD dwReason )
} }
else else
{ {
CONTEXT86 context; CONTEXT context;
WORD args[8]; WORD args[8];
memset( &context, 0, sizeof(context) ); memset( &context, 0, sizeof(context) );

View File

@ -338,7 +338,7 @@ __ASM_GLOBAL_FUNC( call_entry_point,
* *
* Same as relay_call_from_16 but doesn't print any debug information. * Same as relay_call_from_16 but doesn't print any debug information.
*/ */
static int relay_call_from_16_no_debug( void *entry_point, unsigned char *args16, CONTEXT86 *context, static int relay_call_from_16_no_debug( void *entry_point, unsigned char *args16, CONTEXT *context,
const CALLFROM16 *call ) const CALLFROM16 *call )
{ {
unsigned int i, j, nb_args = 0; unsigned int i, j, nb_args = 0;
@ -432,7 +432,7 @@ static int relay_call_from_16_no_debug( void *entry_point, unsigned char *args16
* *
* Replacement for the 16-bit relay functions when relay debugging is on. * Replacement for the 16-bit relay functions when relay debugging is on.
*/ */
int relay_call_from_16( void *entry_point, unsigned char *args16, CONTEXT86 *context ) int relay_call_from_16( void *entry_point, unsigned char *args16, CONTEXT *context )
{ {
STACK16FRAME *frame; STACK16FRAME *frame;
WORD ordinal; WORD ordinal;
@ -620,7 +620,7 @@ static RELAY_Stack16 *RELAY_GetPointer( DWORD offset )
* Note: This might be called from signal handler, so the stack * Note: This might be called from signal handler, so the stack
* allocation algorithm must be signal safe. * allocation algorithm must be signal safe.
*/ */
static void RELAY_MakeShortContext( CONTEXT86 *context ) static void RELAY_MakeShortContext( CONTEXT *context )
{ {
DWORD offset = offsetof(RELAY_Stack16, stack_top); DWORD offset = offsetof(RELAY_Stack16, stack_top);
RELAY_Stack16 *stack = RELAY_GetPointer( 0 ); RELAY_Stack16 *stack = RELAY_GetPointer( 0 );
@ -655,7 +655,7 @@ static void RELAY_MakeShortContext( CONTEXT86 *context )
* This stub is called by __wine_call_from_16_regs in order to marshall * This stub is called by __wine_call_from_16_regs in order to marshall
* relay parameters. * relay parameters.
*/ */
static void __stdcall RELAY_RelayStub( DOSRELAY proc, unsigned char *args, CONTEXT86 *context ) static void __stdcall RELAY_RelayStub( DOSRELAY proc, unsigned char *args, CONTEXT *context )
{ {
if (proc) if (proc)
{ {
@ -691,7 +691,7 @@ static void __stdcall RELAY_RelayStub( DOSRELAY proc, unsigned char *args, CONTE
* *
* Restore saved code and stack pointers and release stack block. * Restore saved code and stack pointers and release stack block.
*/ */
void DOSVM_RelayHandler( CONTEXT86 *context ) void DOSVM_RelayHandler( CONTEXT *context )
{ {
RELAY_Stack16 *stack = RELAY_GetPointer( context->Esp ); RELAY_Stack16 *stack = RELAY_GetPointer( context->Esp );
@ -715,7 +715,7 @@ void DOSVM_RelayHandler( CONTEXT86 *context )
* Modifies the context so that return to context calls DOSRELAY and * Modifies the context so that return to context calls DOSRELAY and
* only after return from DOSRELAY the original context will be returned to. * only after return from DOSRELAY the original context will be returned to.
*/ */
void DOSVM_BuildCallFrame( CONTEXT86 *context, DOSRELAY relay, LPVOID data ) void DOSVM_BuildCallFrame( CONTEXT *context, DOSRELAY relay, LPVOID data )
{ {
WORD code_sel = DOSVM_dpmi_segments->relay_code_sel; WORD code_sel = DOSVM_dpmi_segments->relay_code_sel;

View File

@ -38,8 +38,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(snoop);
#include "pshpack1.h" #include "pshpack1.h"
static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT86 *context); static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT *context);
static void WINAPI SNOOP16_Return(FARPROC proc, LPBYTE args, CONTEXT86 *context); static void WINAPI SNOOP16_Return(FARPROC proc, LPBYTE args, CONTEXT *context);
typedef struct tagSNOOP16_FUN { typedef struct tagSNOOP16_FUN {
/* code part */ /* code part */
@ -237,7 +237,7 @@ SNOOP16_GetProcAddress16(HMODULE16 hmod,DWORD ordinal,FARPROC16 origfun) {
} }
#define CALLER1REF (*(DWORD*)(MapSL( MAKESEGPTR(context->SegSs,LOWORD(context->Esp)+4)))) #define CALLER1REF (*(DWORD*)(MapSL( MAKESEGPTR(context->SegSs,LOWORD(context->Esp)+4))))
static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT86 *context) { static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT *context) {
DWORD ordinal=0; DWORD ordinal=0;
DWORD entry=(DWORD)MapSL( MAKESEGPTR(context->SegCs,LOWORD(context->Eip)) )-5; DWORD entry=(DWORD)MapSL( MAKESEGPTR(context->SegCs,LOWORD(context->Eip)) )-5;
WORD xcs = context->SegCs; WORD xcs = context->SegCs;
@ -304,7 +304,7 @@ static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT86 *context)
DPRINTF(") ret=%04x:%04x\n",HIWORD(ret->origreturn),LOWORD(ret->origreturn)); DPRINTF(") ret=%04x:%04x\n",HIWORD(ret->origreturn),LOWORD(ret->origreturn));
} }
static void WINAPI SNOOP16_Return(FARPROC proc, LPBYTE args, CONTEXT86 *context) { static void WINAPI SNOOP16_Return(FARPROC proc, LPBYTE args, CONTEXT *context) {
SNOOP16_RETURNENTRY *ret = (SNOOP16_RETURNENTRY*)((char *) MapSL( MAKESEGPTR(context->SegCs,LOWORD(context->Eip)) )-5); SNOOP16_RETURNENTRY *ret = (SNOOP16_RETURNENTRY*)((char *) MapSL( MAKESEGPTR(context->SegCs,LOWORD(context->Eip)) )-5);
/* We haven't found out the nrofargs yet. If we called a cdecl /* We haven't found out the nrofargs yet. If we called a cdecl

View File

@ -615,7 +615,7 @@ void WINAPI ExitKernel16(void)
* *
* Called by the application startup code. * Called by the application startup code.
*/ */
void WINAPI InitTask16( CONTEXT86 *context ) void WINAPI InitTask16( CONTEXT *context )
{ {
TDB *pTask; TDB *pTask;
INSTANCEDATA *pinstance; INSTANCEDATA *pinstance;
@ -1136,7 +1136,7 @@ void WINAPI SwitchStackTo16( WORD seg, WORD ptr, WORD top )
/*********************************************************************** /***********************************************************************
* SwitchStackBack (KERNEL.109) * SwitchStackBack (KERNEL.109)
*/ */
void WINAPI SwitchStackBack16( CONTEXT86 *context ) void WINAPI SwitchStackBack16( CONTEXT *context )
{ {
STACK16FRAME *oldFrame, *newFrame; STACK16FRAME *oldFrame, *newFrame;
INSTANCEDATA *pData; INSTANCEDATA *pData;

View File

@ -154,14 +154,14 @@ extern void QT_Thunk(void);
extern void QT_ThunkPrime(void); extern void QT_ThunkPrime(void);
/* Push a DWORD on the 32-bit stack */ /* Push a DWORD on the 32-bit stack */
static inline void stack32_push( CONTEXT86 *context, DWORD val ) static inline void stack32_push( CONTEXT *context, DWORD val )
{ {
context->Esp -= sizeof(DWORD); context->Esp -= sizeof(DWORD);
*(DWORD *)context->Esp = val; *(DWORD *)context->Esp = val;
} }
/* Pop a DWORD from the 32-bit stack */ /* Pop a DWORD from the 32-bit stack */
static inline DWORD stack32_pop( CONTEXT86 *context ) static inline DWORD stack32_pop( CONTEXT *context )
{ {
DWORD ret = *(DWORD *)context->Esp; DWORD ret = *(DWORD *)context->Esp;
context->Esp += sizeof(DWORD); context->Esp += sizeof(DWORD);
@ -187,7 +187,7 @@ void WINAPI LogApiThk( LPSTR func )
* *
* NOTE: needs to preserve all registers! * NOTE: needs to preserve all registers!
*/ */
void WINAPI __regs_LogApiThkLSF( LPSTR func, CONTEXT86 *context ) void WINAPI __regs_LogApiThkLSF( LPSTR func, CONTEXT *context )
{ {
TRACE( "%s\n", debugstr_a(func) ); TRACE( "%s\n", debugstr_a(func) );
} }
@ -198,7 +198,7 @@ DEFINE_REGS_ENTRYPOINT( LogApiThkLSF, 1 )
* *
* NOTE: needs to preserve all registers! * NOTE: needs to preserve all registers!
*/ */
void WINAPI __regs_LogApiThkSL( LPSTR func, CONTEXT86 *context ) void WINAPI __regs_LogApiThkSL( LPSTR func, CONTEXT *context )
{ {
TRACE( "%s\n", debugstr_a(func) ); TRACE( "%s\n", debugstr_a(func) );
} }
@ -209,7 +209,7 @@ DEFINE_REGS_ENTRYPOINT( LogApiThkSL, 1 )
* *
* NOTE: needs to preserve all registers! * NOTE: needs to preserve all registers!
*/ */
void WINAPI __regs_LogCBThkSL( LPSTR func, CONTEXT86 *context ) void WINAPI __regs_LogCBThkSL( LPSTR func, CONTEXT *context )
{ {
TRACE( "%s\n", debugstr_a(func) ); TRACE( "%s\n", debugstr_a(func) );
} }
@ -451,9 +451,9 @@ UINT WINAPI ThunkConnect32(
* FIXME: DDJ talks of certain register usage rules; I'm not sure * FIXME: DDJ talks of certain register usage rules; I'm not sure
* whether we cover this 100%. * whether we cover this 100%.
*/ */
void WINAPI __regs_QT_Thunk( CONTEXT86 *context ) void WINAPI __regs_QT_Thunk( CONTEXT *context )
{ {
CONTEXT86 context16; CONTEXT context16;
DWORD argsize; DWORD argsize;
context16 = *context; context16 = *context;
@ -534,7 +534,7 @@ DEFINE_REGS_ENTRYPOINT( QT_Thunk, 0 )
* ESP is EBP-64 after return. * ESP is EBP-64 after return.
* *
*/ */
void WINAPI __regs_FT_Prolog( CONTEXT86 *context ) void WINAPI __regs_FT_Prolog( CONTEXT *context )
{ {
/* Build stack frame */ /* Build stack frame */
stack32_push(context, context->Ebp); stack32_push(context, context->Ebp);
@ -576,12 +576,12 @@ DEFINE_REGS_ENTRYPOINT( FT_Prolog, 0 )
* of arguments, so that the single DWORD bitmap is no longer * of arguments, so that the single DWORD bitmap is no longer
* sufficient ... * sufficient ...
*/ */
void WINAPI __regs_FT_Thunk( CONTEXT86 *context ) void WINAPI __regs_FT_Thunk( CONTEXT *context )
{ {
DWORD mapESPrelative = *(DWORD *)(context->Ebp - 20); DWORD mapESPrelative = *(DWORD *)(context->Ebp - 20);
DWORD callTarget = *(DWORD *)(context->Ebp - 52); DWORD callTarget = *(DWORD *)(context->Ebp - 52);
CONTEXT86 context16; CONTEXT context16;
DWORD i, argsize; DWORD i, argsize;
DWORD newstack[32]; DWORD newstack[32];
LPBYTE oldstack; LPBYTE oldstack;
@ -740,9 +740,9 @@ DWORD WINAPI ThunkInitLS(
* in the BL register by the called 16-bit routine. * in the BL register by the called 16-bit routine.
* *
*/ */
void WINAPI __regs_Common32ThkLS( CONTEXT86 *context ) void WINAPI __regs_Common32ThkLS( CONTEXT *context )
{ {
CONTEXT86 context16; CONTEXT context16;
DWORD argsize; DWORD argsize;
context16 = *context; context16 = *context;
@ -799,9 +799,9 @@ DEFINE_REGS_ENTRYPOINT( Common32ThkLS, 0 )
* (Note that this function seems only to be used for * (Note that this function seems only to be used for
* OLECLI32 -> OLECLI and OLESVR32 -> OLESVR thunking.) * OLECLI32 -> OLECLI and OLESVR32 -> OLESVR thunking.)
*/ */
void WINAPI __regs_OT_32ThkLSF( CONTEXT86 *context ) void WINAPI __regs_OT_32ThkLSF( CONTEXT *context )
{ {
CONTEXT86 context16; CONTEXT context16;
DWORD argsize; DWORD argsize;
context16 = *context; context16 = *context;
@ -907,7 +907,7 @@ LPVOID WINAPI ThunkInitLSF(
* Note: The two DWORD arguments get popped off the stack. * Note: The two DWORD arguments get popped off the stack.
* *
*/ */
void WINAPI __regs_FT_PrologPrime( CONTEXT86 *context ) void WINAPI __regs_FT_PrologPrime( CONTEXT *context )
{ {
DWORD targetTableOffset; DWORD targetTableOffset;
LPBYTE relayCode; LPBYTE relayCode;
@ -937,7 +937,7 @@ DEFINE_REGS_ENTRYPOINT( FT_PrologPrime, 0 )
* EAX start of relay code * EAX start of relay code
* *
*/ */
void WINAPI __regs_QT_ThunkPrime( CONTEXT86 *context ) void WINAPI __regs_QT_ThunkPrime( CONTEXT *context )
{ {
DWORD targetTableOffset; DWORD targetTableOffset;
LPBYTE relayCode; LPBYTE relayCode;
@ -1013,7 +1013,7 @@ BOOL WINAPI SSOnBigStack(void)
* *
* This must be a register routine as it has to preserve *all* registers. * This must be a register routine as it has to preserve *all* registers.
*/ */
void WINAPI SSConfirmSmallStack( CONTEXT86 *context ) void WINAPI SSConfirmSmallStack( CONTEXT *context )
{ {
/* We are always on the small stack while in 16-bit code ... */ /* We are always on the small stack while in 16-bit code ... */
} }
@ -1053,7 +1053,7 @@ DWORD WINAPIV SSCall(
/********************************************************************** /**********************************************************************
* W32S_BackTo32 (KERNEL32.51) * W32S_BackTo32 (KERNEL32.51)
*/ */
void WINAPI __regs_W32S_BackTo32( CONTEXT86 *context ) void WINAPI __regs_W32S_BackTo32( CONTEXT *context )
{ {
LPDWORD stack = (LPDWORD)context->Esp; LPDWORD stack = (LPDWORD)context->Esp;
FARPROC proc = (FARPROC)context->Eip; FARPROC proc = (FARPROC)context->Eip;
@ -1152,7 +1152,7 @@ FreeSLCallback(
* The SEGPTR is used by the caller! * The SEGPTR is used by the caller!
*/ */
void WINAPI __regs_AllocMappedBuffer( void WINAPI __regs_AllocMappedBuffer(
CONTEXT86 *context /* [in] EDI register: size of buffer to allocate */ CONTEXT *context /* [in] EDI register: size of buffer to allocate */
) { ) {
HGLOBAL handle = GlobalAlloc(0, context->Edi + 8); HGLOBAL handle = GlobalAlloc(0, context->Edi + 8);
DWORD *buffer = GlobalLock(handle); DWORD *buffer = GlobalLock(handle);
@ -1187,7 +1187,7 @@ DEFINE_REGS_ENTRYPOINT( AllocMappedBuffer, 0 )
* Nothing. * Nothing.
*/ */
void WINAPI __regs_FreeMappedBuffer( void WINAPI __regs_FreeMappedBuffer(
CONTEXT86 *context /* [in] EDI register: pointer to buffer */ CONTEXT *context /* [in] EDI register: pointer to buffer */
) { ) {
if (context->Edi) if (context->Edi)
{ {
@ -1248,7 +1248,7 @@ BOOL16 WINAPI IsPeFormat16(
/*********************************************************************** /***********************************************************************
* K32Thk1632Prolog (KERNEL32.@) * K32Thk1632Prolog (KERNEL32.@)
*/ */
void WINAPI __regs_K32Thk1632Prolog( CONTEXT86 *context ) void WINAPI __regs_K32Thk1632Prolog( CONTEXT *context )
{ {
LPBYTE code = (LPBYTE)context->Eip - 5; LPBYTE code = (LPBYTE)context->Eip - 5;
@ -1310,7 +1310,7 @@ DEFINE_REGS_ENTRYPOINT( K32Thk1632Prolog, 0 )
/*********************************************************************** /***********************************************************************
* K32Thk1632Epilog (KERNEL32.@) * K32Thk1632Epilog (KERNEL32.@)
*/ */
void WINAPI __regs_K32Thk1632Epilog( CONTEXT86 *context ) void WINAPI __regs_K32Thk1632Epilog( CONTEXT *context )
{ {
LPBYTE code = (LPBYTE)context->Eip - 13; LPBYTE code = (LPBYTE)context->Eip - 13;
@ -1457,7 +1457,7 @@ UINT WINAPI ThunkConnect16(
* C16ThkSL (KERNEL.630) * C16ThkSL (KERNEL.630)
*/ */
void WINAPI C16ThkSL(CONTEXT86 *context) void WINAPI C16ThkSL(CONTEXT *context)
{ {
LPBYTE stub = MapSL(context->Eax), x = stub; LPBYTE stub = MapSL(context->Eax), x = stub;
WORD cs = wine_get_cs(); WORD cs = wine_get_cs();
@ -1503,7 +1503,7 @@ void WINAPI C16ThkSL(CONTEXT86 *context)
* C16ThkSL01 (KERNEL.631) * C16ThkSL01 (KERNEL.631)
*/ */
void WINAPI C16ThkSL01(CONTEXT86 *context) void WINAPI C16ThkSL01(CONTEXT *context)
{ {
LPBYTE stub = MapSL(context->Eax), x = stub; LPBYTE stub = MapSL(context->Eax), x = stub;
@ -1980,7 +1980,7 @@ void WINAPI InitCBClient16( FARPROC glueLS )
/*********************************************************************** /***********************************************************************
* CBClientGlueSL (KERNEL.604) * CBClientGlueSL (KERNEL.604)
*/ */
void WINAPI CBClientGlueSL( CONTEXT86 *context ) void WINAPI CBClientGlueSL( CONTEXT *context )
{ {
/* Create stack frame */ /* Create stack frame */
SEGPTR stackSeg = stack16_push( 12 ); SEGPTR stackSeg = stack16_push( 12 );
@ -2007,7 +2007,7 @@ void WINAPI CBClientGlueSL( CONTEXT86 *context )
* CBClientThunkSL (KERNEL.620) * CBClientThunkSL (KERNEL.620)
*/ */
extern DWORD CALL32_CBClient( FARPROC proc, LPWORD args, WORD *stackLin, DWORD *esi ); extern DWORD CALL32_CBClient( FARPROC proc, LPWORD args, WORD *stackLin, DWORD *esi );
void WINAPI CBClientThunkSL( CONTEXT86 *context ) void WINAPI CBClientThunkSL( CONTEXT *context )
{ {
/* Call 32-bit relay code */ /* Call 32-bit relay code */
@ -2032,7 +2032,7 @@ void WINAPI CBClientThunkSL( CONTEXT86 *context )
* CBClientThunkSLEx (KERNEL.621) * CBClientThunkSLEx (KERNEL.621)
*/ */
extern DWORD CALL32_CBClientEx( FARPROC proc, LPWORD args, WORD *stackLin, DWORD *esi, INT *nArgs ); extern DWORD CALL32_CBClientEx( FARPROC proc, LPWORD args, WORD *stackLin, DWORD *esi, INT *nArgs );
void WINAPI CBClientThunkSLEx( CONTEXT86 *context ) void WINAPI CBClientThunkSLEx( CONTEXT *context )
{ {
/* Call 32-bit relay code */ /* Call 32-bit relay code */
@ -2135,7 +2135,7 @@ LPVOID WINAPI GetPK16SysVar(void)
/********************************************************************** /**********************************************************************
* CommonUnimpStub (KERNEL32.17) * CommonUnimpStub (KERNEL32.17)
*/ */
void WINAPI __regs_CommonUnimpStub( CONTEXT86 *context ) void WINAPI __regs_CommonUnimpStub( CONTEXT *context )
{ {
FIXME("generic stub: %s\n", ((LPSTR)context->Eax ? (LPSTR)context->Eax : "?")); FIXME("generic stub: %s\n", ((LPSTR)context->Eax ? (LPSTR)context->Eax : "?"));
@ -2287,7 +2287,7 @@ INT WINAPIV k32wsprintfA(LPSTR buffer, LPCSTR spec, ...)
* Real prototype is: * Real prototype is:
* INT16 WINAPI Catch( LPCATCHBUF lpbuf ); * INT16 WINAPI Catch( LPCATCHBUF lpbuf );
*/ */
void WINAPI Catch16( LPCATCHBUF lpbuf, CONTEXT86 *context ) void WINAPI Catch16( LPCATCHBUF lpbuf, CONTEXT *context )
{ {
/* Note: we don't save the current ss, as the catch buffer is */ /* Note: we don't save the current ss, as the catch buffer is */
/* only 9 words long. Hopefully no one will have the silly */ /* only 9 words long. Hopefully no one will have the silly */
@ -2325,7 +2325,7 @@ void WINAPI Catch16( LPCATCHBUF lpbuf, CONTEXT86 *context )
* Real prototype is: * Real prototype is:
* INT16 WINAPI Throw( LPCATCHBUF lpbuf, INT16 retval ); * INT16 WINAPI Throw( LPCATCHBUF lpbuf, INT16 retval );
*/ */
void WINAPI Throw16( LPCATCHBUF lpbuf, INT16 retval, CONTEXT86 *context ) void WINAPI Throw16( LPCATCHBUF lpbuf, INT16 retval, CONTEXT *context )
{ {
STACK16FRAME *pFrame; STACK16FRAME *pFrame;
STACK32FRAME *frame32; STACK32FRAME *frame32;

View File

@ -68,7 +68,7 @@ static DWORD TIMER_millis = 0;
* called. This function will be called even if application has its * called. This function will be called even if application has its
* own IRQ handler that does not jump to builtin IRQ handler. * own IRQ handler that does not jump to builtin IRQ handler.
*/ */
static void TIMER_Relay( CONTEXT86 *context, void *data ) static void TIMER_Relay( CONTEXT *context, void *data )
{ {
InterlockedDecrement( &TIMER_pending ); InterlockedDecrement( &TIMER_pending );
} }
@ -160,10 +160,10 @@ void DOSVM_SetTimer( UINT ticks )
* *
* DOS interrupt 08h handler (IRQ0 - TIMER). * DOS interrupt 08h handler (IRQ0 - TIMER).
*/ */
void WINAPI DOSVM_Int08Handler( CONTEXT86 *context ) void WINAPI DOSVM_Int08Handler( CONTEXT *context )
{ {
BIOSDATA *bios_data = DOSVM_BiosData(); BIOSDATA *bios_data = DOSVM_BiosData();
CONTEXT86 nested_context = *context; CONTEXT nested_context = *context;
FARPROC16 int1c_proc = DOSVM_GetRMHandler( 0x1c ); FARPROC16 int1c_proc = DOSVM_GetRMHandler( 0x1c );
nested_context.SegCs = SELECTOROF(int1c_proc); nested_context.SegCs = SELECTOROF(int1c_proc);

View File

@ -52,7 +52,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(vxd); WINE_DEFAULT_DEBUG_CHANNEL(vxd);
typedef DWORD (WINAPI *VxDCallProc)(DWORD, CONTEXT86 *); typedef DWORD (WINAPI *VxDCallProc)(DWORD, CONTEXT *);
typedef BOOL (WINAPI *DeviceIoProc)(DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED); typedef BOOL (WINAPI *DeviceIoProc)(DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
struct vxd_module struct vxd_module
@ -287,7 +287,7 @@ done:
* VxDCall7 (KERNEL32.8) * VxDCall7 (KERNEL32.8)
* VxDCall8 (KERNEL32.9) * VxDCall8 (KERNEL32.9)
*/ */
void WINAPI __regs_VxDCall( DWORD service, CONTEXT86 *context ) void WINAPI __regs_VxDCall( DWORD service, CONTEXT *context )
{ {
unsigned int i; unsigned int i;
VxDCallProc proc = NULL; VxDCallProc proc = NULL;
@ -321,7 +321,7 @@ DEFINE_REGS_ENTRYPOINT( VxDCall, 1 )
/*********************************************************************** /***********************************************************************
* __wine_vxd_vmm (WPROCS.401) * __wine_vxd_vmm (WPROCS.401)
*/ */
void WINAPI __wine_vxd_vmm ( CONTEXT86 *context ) void WINAPI __wine_vxd_vmm ( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -348,7 +348,7 @@ void WINAPI __wine_vxd_vmm ( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_pagefile (WPROCS.433) * __wine_vxd_pagefile (WPROCS.433)
*/ */
void WINAPI __wine_vxd_pagefile( CONTEXT86 *context ) void WINAPI __wine_vxd_pagefile( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -394,7 +394,7 @@ void WINAPI __wine_vxd_pagefile( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_reboot (WPROCS.409) * __wine_vxd_reboot (WPROCS.409)
*/ */
void WINAPI __wine_vxd_reboot( CONTEXT86 *context ) void WINAPI __wine_vxd_reboot( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -415,7 +415,7 @@ void WINAPI __wine_vxd_reboot( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_vdd (WPROCS.410) * __wine_vxd_vdd (WPROCS.410)
*/ */
void WINAPI __wine_vxd_vdd( CONTEXT86 *context ) void WINAPI __wine_vxd_vdd( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -436,7 +436,7 @@ void WINAPI __wine_vxd_vdd( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_vmd (WPROCS.412) * __wine_vxd_vmd (WPROCS.412)
*/ */
void WINAPI __wine_vxd_vmd( CONTEXT86 *context ) void WINAPI __wine_vxd_vmd( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -457,7 +457,7 @@ void WINAPI __wine_vxd_vmd( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_vxdloader (WPROCS.439) * __wine_vxd_vxdloader (WPROCS.439)
*/ */
void WINAPI __wine_vxd_vxdloader( CONTEXT86 *context ) void WINAPI __wine_vxd_vxdloader( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -499,7 +499,7 @@ void WINAPI __wine_vxd_vxdloader( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_shell (WPROCS.423) * __wine_vxd_shell (WPROCS.423)
*/ */
void WINAPI __wine_vxd_shell( CONTEXT86 *context ) void WINAPI __wine_vxd_shell( CONTEXT *context )
{ {
unsigned service = DX_reg(context); unsigned service = DX_reg(context);
@ -592,7 +592,7 @@ void WINAPI __wine_vxd_shell( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_comm (WPROCS.414) * __wine_vxd_comm (WPROCS.414)
*/ */
void WINAPI __wine_vxd_comm( CONTEXT86 *context ) void WINAPI __wine_vxd_comm( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -617,7 +617,7 @@ void WINAPI __wine_vxd_comm( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_timer (WPROCS.405) * __wine_vxd_timer (WPROCS.405)
*/ */
void WINAPI __wine_vxd_timer( CONTEXT86 *context ) void WINAPI __wine_vxd_timer( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -668,7 +668,7 @@ static DWORD CALLBACK timer_thread( void *arg )
/*********************************************************************** /***********************************************************************
* __wine_vxd_timerapi (WPROCS.1490) * __wine_vxd_timerapi (WPROCS.1490)
*/ */
void WINAPI __wine_vxd_timerapi( CONTEXT86 *context ) void WINAPI __wine_vxd_timerapi( CONTEXT *context )
{ {
static WORD System_Time_Selector; static WORD System_Time_Selector;
@ -702,7 +702,7 @@ void WINAPI __wine_vxd_timerapi( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_configmg (WPROCS.451) * __wine_vxd_configmg (WPROCS.451)
*/ */
void WINAPI __wine_vxd_configmg( CONTEXT86 *context ) void WINAPI __wine_vxd_configmg( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -723,7 +723,7 @@ void WINAPI __wine_vxd_configmg( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_enable (WPROCS.455) * __wine_vxd_enable (WPROCS.455)
*/ */
void WINAPI __wine_vxd_enable( CONTEXT86 *context ) void WINAPI __wine_vxd_enable( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -744,7 +744,7 @@ void WINAPI __wine_vxd_enable( CONTEXT86 *context )
/*********************************************************************** /***********************************************************************
* __wine_vxd_apm (WPROCS.438) * __wine_vxd_apm (WPROCS.438)
*/ */
void WINAPI __wine_vxd_apm( CONTEXT86 *context ) void WINAPI __wine_vxd_apm( CONTEXT *context )
{ {
unsigned service = AX_reg(context); unsigned service = AX_reg(context);
@ -814,7 +814,7 @@ void WINAPI __wine_vxd_apm( CONTEXT86 *context )
* service of the Win32s VxD. (Note that the offset is never reset.) * service of the Win32s VxD. (Note that the offset is never reset.)
* *
*/ */
void WINAPI __wine_vxd_win32s( CONTEXT86 *context ) void WINAPI __wine_vxd_win32s( CONTEXT *context )
{ {
switch (AX_reg(context)) switch (AX_reg(context))
{ {

View File

@ -42,7 +42,7 @@ WINE_DECLARE_DEBUG_CHANNEL(snoop);
/* symbols exported from relay16.s */ /* symbols exported from relay16.s */
extern DWORD WINAPI wine_call_to_16( FARPROC16 target, DWORD cbArgs, PEXCEPTION_HANDLER handler ); extern DWORD WINAPI wine_call_to_16( FARPROC16 target, DWORD cbArgs, PEXCEPTION_HANDLER handler );
extern void WINAPI wine_call_to_16_regs( CONTEXT86 *context, DWORD cbArgs, PEXCEPTION_HANDLER handler ); extern void WINAPI wine_call_to_16_regs( CONTEXT *context, DWORD cbArgs, PEXCEPTION_HANDLER handler );
extern void __wine_call_to_16_ret(void); extern void __wine_call_to_16_ret(void);
extern void CALL32_CBClient_Ret(void); extern void CALL32_CBClient_Ret(void);
extern void CALL32_CBClientEx_Ret(void); extern void CALL32_CBClientEx_Ret(void);