Commit graph

27 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
dab294603f [KERNEL32/CONSRV]
- Make OpenConsole call only one server api, namely SrvOpenConsole, which was known before under the name CsrGetHandle (this latter function was removed in r57689 by error).
- Merge CSRSS_GET_INPUT_HANDLE and CSRSS_GET_OUTPUT_HANDLE structures into CSRSS_OPEN_CONSOLE (used by the functions named above).

[CONSRV]
- Add SrvOpenConsole (copied from CsrGetHandle), and add DPRINT1s to it.
- Load the localized string "Command Prompt" using the Server DLL's instance handle instead of calling GetModuleHandleW.
- Make use of CONSOLE_PROCESS_DATA structures.

svn path=/branches/ros-csrss/; revision=57723
2012-11-17 22:42:04 +00:00
Hermès Bélusca-Maïto
2006c3bf86 [KERNEL32/CONSRV]
- Move the waiting loop of IntReadConsole into SrvReadConsole instead.
- Merge IntPeekConsoleInput and IntReadConsoleInput helpers into a single IntGetConsoleInput helper function
  and make PeekConsoleInputW/A and ReadConsoleInputW/A use it.
  Indeed, the "only" difference between these two functions, is that the first one keeps the data read inside
  the console input buffer, but on the contrary the second removes the data and does not return until at least
  one input record has been read.
  In server-side, CsrReadInputEvent and CsrPeekConsoleInput are merged into SrvGetConsoleInput. Merge the corresponding
  structures.
- Use shorter variable names in IntReadConsoleOutput and use CONSOLE_PROCESS_DATA structure in SrvReadConsoleOutput.
- Merge IntReadConsoleOutputCharacter and ReadConsoleOutputAttribute functions into a single IntReadConsoleOutputCode
  helper function, and make ReadConsoleOutputAttribute and ReadConsoleOutputCharacterW/A use it.
  In server-side, CsrReadConsoleOutputChar and CsrReadConsoleOutputAttrib are merged into SrvReadConsoleOutputString.
  (Remark: the SrvReadConsoleOutputString name comes from http://j00ru.vexillium.org/csrss_list/api_list.html and I
  checked that it was indeed the server function that was called by both ReadConsoleOutputAttribute and ReadConsoleOutputCharacter).
  The idea behind merging these two functions is, that an attribute or a character are instances of the same entity, namely
  a "code" (what would be called an (ANSI) escape sequence). Therefore I encode them inside the same CSRSS_READ_CONSOLE_OUTPUT_CODE
  structure and I use it with the previous functions.

[CONSRV]
- Make use of the CONSOLE_PROCESS_DATA structure (introduced in r57685).
- Use CsrValidateMessageBuffer instead of Win32CsrValidateBuffer.
- Reorganize conmsg.h a little bit.

svn path=/branches/ros-csrss/; revision=57721
2012-11-17 21:39:41 +00:00
Hermès Bélusca-Maïto
0bdd9a32b0 [KERNEL32/CONSRV]
Fix compilation.

svn path=/branches/ros-csrss/; revision=57715
2012-11-15 23:13:23 +00:00
Hermès Bélusca-Maïto
903d3cfb1c [KERNEL32/CONSRV]
- Use a standard win32 thread function for the ConsoleControlDispatcher thread, instead of a custom PCONTROLDISPATCHER one.
- Deactivate debug outputs in console.c, which were activated by error in r57706.

svn path=/branches/ros-csrss/; revision=57714
2012-11-15 23:06:49 +00:00
Hermès Bélusca-Maïto
0473031b87 [KERNEL32]
- Move console-related Vista+ functions from client/vista.c to a dedicated client/console/vista.c file, and add it to compilation.
- Move some helper functions from console.c to history.c.
- Use the new api index names in history.c.

[CONSRV]
- Merge CSRSS_GET_HISTORY_INFO and PCSRSS_SET_HISTORY_INFO structures declarations into CSRSS_HISTORY_INFO, and therefore use only one member of it inside CONSOLE_API_MESSAGE structure.
- WORD --> UINT for few structure members related to history information.

svn path=/branches/ros-csrss/; revision=57713
2012-11-15 22:34:44 +00:00
Hermès Bélusca-Maïto
1ccafa6cae [KERNEL32/CONSRV]
- Use capture buffers to pass (variable-length) strings to the console server.
- Merge the CSRSS_ADD_CONSOLE_ALIAS and CSRSS_GET_CONSOLE_ALIAS structures into a unique structure CSRSS_CONSOLE_ALIAS.

TODO: Check what happens to the "/ sizeof(WCHAR);" in GetConsoleAliasesW.

svn path=/branches/ros-csrss/; revision=57712
2012-11-15 21:02:01 +00:00
Hermès Bélusca-Maïto
d6b0ad349a [KERNEL32]
- Move all the read/write related functions to an appropriate source file and add it to compilation.
- Fix credits for alias.c

svn path=/branches/ros-csrss/; revision=57711
2012-11-15 18:06:17 +00:00
Hermès Bélusca-Maïto
c1f19d61c2 [KERNEL32]
Compile alias.c and history.c.

svn path=/branches/ros-csrss/; revision=57710
2012-11-15 17:13:53 +00:00
Hermès Bélusca-Maïto
a0dd01612e [KERNEL32]
- Move history-functions to a dedicated source file. The functions were created in r47580 and therefore update the description header of the file.

svn path=/branches/ros-csrss/; revision=57709
2012-11-15 17:09:51 +00:00
Hermès Bélusca-Maïto
c13acb3749 Fix header (no code changes).
svn path=/branches/ros-csrss/; revision=57708
2012-11-15 16:53:30 +00:00
Hermès Bélusca-Maïto
2ae258d08d [KERNEL32]
- Move alias-functions to a dedicated file. The names of the programmers were retrieved via svn information (see r32093 and r32118).

