;* Win32c.INC ;* ;* Private header file for all Win32c.DLL ASM files ifndef WIN32_STRUCTSONLY page 66,132 .386 OPTION SEGMENT:USE16 .MODEL LARGE,PASCAL ;** Segmentation ;We use _DATADWALIGN for some things instead of _DATA because it's DWORD-aligned _DATADWALIGN SEGMENT DWORD USE16 PUBLIC 'DATA' _DATADWALIGN ENDS DGROUP GROUP _DATADWALIGN ;Add _DATADWALIGN to DGROUP _TEXTINIT SEGMENT BYTE USE16 PUBLIC 'CODE' _TEXTINIT ENDS _TEXTFIXED SEGMENT BYTE USE16 PUBLIC 'CODE' _TEXTFIXED ENDS _TEXTMOVE SEGMENT BYTE USE16 PUBLIC 'CODE' _TEXTMOVE ENDS ;** General Equates KERN16ENTRY TEXTEQU PRIVENTRY TEXTEQU NEARENTRY TEXTEQU APIENTRY TEXTEQU ;** Global variables externdef FlatData:WORD ;** Macros SetDS MACRO push DGROUP pop ds assume ds:DGROUP ENDM CheckDS MACRO IFDEF DEBUG push ax mov ax, ds cmp ax, DGROUP je @F int 3 @@: pop ax ENDIF ENDM endif ; WIN32_STRUCTSONLY ifndef WIN32_STRUCTSONLY ;** Prototypes ; Kernel16 ;WORD LocalInit PROTO KERN16ENTRY hHeapSeg:WORD, wHeapStart:WORD, wHeapEnd:WORD ;VOID* MapSL PROTO KERN16ENTRY lpSegOffset:DWORD ;VOID FAR* MapLS PROTO KERN16ENTRY lpFlat:DWORD ;VOID FAR* MapLSLimit PROTO KERN16ENTRY lpFlat:DWORD, lpMaxAddress:DWORD ;void UnMapLS PROTO KERN16ENTRY lpSegOffset:DWORD ;void FreeSelector PROTO KERN16ENTRY wSel:WORD ;WORD AllocDStoCSAlias PROTO KERN16ENTRY wSel:WORD ;WORD GetCurrentTask PROTO KERN16ENTRY ;void OutputDebugString PROTO KERN16ENTRY segMsg:WORD, offMsg:word ;void SetLastError PROTO KERN16ENTRY Error:DWORD ;HANDLE GetHModK16FromImte PROTO KERN16ENTRY hMem:WORD ;HANDLE GlobalAlloc PROTO KERN16ENTRY dwSize:DWORD, wFlags:WORD ;HANDLE GlobalReAlloc PROTO KERN16ENTRY hMem:WORD, wOffset:WORD, wSize:WORD, wFlags:WORD ;void GlobalFree PROTO KERN16ENTRY hMem:WORD ;DWORD GlobalSize PROTO KERN16ENTRY hMem:WORD ;void GlobalLock PROTO KERN16ENTRY hMem:WORD ;void GlobalUnlock PROTO KERN16ENTRY hMem:WORD ;void SetOwner PROTO KERN16ENTRY hMem:WORD ;HANDLE GetExePtr PROTO KERN16ENTRY hMem:WORD ;ATOM AddAtom PROTO KERN16ENTRY lpszString:DWORD ;UINT GetAtomName PROTO KERN16ENTRY atom:WORD, lpszBuffer:DWORD, cbBuffer:WORD ;void Win32CStartup PROTO KERN16ENTRY ; INIT.ASM ;BOOL (_TEXTINIT) Win32CInit PROTO APIENTRY ;BOOL (_TEXTFIXED) WEP PROTO APIENTRY wParam:WORD ; T16UTIL.ASM externdef selFlatDS:WORD externdef selFlatCS:WORD externdef hinstWin32c:WORD ;void (_TEXTMOVE) StackLinearToSegmented PROTO APIENTRY ;void (_TEXTMOVE) UnMapStackAndMakeFlat PROTO APIENTRY ;WORD (_TEXT) Map32To16 PROTO APIENTRY val32:DWORD ;DWORD (_TEXT) DelMap PROTO APIENTRY key16:WORD ;SELECTOR (_TEXT) GetCSAlias PROTO APIENTRY selDS:WORD ;void (_TEXT) FreeCSAlias PROTO APIENTRY wSel:WORD ;DWORD (_TEXT) SelectorOffsetToLinear PROTO APIENTRY sel:WORD, off:WORD ;void (_TEXT) MemCpy32 PROTO APIENTRY dest:DWORD, src:DWORD, count:DWORD ;void (_TEXT) ResCpy32 PROTO APIENTRY NEdest:DWORD, PEsrc:DWORD, dwSize:DWORD ;void (_TEXT) SetLastError16 PROTO APIENTRY dwError:DWORD ;void (_TEXT) CALLBACK_BODY_16 PROTO APIENTRY ; PEAUX.ASM ;WORD (_TEXT) GetHmodFromWindows PROTO APIENTRY ;BOOL (_TEXT) CreatePEModInst PROTO APIENTRY hModule16:WORD, hModule32:DWORD, szFileName:DWORD, pNEResTable:DWORD, cbNEResTable:WORD, pPERes32:DWORD, pPE32:DWORD ;void (_TEXT) DestroyPEModInst PROTO APIENTRY hInst:WORD ;WORD (_TEXT) GetCurrentHeap PROTO APIENTRY ;WORD (_TEXT) GetNullhInst PROTO APIENTRY endif ; WIN32_STRUCTSONLY