Leaked source code of windows server 2003
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.

318 lines
6.6 KiB

  1. ;===============================================================================
  2. ;
  3. ; $Workfile: WINNT.INC $
  4. ;
  5. ; Contents:
  6. ; This include file contains the standard Windows NT structures used by
  7. ; the display driver.
  8. ;
  9. ; Copyright (c) 1996, Cirrus Logic, Inc.
  10. ;
  11. ; $Log: X:/log/laguna/nt35/displays/cl546x/i386/WINNT.INC $
  12. ;
  13. ; Rev 1.6 20 Aug 1996 11:29:04 noelv
  14. ; Bugfix release from Frido 8-19-96
  15. ;
  16. ; Rev 1.0 14 Aug 1996 17:14:40 frido
  17. ; Initial revision.
  18. ;
  19. ; Rev 1.5 01 May 1996 11:07:06 bennyn
  20. ;
  21. ; Modified for NT 4.0
  22. ;
  23. ; Rev 1.4 04 Apr 1996 13:22:26 noelv
  24. ; Frido version 26
  25. ;
  26. ; Rev 1.4 10 Feb 1996 21:47:18 frido
  27. ; Added debugging routines.
  28. ;
  29. ; Rev 1.3 08 Feb 1996 00:10:52 frido
  30. ; Added more objects from WinDDI.h.
  31. ; Reordered objects.
  32. ;
  33. ; Rev 1.2 25 Jan 1996 22:03:46 frido
  34. ; Yes, added some more stuff.
  35. ;
  36. ; Rev 1.1 25 Jan 1996 12:45:04 frido
  37. ; Added some more functon prototypes.
  38. ;
  39. ; Rev 1.0 24 Jan 1996 23:13:44 frido
  40. ; Initial release.
  41. ;
  42. ;===============================================================================
  43. UINT TYPEDEF DWORD
  44. LONG TYPEDEF SDWORD
  45. ULONG TYPEDEF DWORD
  46. PBYTE TYPEDEF PTR BYTE
  47. FLONG TYPEDEF LONG
  48. BOOL TYPEDEF SDWORD
  49. PVOID TYPEDEF PTR
  50. HANDLE TYPEDEF PVOID
  51. USHORT TYPEDEF WORD
  52. LPCTSTR TYPEDEF PTR BYTE
  53. RTL_CRITICAL_SECTION STRUCT
  54. DebugInfo DWORD ?
  55. LockCount LONG ?
  56. RecursionCount LONG ?
  57. OwningThread HANDLE ?
  58. LockSemaphore HANDLE ?
  59. Reserved DWORD ?
  60. RTL_CRITICAL_SECTION ENDS
  61. CRITICAL_SECTION TYPEDEF RTL_CRITICAL_SECTION
  62. RECTL STRUCT
  63. left LONG ?
  64. top LONG ?
  65. right LONG ?
  66. bottom LONG ?
  67. RECTL ENDS
  68. POINTL STRUCT
  69. x LONG ?
  70. y LONG ?
  71. POINTL ENDS
  72. SIZEL STRUCT
  73. _cx LONG ?
  74. _cy LONG ?
  75. SIZEL ENDS
  76. FONTOBJ STRUCT
  77. iUniq DWORD ?
  78. iFace DWORD ?
  79. cxMax DWORD ?
  80. flFontType DWORD ?
  81. iTTUniq DWORD ?
  82. iFile DWORD ?
  83. sizLogResPpi SIZEL {}
  84. ulStyleSize DWORD ?
  85. pvConsumer DWORD ?
  86. pvProducer DWORD ?
  87. FONTOBJ ENDS
  88. GLYPHBITS STRUCT
  89. ptlOrigin POINTL {}
  90. sizlBitmap SIZEL {}
  91. aj BYTE 0 DUP(?)
  92. GLYPHBITS ENDS
  93. GLYPHDEF STRUCT
  94. pgb DWORD ?
  95. ppo DWORD ?
  96. GLYPHDEF ENDS
  97. GLYPHPOS STRUCT
  98. hg DWORD ?
  99. pgdf DWORD ?
  100. ptl POINTL {}
  101. GLYPHPOS ENDS
  102. OutputDebugStringA PROTO PROC,
  103. lpOutputString :LPCTSTR
  104. ifdef WINNT_VER40
  105. EngAllocMem PROTO PROC,
  106. uFlags :UINT,
  107. uBytes :UINT,
  108. uTag :UINT
  109. FL_ZERO_MEMORY = 00000001h
  110. else
  111. LocalAlloc PROTO PROC,
  112. uFlags :UINT,
  113. uBytes :UINT
  114. LocalFree PROTO PROC,
  115. hMem :HANDLE
  116. LMEM_FIXED = 00000000h
  117. LMEM_MOVEABLE = 00000002h
  118. LMEM_NOCOMPACT = 00000010h
  119. LMEM_NODISCARD = 00000020h
  120. LMEM_ZEROINIT = 00000040h
  121. LMEM_MODIFY = 00000080h
  122. LMEM_LOCKCOUNT = 000000FFh
  123. LMEM_DISCARDABLE = 00000F00h
  124. LMEM_VALID_FLAGS = 00000F72h
  125. LMEM_DISCARDED = 00004000h
  126. LMEM_INVALID_HANDLE = 00008000h
  127. endif
  128. HS_DDI_MAX = 6
  129. ;-------------------------------------------------------------------------------
  130. ; STROBJ
  131. ;-------------------------------------------------------------------------------
  132. SO_FLAG_DEFAULT_PLACEMENT = 00000001h
  133. SO_HORIZONTAL = 00000002h
  134. SO_VERTICAL = 00000004h
  135. SO_RESERVED = 00000008h
  136. SO_ZERO_BEARINGS = 00000010h
  137. SO_CHAR_INC_EQUAL_BM_BASE = 00000020h
  138. SO_MAXEXT_EQUAL_BM_SIDE = 00000040h
  139. STROBJ STRUCT
  140. cGlyphs ULONG ?
  141. flAccel FLONG ?
  142. ulCharInc ULONG ?
  143. rclBkGround RECTL {}
  144. pgp DWORD ?
  145. pwzsOrg DWORD ?
  146. STROBJ ENDS
  147. STROBJ_vEnumStart PROTO PROC,
  148. pstro :PTR STROBJ
  149. STROBJ_bEnum PROTO PROC,
  150. pstro :PTR STROBJ,
  151. pc :ULONG,
  152. ppgpos :PTR GLYPHPOS
  153. SGI_EXTRASPACE = 0
  154. ;-------------------------------------------------------------------------------
  155. ; SURFOBJ
  156. ;-------------------------------------------------------------------------------
  157. SURFOBJ STRUCT
  158. dhsurf DWORD ?
  159. hsurf DWORD ?
  160. dhpdev DWORD ?
  161. hdev DWORD ?
  162. sizlBitmap SIZEL {}
  163. cjBits ULONG ?
  164. pvBits PVOID ?
  165. pvScan0 PVOID ?
  166. lDelta LONG ?
  167. iUniq ULONG ?
  168. iBitmapFormat ULONG ?
  169. iType USHORT ?
  170. fjBitmap USHORT ?
  171. SURFOBJ ENDS
  172. STYPE_BITMAP = 0
  173. STYPE_DEVICE = 1
  174. STYPE_JOURNAL = 2
  175. STYPE_DEVBITMAP = 3
  176. BMF_1BPP = 1
  177. BMF_4BPP = 2
  178. BMF_8BPP = 3
  179. BMF_16BPP = 4
  180. BMF_24BPP = 5
  181. BMF_32BPP = 6
  182. BMF_4RLE = 7
  183. BMF_8RLE = 8
  184. BMF_TOPDOWN = 0001h
  185. BMF_NOZEROINIT = 0004h
  186. BMF_DONTCACHE = 0008h
  187. ;-------------------------------------------------------------------------------
  188. ; BRUSHOBJ
  189. ;-------------------------------------------------------------------------------
  190. BRUSHOBJ STRUCT
  191. iSolidColor ULONG ?
  192. pvRbrush PVOID ?
  193. BRUSHOBJ ENDS
  194. BRUSHOBJ_pvAllocRbrush PROTO PROC,
  195. pbo :PTR BRUSHOBJ,
  196. cj :ULONG
  197. BRUSHOBJ_pvGetRbrush PROTO PROC,
  198. pbo :PTR BRUSHOBJ
  199. RB_DITHERCOLOR = 80000000h
  200. ;-------------------------------------------------------------------------------
  201. ; CLIPOBJ
  202. ;-------------------------------------------------------------------------------
  203. CLIPOBJ STRUCT
  204. iUniq ULONG ?
  205. rclBounds RECTL {}
  206. iDComplexity BYTE ?
  207. iFComplexity BYTE ?
  208. iMode BYTE ?
  209. fjOptions BYTE ?
  210. CLIPOBJ ENDS
  211. DC_TRIVIAL = 0
  212. DC_RECT = 1
  213. DC_COMPLEX = 3
  214. FC_RECT = 1
  215. FC_RECT4 = 2
  216. FC_COMPLEX = 3
  217. TC_RECTANGLES = 0
  218. TC_PATHOBJ = 2
  219. OC_BANK_CLIP = 1
  220. CT_RECTANGLES = 0
  221. CD_RIGHTDOWN = 0
  222. CD_LEFTDOWN = 1
  223. CD_RIGHTUP = 2
  224. CD_LEFTUP = 3
  225. CD_ANY = 4
  226. CD_LEFTWARDS = 1
  227. CD_UPWARDS = 2
  228. ENUMRECTS STRUCT
  229. _c ULONG ?
  230. arcl RECTL 1 DUP({})
  231. ENUMRECTS ENDS
  232. CLIPOBJ_cEnumStart PROTO PROC,
  233. pco :PTR CLIPOBJ,
  234. bAll :BOOL,
  235. iType :ULONG,
  236. iDirection :ULONG,
  237. cLimit :ULONG
  238. CLIPOBJ_bEnum PROTO PROC,
  239. pco :PTR CLIPOBJ,
  240. cj :ULONG,
  241. pul :PTR ULONG
  242. CLIPOBJ_ppoGetPath PROTO PROC,
  243. pci :PTR CLIPOBJ
  244. ;-------------------------------------------------------------------------------
  245. ; XLATEOBJ
  246. ;-------------------------------------------------------------------------------
  247. XLATEOBJ STRUCT
  248. iUniq ULONG ?
  249. flXlate FLONG ?
  250. iSrcType USHORT ?
  251. iDstType USHORT ?
  252. cEntries ULONG ?
  253. pulXlate DWORD ?
  254. XLATEOBJ ENDS
  255. XO_TRIVIAL = 00000001h
  256. XO_TABLE = 00000002h
  257. XO_TO_MONO = 00000004h
  258. XO_SRCPALETTE = 1
  259. XO_DESTPALETTE = 2
  260. XO_DESTDCPALETTE = 3
  261. XLATEOBJ_iXlate PROTO PROC,
  262. pxlo :PTR XLATEOBJ,
  263. iColor :ULONG
  264. XLATEOBJ_piVector PROTO PROC,
  265. pxlo :PTR XLATEOBJ
  266. XLATEOBJ_cGetPalette PROTO PROC,
  267. pxlo :PTR XLATEOBJ,
  268. iPal :ULONG,
  269. cPal :ULONG,
  270. pPal :ULONG
  271.