Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

163 lines
4.0 KiB

;* 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 <FAR PASCAL>
PRIVENTRY TEXTEQU <FAR PASCAL>
NEARENTRY TEXTEQU <NEAR PASCAL>
APIENTRY TEXTEQU <FAR PASCAL>
;** 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