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.

326 lines
8.9 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corp., 1991 **/
  4. /**********************************************************************/
  5. /*
  6. lmui.hxx
  7. Master LM UI definition file
  8. This file includes lmuitype, which predefines the basic type used
  9. by windows.h and os2.h; those includefiles must then honor the
  10. NOBASICTYPES directive, which is added by the $(UI)\common\hack
  11. scripts.
  12. Symbols recognized:
  13. INCL_OS2 - Use the OS/2 APIs.
  14. INCL_WINDOWS - Use the Windows APIs.
  15. INCL_WINDOWS_GDI ...includes all GDI defines and routines
  16. INCL_WINDOWS_COMM ...includes COMM driver routines
  17. INCL_NET - Use the LAN Manager APIs.
  18. INCL_DOSERRORS - OS error codes
  19. INCL_NETERRORS - Additional LM error codes
  20. INCL_NETLIB - uinetlib.h APIs
  21. INCL_ICANON - icanon.h APIs
  22. FILE HISTORY:
  23. beng 11-Feb-1991 Added to $(UI)\common\h
  24. beng 13-Feb-1991 Make C-compatible, per CT's request
  25. beng 22-Mar-1991 Added INCL_NET et al.
  26. beng 19-Jun-1991 Make OS2 and Windows mutually exclusive
  27. jonn 12-Aug-1991 added INCL_NETLIB
  28. jonn 16-Aug-1991 added INCL_ICANON
  29. beng 14-Oct-1991 Moved ptypes here from lmuitype; moved
  30. WIN31 hack here, from uiglobal.mk
  31. terryk 17-Oct-1991 Add !define(WIN32) before we undef
  32. ERROR_NOT_SUPPORTED
  33. jonn 22-Oct-1991 INCL_NETCONS also includes mnettype.h
  34. jonn 09-Dec-1991 Revised windows.h
  35. jonn 11-Dec-1991 Fixed extern "C" logic
  36. beng 11-Dec-1991 Correct PATHLEN in netcons.h under Win
  37. keithmo 13-Jan-1992 Removed NOTEXTMETRIC under WIN32.
  38. keithmo 25-Feb-1992 Added INCL_NETREPL.
  39. beng 01-Jul-1992 OS/2 is dead!
  40. keithmo 12-Dec-1992 Great header file munge (hack\nt is dead)
  41. */
  42. #include "lmuiwarn.h" // Warning suppression pragmas
  43. #include "declspec.h" // Define DLL_BASED
  44. #include "vcpphelp.h" // Define _CRTAPIn if necessary
  45. #if !defined(_LMUI_HXX_)
  46. #define _LMUI_HXX_
  47. #if defined(INCL_WINDOWS) && defined(INCL_OS2)
  48. #error INCL_WINDOWS and INCL_OS2 are mutually exclusive
  49. #endif
  50. #if defined(INCL_OS2)
  51. #error OS/2 is no longer supported.
  52. #endif
  53. #if defined(WIN32) && !defined(INCL_WINDOWS)
  54. #define NOMINMAX
  55. #define NORASTEROPS
  56. // Cannot define NOGDI, see below
  57. #define NOMETAFILE
  58. #define NOGDICAPMASKS
  59. #define NODRAWTEXT
  60. #define NOUSER
  61. #define NORESOURCE
  62. #define NOSCROLL
  63. #define NOSHOWWINDOW
  64. #define NOVIRTUALKEYCODES
  65. #define NOWH
  66. #define NODESKTOP
  67. #define NOWINDOWSTATION
  68. #define NOSECURITY
  69. #define NOMSG
  70. #define NOWINOFFSETS
  71. #define NOWINMESSAGES
  72. #define NOCMESSAGES
  73. #define NOKEYSTATES
  74. #define NOWINSTYLES
  75. #define NOCLIPBOARD
  76. #define NODEFERWINDOWPOS
  77. #define NOCTLMGR
  78. #define NOSYSMETRICS
  79. #define NOMENUS
  80. #define NOSCROLL
  81. #define NOMB
  82. #define NOCOLOR
  83. #define NOWINOFFSETS
  84. #define NOSYSCOMMANDS
  85. #define NOICONS
  86. #define NOKANJI
  87. #define NOWINMESSAGES
  88. #define NOMDI
  89. #define NOHELP
  90. #define NOPROFILER
  91. #define NOSYSPARAMSINFO
  92. #define INCL_WINDOWS
  93. #endif
  94. #if defined(INCL_WINDOWS)
  95. # define NOMINMAX
  96. // Filter out any parts of windows.h which would normally provoke
  97. // compiler warnings from Glockenspiel C++. The client may override
  98. // this by defining the proper symbols:
  99. # if !defined(INCL_WINDOWS_COMM)
  100. # define NOCOMM
  101. # endif // INCL_WINDOWS_COMM
  102. // BUGBUG WIN32 - we need GDI for the porting layer stuff (DEVMODE)
  103. # if !defined(INCL_WINDOWS_GDI) && !defined(WIN32)
  104. # define NOGDI
  105. # endif // INCL_WINDOWS_GDI
  106. #endif // WINDOWS
  107. // INCL_NET includes all LAN Manager headers
  108. // plus error messages and system constants.
  109. #if defined(INCL_NET)
  110. # define INCL_NETCONS
  111. # define INCL_NETACCESS
  112. # define INCL_NETALERT
  113. # define INCL_NETAUDIT
  114. # define INCL_NETCHARDEV
  115. # define INCL_NETCONFIG
  116. # define INCL_NETCONNECTION
  117. # define INCL_NETDOMAIN
  118. # define INCL_NETERRORLOG
  119. # define INCL_NETERRORS
  120. # define INCL_NETFILE
  121. # define INCL_NETGROUP
  122. # define INCL_NETHANDLE
  123. # define INCL_NETMESSAGE
  124. # define INCL_NETREMUTIL
  125. # define INCL_NETSERVER
  126. # define INCL_NETSERVICE
  127. # define INCL_NETSESSION
  128. # define INCL_NETSHARE
  129. # define INCL_NETSTATS
  130. # define INCL_NETUSE
  131. # define INCL_NETUSER
  132. # define INCL_NETWKSTA
  133. #endif
  134. // Include Access definitions with the Share class; User with Domain,
  135. // and with Wksta. These are all as per LAN.H.
  136. #if defined(INCL_NETSHARE)
  137. # define INCL_NETACCESS
  138. #endif
  139. #if defined(INCL_NETDOMAIN)
  140. # define INCL_NETUSER
  141. #endif
  142. #if defined(INCL_NETWKSTA)
  143. # define INCL_NETUSER
  144. #endif
  145. // If any LAN Manager APIs are included, be sure to get NETCONS.
  146. // This is very awkward
  147. #if !defined(INCL_NETCONS)
  148. # if defined(INCL_NETACCESS)
  149. # define INCL_NETCONS
  150. # elif defined(INCL_NETALERT)
  151. # define INCL_NETCONS
  152. # elif defined(INCL_NETAUDIT)
  153. # define INCL_NETCONS
  154. # elif defined(INCL_NETCHARDEV)
  155. # define INCL_NETCONS
  156. # elif defined(INCL_NETCONFIG)
  157. # define INCL_NETCONS
  158. # elif defined(INCL_NETCONNECTION)
  159. # define INCL_NETCONS
  160. # elif defined(INCL_NETDOMAIN)
  161. # define INCL_NETCONS
  162. # elif defined(INCL_NETERRORLOG)
  163. # define INCL_NETCONS
  164. # elif defined(INCL_NETERRORS)
  165. # define INCL_NETCONS
  166. # elif defined(INCL_NETFILE)
  167. # define INCL_NETCONS
  168. # elif defined(INCL_NETGROUP)
  169. # define INCL_NETCONS
  170. # elif defined(INCL_NETHANDLE)
  171. # define INCL_NETCONS
  172. # elif defined(INCL_NETMESSAGE)
  173. # define INCL_NETCONS
  174. # elif defined(INCL_NETREMUTIL)
  175. # define INCL_NETCONS
  176. # elif defined(INCL_NETSERVER)
  177. # define INCL_NETCONS
  178. # elif defined(INCL_NETSERVICE)
  179. # define INCL_NETCONS
  180. # elif defined(INCL_NETSESSION)
  181. # define INCL_NETCONS
  182. # elif defined(INCL_NETSHARE)
  183. # define INCL_NETCONS
  184. # elif defined(INCL_NETSTATS)
  185. # define INCL_NETCONS
  186. # elif defined(INCL_NETUSE)
  187. # define INCL_NETCONS
  188. # elif defined(INCL_NETUSER)
  189. # define INCL_NETCONS
  190. # elif defined(INCL_NETWKSTA)
  191. # define INCL_NETCONS
  192. # elif defined(INCL_NETREPL)
  193. # define INCL_NETCONS
  194. # endif
  195. #endif
  196. // Type definitions common between every platform.
  197. #if defined(__cplusplus) && !defined(_WIN32)
  198. extern "C"
  199. {
  200. #endif
  201. #include "lmuitype.h"
  202. #include <windows.h>
  203. // Pick up the rest of the types needed for Win16/Win32 portability.
  204. // The types defined here should be used only by our mapping layers
  205. // (LMOBJ, BLT, etc.). App code will see these only in private
  206. // interfaces.
  207. //
  208. // Note that these are hacked versions of these files. The appropriate
  209. // version lives in the directory on the includepath: either hack/dos
  210. // or hack/nt, one.
  211. //
  212. // #if defined(INCL_WINDOWS)
  213. // # include <pwin.h>
  214. // #endif
  215. #if defined(INCL_NETCONS)
  216. # include "mnettype.h" // Get MNet* types
  217. # if defined(INCL_WINDOWS) && !defined(WIN32) && !defined(DOS3)
  218. # define DOS3 // Needed for correct PATHLEN in netcons.h
  219. # endif
  220. # include <lmcons.h>
  221. # if defined(WIN32)
  222. # include "mnet32.h" // Get portable mapping layer hacks.
  223. # endif
  224. #endif
  225. #if defined(INCL_DOSERRORS) && !defined(INCL_OS2)
  226. # include "uierr.h"
  227. #endif
  228. #if defined(INCL_NETERRORS)
  229. # if defined(INCL_DOSERRORS) && !defined(WIN32)
  230. # undef ERROR_NOT_SUPPORTED
  231. # undef ERROR_NET_WRITE_FAULT
  232. # undef ERROR_VC_DISCONNECTED
  233. # endif
  234. # include <lmerr.h>
  235. #endif
  236. #if defined(INCL_NETACCESS) || defined(INCL_NETDOMAIN) || defined(INCL_NETGROUP) || defined(INCL_NETUSER)
  237. # include <lmaccess.h>
  238. #endif
  239. #if defined(INCL_NETCHARDEV) || defined(INCL_NETHANDLE)
  240. # include <lmchdev.h>
  241. #endif
  242. #if defined(INCL_NETCONNECTION) || defined(INCL_NETFILE) || defined(INCL_NETSESSION) || defined(INCL_NETSHARE)
  243. # include <lmshare.h>
  244. #endif
  245. #if defined(INCL_NETALERT)
  246. # include <lmalert.h>
  247. #endif
  248. #if defined(INCL_NETAUDIT)
  249. # include <lmaudit.h>
  250. #endif
  251. #if defined(INCL_NETCONFIG)
  252. # include <lmconfig.h>
  253. #endif
  254. #if defined(INCL_NETERRORLOG)
  255. # include <lmerrlog.h>
  256. #endif
  257. #if defined(INCL_NETMESSAGE)
  258. # include <lmmsg.h>
  259. #endif
  260. #if defined(INCL_NETREMUTIL)
  261. # include <lmremutl.h>
  262. #endif
  263. #if defined(INCL_NETSERVER)
  264. # include <lmserver.h>
  265. #endif
  266. #if defined(INCL_NETSERVICE)
  267. # include <lmsvc.h>
  268. #endif
  269. #if defined(INCL_NETSTATS)
  270. # include <lmstats.h>
  271. #endif
  272. #if defined(INCL_NETUSE)
  273. # include <lmuse.h>
  274. #endif
  275. #if defined(INCL_NETWKSTA)
  276. # include <lmwksta.h>
  277. #endif
  278. #if defined(INCL_NETLIB)
  279. # include "uinetlib.h"
  280. #endif
  281. #if defined(INCL_ICANON)
  282. # include "icanon.h"
  283. #endif
  284. #if defined(INCL_NETREPL)
  285. # include <lmrepl.h>
  286. #endif
  287. #if defined(__cplusplus) && !defined(_WIN32)
  288. }
  289. #endif
  290. #endif // _LMUI_HXX_