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

  1. ;* Win32c.INC
  2. ;*
  3. ;* Private header file for all Win32c.DLL ASM files
  4. ifndef WIN32_STRUCTSONLY
  5. page 66,132
  6. .386
  7. OPTION SEGMENT:USE16
  8. .MODEL LARGE,PASCAL
  9. ;** Segmentation
  10. ;We use _DATADWALIGN for some things instead of _DATA because it's DWORD-aligned
  11. _DATADWALIGN SEGMENT DWORD USE16 PUBLIC 'DATA'
  12. _DATADWALIGN ENDS
  13. DGROUP GROUP _DATADWALIGN ;Add _DATADWALIGN to DGROUP
  14. _TEXTINIT SEGMENT BYTE USE16 PUBLIC 'CODE'
  15. _TEXTINIT ENDS
  16. _TEXTFIXED SEGMENT BYTE USE16 PUBLIC 'CODE'
  17. _TEXTFIXED ENDS
  18. _TEXTMOVE SEGMENT BYTE USE16 PUBLIC 'CODE'
  19. _TEXTMOVE ENDS
  20. ;** General Equates
  21. KERN16ENTRY TEXTEQU <FAR PASCAL>
  22. PRIVENTRY TEXTEQU <FAR PASCAL>
  23. NEARENTRY TEXTEQU <NEAR PASCAL>
  24. APIENTRY TEXTEQU <FAR PASCAL>
  25. ;** Global variables
  26. externdef FlatData:WORD
  27. ;** Macros
  28. SetDS MACRO
  29. push DGROUP
  30. pop ds
  31. assume ds:DGROUP
  32. ENDM
  33. CheckDS MACRO
  34. IFDEF DEBUG
  35. push ax
  36. mov ax, ds
  37. cmp ax, DGROUP
  38. je @F
  39. int 3
  40. @@: pop ax
  41. ENDIF
  42. ENDM
  43. endif ; WIN32_STRUCTSONLY
  44. ifndef WIN32_STRUCTSONLY
  45. ;** Prototypes
  46. ; Kernel16
  47. ;WORD
  48. LocalInit PROTO KERN16ENTRY hHeapSeg:WORD, wHeapStart:WORD, wHeapEnd:WORD
  49. ;VOID*
  50. MapSL PROTO KERN16ENTRY lpSegOffset:DWORD
  51. ;VOID FAR*
  52. MapLS PROTO KERN16ENTRY lpFlat:DWORD
  53. ;VOID FAR*
  54. MapLSLimit PROTO KERN16ENTRY lpFlat:DWORD, lpMaxAddress:DWORD
  55. ;void
  56. UnMapLS PROTO KERN16ENTRY lpSegOffset:DWORD
  57. ;void
  58. FreeSelector PROTO KERN16ENTRY wSel:WORD
  59. ;WORD
  60. AllocDStoCSAlias PROTO KERN16ENTRY wSel:WORD
  61. ;WORD
  62. GetCurrentTask PROTO KERN16ENTRY
  63. ;void
  64. OutputDebugString PROTO KERN16ENTRY segMsg:WORD, offMsg:word
  65. ;void
  66. SetLastError PROTO KERN16ENTRY Error:DWORD
  67. ;HANDLE
  68. GetHModK16FromImte PROTO KERN16ENTRY hMem:WORD
  69. ;HANDLE
  70. GlobalAlloc PROTO KERN16ENTRY dwSize:DWORD, wFlags:WORD
  71. ;HANDLE
  72. GlobalReAlloc PROTO KERN16ENTRY hMem:WORD, wOffset:WORD, wSize:WORD, wFlags:WORD
  73. ;void
  74. GlobalFree PROTO KERN16ENTRY hMem:WORD
  75. ;DWORD
  76. GlobalSize PROTO KERN16ENTRY hMem:WORD
  77. ;void
  78. GlobalLock PROTO KERN16ENTRY hMem:WORD
  79. ;void
  80. GlobalUnlock PROTO KERN16ENTRY hMem:WORD
  81. ;void
  82. SetOwner PROTO KERN16ENTRY hMem:WORD
  83. ;HANDLE
  84. GetExePtr PROTO KERN16ENTRY hMem:WORD
  85. ;ATOM
  86. AddAtom PROTO KERN16ENTRY lpszString:DWORD
  87. ;UINT
  88. GetAtomName PROTO KERN16ENTRY atom:WORD, lpszBuffer:DWORD, cbBuffer:WORD
  89. ;void
  90. Win32CStartup PROTO KERN16ENTRY
  91. ; INIT.ASM
  92. ;BOOL (_TEXTINIT)
  93. Win32CInit PROTO APIENTRY
  94. ;BOOL (_TEXTFIXED)
  95. WEP PROTO APIENTRY wParam:WORD
  96. ; T16UTIL.ASM
  97. externdef selFlatDS:WORD
  98. externdef selFlatCS:WORD
  99. externdef hinstWin32c:WORD
  100. ;void (_TEXTMOVE)
  101. StackLinearToSegmented PROTO APIENTRY
  102. ;void (_TEXTMOVE)
  103. UnMapStackAndMakeFlat PROTO APIENTRY
  104. ;WORD (_TEXT)
  105. Map32To16 PROTO APIENTRY val32:DWORD
  106. ;DWORD (_TEXT)
  107. DelMap PROTO APIENTRY key16:WORD
  108. ;SELECTOR (_TEXT)
  109. GetCSAlias PROTO APIENTRY selDS:WORD
  110. ;void (_TEXT)
  111. FreeCSAlias PROTO APIENTRY wSel:WORD
  112. ;DWORD (_TEXT)
  113. SelectorOffsetToLinear PROTO APIENTRY sel:WORD, off:WORD
  114. ;void (_TEXT)
  115. MemCpy32 PROTO APIENTRY dest:DWORD, src:DWORD, count:DWORD
  116. ;void (_TEXT)
  117. ResCpy32 PROTO APIENTRY NEdest:DWORD, PEsrc:DWORD, dwSize:DWORD
  118. ;void (_TEXT)
  119. SetLastError16 PROTO APIENTRY dwError:DWORD
  120. ;void (_TEXT)
  121. CALLBACK_BODY_16 PROTO APIENTRY
  122. ; PEAUX.ASM
  123. ;WORD (_TEXT)
  124. GetHmodFromWindows PROTO APIENTRY
  125. ;BOOL (_TEXT)
  126. CreatePEModInst PROTO APIENTRY hModule16:WORD, hModule32:DWORD,
  127. szFileName:DWORD,
  128. pNEResTable:DWORD, cbNEResTable:WORD,
  129. pPERes32:DWORD, pPE32:DWORD
  130. ;void (_TEXT)
  131. DestroyPEModInst PROTO APIENTRY hInst:WORD
  132. ;WORD (_TEXT)
  133. GetCurrentHeap PROTO APIENTRY
  134. ;WORD (_TEXT)
  135. GetNullhInst PROTO APIENTRY
  136. endif ; WIN32_STRUCTSONLY