#pragma aux TASM "_*"   \
	parm caller []	\
	value struct float struct routine [ax]	\
	modify [ax bx cx dx];

#pragma aux TASM2 "_*"   \
	parm caller []	\
	value struct float struct routine [ax]	\
	modify [ax bx cx dx es];

/* adosx32 */
#pragma aux (TASM) int21voff ;
#pragma aux (TASM) int21vsel ;
#pragma aux (TASM) doscall ;
#pragma aux (TASM) back_from_syscall ;
#pragma aux (TASM) debug_entry ;
#pragma aux (TASM) execute_dpmi_function ;

/* cdosx32 */
#pragma aux (TASM) excep0_386;
#pragma aux (TASM) excep1_386;
#pragma aux (TASM) excep2_386;
#pragma aux (TASM) excep3_386;
#pragma aux (TASM) excep4_386;
#pragma aux (TASM) excep5_386;
#pragma aux (TASM) excep6_386;
#pragma aux (TASM) excep7_386;
#pragma aux (TASM) excep8_386;
#pragma aux (TASM) excep9_386;
#pragma aux (TASM) excep10_386;
#pragma aux (TASM) excep11_386;
#pragma aux (TASM) excep12_386;
#pragma aux (TASM) excep13_386;
#pragma aux (TASM) excep14_386;
#pragma aux (TASM) excep15_386;
#pragma aux (TASM) excep16_386;
#pragma aux (TASM) excep17_386;
#pragma aux (TASM) extender_ds;
#pragma aux (TASM) clearregs;
#pragma aux (TASM) page_fault;
#pragma aux (TASM) prot_cbrk ;
#pragma aux (TASM) timer_handler ;

/* copy32 */
#pragma aux (TASM) read32 ;
#pragma aux (TASM) store32 ;
#pragma aux (TASM) bzero32 ;
#pragma aux (TASM) cpy16_32 ;
#pragma aux (TASM) cpy32_16 ;
#pragma aux (TASM) strcpy16_32 ;
#pragma aux (TASM) strcpy32_16 ;
#pragma aux (TASM) cpy32_32 ;
#pragma aux (TASM) getstr32_16 ;
#pragma aux (TASM) put_user_byte ;

/* dpmi */
#pragma aux (TASM) AllocLDT ;
#pragma aux (TASM) FreeLDT ;
#pragma aux (TASM) SegToSel ;
#pragma aux (TASM) SelInc ;
#pragma aux (TASM) LockSel ;
#pragma aux (TASM) UnlockSel ;
#pragma aux (TASM) GetBaseAddress ;
#pragma aux (TASM) SetBaseAddress ;
#pragma aux (TASM) SetLimit ;
#pragma aux (TASM) SetAccess ;
#pragma aux (TASM) CreatAlias ;
#pragma aux (TASM) GetDescriptor ;
#pragma aux (TASM) SetDescriptor ;
#pragma aux (TASM) AllocSpecialLDT ;

#pragma aux (TASM) AllocDosMem ;
#pragma aux (TASM) FreeDosMem ;
#pragma aux (TASM) ResizeDosMem ;

#pragma aux (TASM) GetRealModeVector ;
#pragma aux (TASM) SetRealModeVector ;
#pragma aux (TASM) GetExceptionVector ;
#pragma aux (TASM) SetExceptionVector ;
#pragma aux (TASM) GetProtModeVector ;
#pragma aux (TASM) SetProtModeVector ;
#pragma aux (TASM) GetExceptionVector32 ;
#pragma aux (TASM) SetExceptionVector32 ;
#pragma aux (TASM) GetProtModeVector32 ;
#pragma aux (TASM) SetProtModeVector32 ;

#pragma aux (TASM) SimulateRMint ;
#pragma aux (TASM) CallRMprocFar ;
#pragma aux (TASM) CallRMprocIret ;
#pragma aux (TASM) AllocRMcallAddress ;
#pragma aux (TASM) FreeRMcallAddress ;
#pragma aux (TASM) GetStateSaveAddress ;
#pragma aux (TASM) SaveState ;
#pragma aux (TASM) RestoreState ;

#pragma aux (TASM) GetDPMIVersion ;

#pragma aux (TASM) GetFreeMemInfo ;
#pragma aux (TASM) AllocMem ;
#pragma aux (TASM) FreeMem ;
#pragma aux (TASM) ResizeMem ;
#pragma aux (TASM) GetFreeMemInfo32 ;

#pragma aux (TASM) LockLinRegion;
#pragma aux (TASM) UnlockLinRegion;
#pragma aux (TASM) MarkRealModePageable;
#pragma aux (TASM) RelockRealModeRegion;
#pragma aux (TASM) GetPageSize;

#pragma aux (TASM) MarkPageDemand;
#pragma aux (TASM) DiscardPage;

#pragma aux (TASM) PhysicalMap;

#pragma aux (TASM) DisableVirtuelInterruptState ;
#pragma aux (TASM) EnableVirtuelInterruptState ;
#pragma aux (TASM) GetVirtuelInterruptState ;

#pragma aux (TASM) GetVendorEntry ;

#pragma aux (TASM) ebugWatchpoint ;
#pragma aux (TASM) rDebugWatchpoint ;
#pragma aux (TASM) tateDebugWatchpoint ;
#pragma aux (TASM) tDebugWatchpoint ;

#pragma aux (TASM) lsl32;
#pragma aux (TASM) GetCS ;
#pragma aux (TASM) GetDS ;
#pragma aux (TASM) GetES ;
#pragma aux (TASM) dos_exit;
#pragma aux (TASM) DpmiEnableFpu;
#pragma aux (TASM) DpmiDisableFpu;
#pragma aux (TASM) GetDpmiEntryPoint;
#pragma aux (TASM) GetDpmiHostParagraph;
#pragma aux (TASM) DpmiEnterProtectedMode;

#pragma aux (TASM) real_to_protected;
#pragma aux (TASM) protected_to_real;

#pragma aux (TASM) farcopy;
#pragma aux (TASM) extmovedata;
#pragma aux (TASM) extmalloc;
#pragma aux (TASM) extfree;
#pragma aux (TASM) set_memory_type;


#pragma aux (TASM) GetMultipleDescriptors;
#pragma aux (TASM) SetMultipleDescriptors;
#pragma aux (TASM) GetProtModeExceptionVector32;
#pragma aux (TASM) GetRealModeExceptionVector32;
#pragma aux (TASM) SetProtModeExceptionVector32;
#pragma aux (TASM) SetRealModeExceptionVector32;
#pragma aux (TASM) GetDPMICapabilities;
#pragma aux (TASM) AllocLinearMemory;
#pragma aux (TASM) ResizeLinearMemory;
#pragma aux (TASM) GetPageAttributes;
#pragma aux (TASM) ModifyPageAttributes;
#pragma aux (TASM) MapDeviceInMemoryBlock;
#pragma aux (TASM) MapDOSMemInMemoryBlock;
#pragma aux (TASM) GetMemoryBlockData;
#pragma aux (TASM) GetMemoryInfo;
#pragma aux (TASM) FreePhysicalMapping;
#pragma aux (TASM) DpmiGetCoproStatus;
#pragma aux (TASM) DpmiSetCoproStatus;


#pragma aux (TASM) npx_installed ;
#pragma aux (TASM) emu_init ;
#pragma aux (TASM) emu_switch ;
#pragma aux (TASM) do_fninit;
#pragma aux (TASM) do_frstor;
#pragma aux (TASM) do_fnsave;