svn path=/branches/ros-csrss/; revision=57707
2012-11-15 16:51:29 +00:00
Hermès Bélusca-Maïto
66b2c326a5 [KERNEL32]
Fix some comments formatting.

svn path=/branches/ros-csrss/; revision=57706
2012-11-15 16:29:21 +00:00
Hermès Bélusca-Maïto
aa2347c408 [KERNEL32]
- Place console.c file in a dedicated directory because I will after split it into logical units (eg. a file for Alias-functions, a file for Read-write functions, etc...) to facilitate maintenance.

svn path=/branches/ros-csrss/; revision=57705
2012-11-15 16:24:43 +00:00
Hermès Bélusca-Maïto
f77f05cd9d Synchronize up to trunk's revision r57689.
svn path=/branches/ros-csrss/; revision=57690
2012-11-07 23:07:18 +00:00
Hermès Bélusca-Maïto
a8f1d34118 [KERNEL32]
Use the new messaging structures...

svn path=/branches/ros-csrss/; revision=57668
2012-11-02 18:30:27 +00:00
Hermès Bélusca-Maïto
1f05ce5f28 [KERNEL32]
- Use new messaging structures, defined-names instead of hardcoded values.
- Enable temporary debugging tracing and add some DPRINTs.
- Delete an unused variable.

svn path=/branches/ros-csrss/; revision=57667
2012-11-02 18:28:42 +00:00
Hermès Bélusca-Maïto
1e4253f2c0 [KERNEL32]
This is the first of a series of commits aiming at making kernel32 using the new CSR messaging structures for communicating with Server Dlls.

svn path=/branches/ros-csrss/; revision=57666
2012-11-02 18:00:47 +00:00
Hermès Bélusca-Maïto
bd4d83d88f [WIN32K]
- Remove the now unneeded CSR messaging support.
- CsrInit() goes away also and the usage of the CsrProcess is replaced by that of gpepCSRSS.

[WINSRV]
- Use a DLL instance for loading resources, instead of calling GetModuleHandle.

[KERNEL32/NTDLL]
- Remove unneeded variables.

svn path=/branches/ros-csrss/; revision=57665
2012-11-02 13:50:31 +00:00
Hermès Bélusca-Maïto
eb1f9f74b7 Forgot two files.
svn path=/branches/ros-csrss/; revision=57654
2012-10-31 00:41:02 +00:00
Hermès Bélusca-Maïto
509461cd33 Synchronize with trunk's revision r57652.
svn path=/branches/ros-csrss/; revision=57653
2012-10-31 00:26:38 +00:00
Hermès Bélusca-Maïto
43c7fc0c8d Synchronize with trunk's revision r57629.
svn path=/branches/ros-csrss/; revision=57630
2012-10-28 10:05:08 +00:00
Hermès Bélusca-Maïto
3cb1779934 [WIN32SS/USER32]
- Use the new subsystems header winmsg.h
- Use the new USER_API_MESSAGE structure, and adapt co_CsrNotify in consequence.
- Code formatting.

[KERNEL32]
- Use the new subsystems headers basemsg.h, conmsg.h, winmsg.h, etc...

[NTDLL]
- Code formatting only.

svn path=/branches/ros-csrss/; revision=57628
2012-10-27 23:52:28 +00:00
Hermès Bélusca-Maïto
b507bd0612 [CSR/BASESRV/CONSRV/WINSRV]
- Fix code headers. No code changes.
- Rename csrcl.h to csr.h for readability purposes.
- exitros.c --> shutdown.c

svn path=/branches/ros-csrss/; revision=57618
2012-10-25 20:40:41 +00:00
Hermès Bélusca-Maïto
aab393ca70 Synchronize with trunk's revision r57599.
svn path=/branches/ros-csrss/; revision=57600
2012-10-23 19:54:03 +00:00
Hermès Bélusca-Maïto
13fc08ccc7 [NTDLL/KERNEL32]
- Use new naming scheme.

[CSRSRV]
- Continuing headers reorganization.
- Activate new code.

[CSRSRV/WIN32CSR]
- Move some code into basesrv.

[BASESRV]
- Add basesrv.dll
The names of the APIs tables come from http://j00ru.vexillium.org/csrss_list/api_list.html as usual,
however I used the NT 4 ones for testing purposes only. After that I will update them to 2k3 version
and add function stubs. Also some variable names are deduced from the subsystems/win32/csrss/csrsrv/server.c ones.

svn path=/branches/ros-csrss/; revision=57587
2012-10-20 21:03:32 +00:00
Hermès Bélusca-Maïto
61d07a5b47 [NTDLL/KERNEL32/CSRSRV/WIN32K/USER32/WIN32CSR]
- Use the new messaging structures and the new macros, plus the new CSR_API function's signature (--> and rename some variables).
- Code cleaning & formatting.

[CSRSS/NDK]
- Reorganize all the header files in logical units (server.h for server-side of CSR, client.h for client-side, and msg.h for messaging), removing duplicated definitions.
- Code cleaning & formatting.

The next step would be to activate the code of server-dll loading inside csrsrv, then moving all the console-related APIs from win32csr to winsrv, the latter built with the same structure as csrsrv's.

svn path=/branches/ros-csrss/; revision=57570
2012-10-17 23:10:40 +00:00
Hermès Bélusca-Maïto
65ce146169 Create a branch for working on csrss and co.
svn path=/branches/ros-csrss/; revision=57561
2012-10-14 13:04:31 +00:00