Now that the console server works fine, move it into its real place (as in Windows), that is, inside winsrv.dll, instead of hosting it in consrv.dll.
svn path=/trunk/; revision=59461
Kill bashisms introduced by r59197 and replace them by sh code.
This is mainly to preserve maximum portability of the code, and to
fix configure.sh on platforms where /bin/sh doesn't point to /bin/sh ;-).
svn path=/trunk/; revision=59457
- Hey Arch! You're displaying Major function codes, not IOCTL codes. Also, remove unnecessary casts (coming from some old code), and a use-after free.
- Add some memory helpers.
svn path=/trunk/; revision=59448
Initial commit of the ReactOS Console Driver.
For the moment, it's just able to load/unload, creating a "controller" device
and being able to DPRINT1 lots of messages when you try to access to it.
svn path=/trunk/; revision=59447
- Try again to fix version detection. If anyone sees compilers that are not .00 versions, please complain. This is required because a simply "contains" check can match all parts of the version number -- e.g. 16.00.40219.01 contains "19." in addition to "16."
svn path=/trunk/; revision=59443
Indeed with VS2010, checking for the string content " 16." instead of "16." makes version checking fail.
After checking with a hex editor what was the character preceding the number "1" of the "16." part of the
version string returned by cl.exe, I saw that it wasn't a space as thought by the author, but the character
of code 0xA0 ...
svn path=/trunk/; revision=59437
Forgot to add those files in the previous commit r59435:
We now store only console handles and not console pointers themselves.
svn path=/trunk/; revision=59436
- Use a handle table for storing consoles. Now checking validity of console handles is done in O(1) instead of O(n) as before.
I will see later on whether it would be good to have both a handle table and a linked list (which is removed here) for storing them
(when condrv will be a real console driver, handles to consoles will be obtained as you would obtain usual handles to devices, etc...
so that consoles will be internally stored in a linked list again).
- Add a "dummy" frontend to have the possibility to adopt default actions when no frontend is attached to a console, and to always have
a valid virtual table for them.
svn path=/trunk/; revision=59435
- Fix some files' info-header text.
- Move code of SrvSetConsoleWindowInfo to ConDrvSetConsoleWindowInfo.
- Introduce the helper function GetScreenBufferSizeUnits to retrieve screen-buffer width/height units.
svn path=/trunk/; revision=59433
- Switch back to a 32K receive window, because WRAP doesn't work with a 64K window and our receive code depends on that functionality
svn path=/trunk/; revision=59430
- Fix receive stalling if more than 10 packets are in the receive window
- Tune configuration to use larger DMA transfers and begin DMA earlier
svn path=/trunk/; revision=59429
- Add an RTL8139 driver based on documentation on OSDev, our existing drivers, and some prior work by Z98
- It should fully work on emulated and real RTL8139 hardware (I developed against QEMU's RTL8139)
- It's not 100% complete (some reset and halt paths aren't done) but everything I tested worked (ping, dwnl, rapps, Firefox)
svn path=/trunk/; revision=59427
Features-only commit:
- Fix version presentation at startup and when using the "ver" command (in French)
- Add to the prompt's command help, the fact that the $S specifier can be used to add a space.
- Implement the $I prompt specifier (see http://www.robvanderwoude.com/prompt.php), which sets
an information line on top of the screen (à la OS/2).
Use this new setting by default (I'm doing a poll on who loves it / hates it, and how we can improve it).
To disable it, use the command: "prompt $p$g" (the default windows' prompt).
To enable it, add the $s specifier to the prompt string (e.g. "prompt $i$p$g").
For your information, OS/2 uses "prompt $i[$p]" :)
svn path=/trunk/; revision=59422
- Move SrvSetConsoleWindowInfo to a better place.
- When enlarging the console buffer, use the attributes of the last cell of each line to fill the new cells for each line.
- Remove usage of HAVE_WMEMSET / wmemset for resizing the buffer (NOTE: maybe it will be needed again later on...)
svn path=/trunk/; revision=59420