1 /***************************** CSRSS Data ***********************************/
3 #ifndef __INCLUDE_CSRSS_CSRSS_H
4 #define __INCLUDE_CSRSS_CSRSS_H
6 #define CSR_NATIVE 0x0000
7 #define CSR_CONSOLE 0x0001
9 #define CONSOLE_INPUT_MODE_VALID (0x0f)
10 #define CONSOLE_OUTPUT_MODE_VALID (0x03)
13 #define CSR_CSRSS_SECTION_SIZE (65536)
15 typedef VOID (CALLBACK
*PCONTROLDISPATCHER
)(DWORD
);
20 } CSRSS_CONNECT_PROCESS
, *PCSRSS_CONNECT_PROCESS
;
22 typedef struct _BASE_SXS_CREATEPROCESS_MSG
25 ULONG ProcessParameterFlags
;
27 UNICODE_STRING SxsWin32ExePath
;
28 UNICODE_STRING SxsNtExePath
;
29 SIZE_T OverrideManifestOffset
;
30 ULONG OverrideManifestSize
;
31 SIZE_T OverridePolicyOffset
;
32 ULONG OverridePolicySize
;
33 PVOID PEManifestAddress
;
35 UNICODE_STRING CultureFallbacks
;
37 UNICODE_STRING AssemblyName
;
38 } BASE_SXS_CREATEPROCESS_MSG
, *PBASE_SXS_CREATEPROCESS_MSG
;
43 // NT-type structure (BASE_CREATEPROCESS_MSG)
52 BASE_SXS_CREATEPROCESS_MSG Sxs
;
53 PVOID PebAddressNative
;
54 ULONG PebAddressWow64
;
55 USHORT ProcessorArchitecture
;
61 } CSRSS_CREATE_PROCESS
, *PCSRSS_CREATE_PROCESS
;
67 } CSRSS_CREATE_THREAD
, *PCSRSS_CREATE_THREAD
;
72 } CSRSS_TERMINATE_PROCESS
, *PCSRSS_TERMINATE_PROCESS
;
78 ULONG nProcessIdsTotal
;
79 } CSRSS_GET_PROCESS_LIST
, *PCSRSS_GET_PROCESS_LIST
;
87 } CSRSS_IDENTIFY_ALERTABLE_THREAD
, *PCSRSS_IDENTIFY_ALERTABLE_THREAD
;
92 } CSRSS_REGISTER_SERVICES_PROCESS
, *PCSRSS_REGISTER_SERVICES_PROCESS
;
98 } CSRSS_EXIT_REACTOS
, *PCSRSS_EXIT_REACTOS
;
104 } CSRSS_SET_SHUTDOWN_PARAMETERS
, *PCSRSS_SET_SHUTDOWN_PARAMETERS
;
110 } CSRSS_GET_SHUTDOWN_PARAMETERS
, *PCSRSS_GET_SHUTDOWN_PARAMETERS
;
115 } CSRSS_CLOSE_HANDLE
, *PCSRSS_CLOSE_HANDLE
;
120 } CSRSS_VERIFY_HANDLE
, *PCSRSS_VERIFY_HANDLE
;
128 } CSRSS_DUPLICATE_HANDLE
, *PCSRSS_DUPLICATE_HANDLE
;
133 } CSRSS_CREATE_DESKTOP
, *PCSRSS_CREATE_DESKTOP
;
140 } CSRSS_SHOW_DESKTOP
, *PCSRSS_SHOW_DESKTOP
;
145 } CSRSS_HIDE_DESKTOP
, *PCSRSS_HIDE_DESKTOP
;
149 HWND LogonNotifyWindow
;
150 } CSRSS_SET_LOGON_NOTIFY_WINDOW
, *PCSRSS_SET_LOGON_NOTIFY_WINDOW
;
156 } CSRSS_REGISTER_LOGON_PROCESS
, *PCSRSS_REGISTER_LOGON_PROCESS
;
160 HANDLE InputWaitHandle
;
161 } CSRSS_GET_INPUT_WAIT_HANDLE
, *PCSRSS_GET_INPUT_WAIT_HANDLE
;
166 } CSRSS_GET_TEMP_FILE
, *PCSRSS_GET_TEMP_FILE
;
170 UNICODE_STRING DeviceName
;
171 UNICODE_STRING TargetName
;
173 } CSRSS_DEFINE_DOS_DEVICE
, *PCSRSS_DEFINE_DOS_DEVICE
;
178 } CSRSS_SOUND_SENTRY
, *PCSRSS_SOUND_SENTRY
;
184 HANDLE ConsoleHandle
;
185 HANDLE VDMProcessHandle
;
186 HANDLE WaitObjectForParent
;
188 USHORT VDMCreationState
;
189 } CSRSS_UPDATE_VDM_ENTRY
, *PCSRSS_UPDATE_VDM_ENTRY
;
193 HANDLE ConsoleHandle
;
196 } CSRSS_GET_VDM_EXIT_CODE
, *PCSRSS_GET_VDM_EXIT_CODE
;
201 HANDLE ConsoleHandle
;
203 HANDLE WaitObjectForParent
;
208 ULONG dwCreationFlags
;
225 USHORT CurDirectoryLen
;
228 } CSRSS_CHECK_VDM
, *PCSRSS_CHECK_VDM
;
230 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
231 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
232 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
233 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
234 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
235 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
237 #define CREATE_PROCESS (0x0)
238 #define TERMINATE_PROCESS (0x1)
239 #define WRITE_CONSOLE (0x2)
240 #define READ_CONSOLE (0x3)
241 #define ALLOC_CONSOLE (0x4)
242 #define FREE_CONSOLE (0x5)
243 #define CONNECT_PROCESS (0x6)
244 #define SCREEN_BUFFER_INFO (0x7)
245 #define SET_CURSOR (0x8)
246 #define FILL_OUTPUT (0x9)
247 #define READ_INPUT (0xA)
248 #define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
249 #define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
250 #define FILL_OUTPUT_ATTRIB (0xD)
251 #define GET_CURSOR_INFO (0xE)
252 #define SET_CURSOR_INFO (0xF)
253 #define SET_ATTRIB (0x10)
254 #define GET_CONSOLE_MODE (0x11)
255 #define SET_CONSOLE_MODE (0x12)
256 #define CREATE_SCREEN_BUFFER (0x13)
257 #define SET_SCREEN_BUFFER (0x14)
258 #define SET_TITLE (0x15)
259 #define GET_TITLE (0x16)
260 #define WRITE_CONSOLE_OUTPUT (0x17)
261 #define FLUSH_INPUT_BUFFER (0x18)
262 #define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
263 #define READ_CONSOLE_OUTPUT_CHAR (0x1A)
264 #define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
265 #define GET_NUM_INPUT_EVENTS (0x1C)
266 #define REGISTER_SERVICES_PROCESS (0x1D)
267 #define EXIT_REACTOS (0x1E)
268 #define GET_SHUTDOWN_PARAMETERS (0x1F)
269 #define SET_SHUTDOWN_PARAMETERS (0x20)
270 #define PEEK_CONSOLE_INPUT (0x21)
271 #define READ_CONSOLE_OUTPUT (0x22)
272 #define WRITE_CONSOLE_INPUT (0x23)
273 #define GET_INPUT_HANDLE (0x24)
274 #define GET_OUTPUT_HANDLE (0x25)
275 #define CLOSE_HANDLE (0x26)
276 #define VERIFY_HANDLE (0x27)
277 #define DUPLICATE_HANDLE (0x28)
278 #define SETGET_CONSOLE_HW_STATE (0x29)
279 #define GET_CONSOLE_WINDOW (0x2A)
280 #define CREATE_DESKTOP (0x2B)
281 #define SHOW_DESKTOP (0x2C)
282 #define HIDE_DESKTOP (0x2D)
283 #define SET_CONSOLE_ICON (0x2E)
284 #define SET_LOGON_NOTIFY_WINDOW (0x2F)
285 #define REGISTER_LOGON_PROCESS (0x30)
286 #define GET_CONSOLE_CP (0x31)
287 #define SET_CONSOLE_CP (0x32)
288 #define GET_CONSOLE_OUTPUT_CP (0x33)
289 #define SET_CONSOLE_OUTPUT_CP (0x34)
290 #define GET_INPUT_WAIT_HANDLE (0x35)
291 #define GET_PROCESS_LIST (0x36)
292 #define START_SCREEN_SAVER (0x37)
293 #define ADD_CONSOLE_ALIAS (0x38)
294 #define GET_CONSOLE_ALIAS (0x39)
295 #define GET_ALL_CONSOLE_ALIASES (0x3A)
296 #define GET_ALL_CONSOLE_ALIASES_LENGTH (0x3B)
297 #define GET_CONSOLE_ALIASES_EXES (0x3C)
298 #define GET_CONSOLE_ALIASES_EXES_LENGTH (0x3D)
299 #define GENERATE_CTRL_EVENT (0x3E)
300 #define CREATE_THREAD (0x3F)
301 #define SET_SCREEN_BUFFER_SIZE (0x40)
302 #define GET_CONSOLE_SELECTION_INFO (0x41)
303 #define GET_COMMAND_HISTORY_LENGTH (0x42)
304 #define GET_COMMAND_HISTORY (0x43)
305 #define EXPUNGE_COMMAND_HISTORY (0x44)
306 #define SET_HISTORY_NUMBER_COMMANDS (0x45)
307 #define GET_HISTORY_INFO (0x46)
308 #define SET_HISTORY_INFO (0x47)
309 #define GET_TEMP_FILE (0x48)
310 #define DEFINE_DOS_DEVICE (0x49)
311 #define SOUND_SENTRY (0x50)
312 #define UPDATE_VDM_ENTRY (0x51)
313 #define GET_VDM_EXIT_CODE (0x52)
314 #define CHECK_VDM (0x53)
317 typedef struct _NLS_USER_INFO
323 WCHAR iPaperSize
[80];
329 WCHAR iNegNumber
[80];
330 WCHAR sNativeDigits
[80];
331 WCHAR iDigitSubstitution
[80];
333 WCHAR sMonDecSep
[80];
334 WCHAR sMonThouSep
[80];
335 WCHAR sMonGrouping
[80];
336 WCHAR iCurrDigits
[80];
341 WCHAR sTimeFormat
[80];
344 WCHAR sShortDate
[80];
345 WCHAR sYearMonth
[80];
349 WCHAR iFirstWeek
[80];
351 WCHAR sLocaleName
[85];
353 LUID InteractiveUserLuid
;
354 CHAR InteractiveUserSid
[68]; // SECURITY_MAX_SID_SIZE to make ROS happy
355 ULONG ulCacheUpdateCount
;
356 } NLS_USER_INFO
, *PNLS_USER_INFO
;
359 typedef struct _BASE_STATIC_SERVER_DATA
361 UNICODE_STRING WindowsDirectory
;
362 UNICODE_STRING WindowsSystemDirectory
;
363 UNICODE_STRING NamedObjectDirectory
;
364 USHORT WindowsMajorVersion
;
365 USHORT WindowsMinorVersion
;
369 WCHAR CSDVersion
[128];
370 SYSTEM_BASIC_INFORMATION SysInfo
;
371 SYSTEM_TIMEOFDAY_INFORMATION TimeOfDay
;
372 PVOID IniFileMapping
;
373 NLS_USER_INFO NlsUserInfo
;
374 BOOLEAN DefaultSeparateVDM
;
375 BOOLEAN IsWowTaskReady
;
376 UNICODE_STRING WindowsSys32x86Directory
;
377 BOOLEAN fTermsrvAppInstallMode
;
378 TIME_ZONE_INFORMATION tziTermsrvClientTimeZone
;
379 KSYSTEM_TIME ktTermsrvClientBias
;
380 ULONG TermsrvClientTimeZoneId
;
381 BOOLEAN LUIDDeviceMapsEnabled
;
382 ULONG TermsrvClientTimeZoneChangeNum
;
383 } BASE_STATIC_SERVER_DATA
, *PBASE_STATIC_SERVER_DATA
;
386 /* Types used in the new CSR. Temporarly here for proper compile of NTDLL */
387 // Not used at the moment...
388 typedef enum _CSR_SRV_API_NUMBER
393 CsrpIdentifyAlertable
,
394 CsrpSetPriorityClass
,
396 } CSR_SRV_API_NUMBER
, *PCSR_SRV_API_NUMBER
;
398 #endif /* __INCLUDE_CSRSS_CSRSS_H */