win32 console
Michael Stefaniuc
mstefani at redhat.de
Wed Apr 11 20:21:55 CDT 2001
Hello,
This patch add stubs for WriteConsoleOutputAttribute,
WriteConsoleOutputCharacter{A,W} and updates wincon.h .
The patch is based on:
http://msdn.microsoft.com/library/psdk/winbase/conchar_3vg3.htm
Due to the updated wincon.h debugger/editline.c needs to include
winbase.h .
ChangeLog:
- added stub's for three console functions
- updated wincon.h
- debugger/editline.c needs to include winbase.h
Modified:
dlls/kernel/kernel32.spec
win32/console.c
include/wincon.h
debugger/editline.c
bye
michael
--
Michael Stefaniuc Tel.: +49-711-96437-199
System Administration Fax.: +49-711-96437-111
Red Hat GmbH Email: mstefani at redhat.de
Hauptstaetterstr. 58 http://www.redhat.de/
D-70178 Stuttgart
-------------- next part --------------
Index: debugger/editline.c
===================================================================
RCS file: /home/wine/wine/debugger/editline.c,v
retrieving revision 1.10
diff -u -r1.10 editline.c
--- debugger/editline.c 2000/05/03 17:48:21 1.10
+++ debugger/editline.c 2001/04/12 00:40:08
@@ -30,6 +30,7 @@
#include <string.h>
#include "windef.h"
+#include "winbase.h"
#include "wincon.h"
#include "debugger.h"
Index: dlls/kernel/kernel32.spec
===================================================================
RCS file: /home/wine/wine/dlls/kernel/kernel32.spec,v
retrieving revision 1.32
diff -u -r1.32 kernel32.spec
--- dlls/kernel/kernel32.spec 2001/04/09 18:34:50 1.32
+++ dlls/kernel/kernel32.spec 2001/04/12 00:40:09
@@ -776,9 +776,9 @@
@ stdcall WriteConsoleInputA(long ptr long ptr) WriteConsoleInputA
@ stdcall WriteConsoleInputW(long ptr long ptr) WriteConsoleInputW
@ stdcall WriteConsoleOutputA(long ptr long long ptr) WriteConsoleOutputA
-@ stub WriteConsoleOutputAttribute
-@ stub WriteConsoleOutputCharacterA
-@ stub WriteConsoleOutputCharacterW
+@ stdcall WriteConsoleOutputAttribute(long ptr long long ptr) WriteConsoleOutputAttribute
+@ stdcall WriteConsoleOutputCharacterA(long ptr long long ptr) WriteConsoleOutputCharacterA
+@ stdcall WriteConsoleOutputCharacterW(long ptr long long ptr) WriteConsoleOutputCharacterW
@ stdcall WriteConsoleOutputW(long ptr long long ptr) WriteConsoleOutputW
@ stdcall WriteConsoleW(long ptr long ptr ptr) WriteConsoleW
@ stdcall WriteFile(long ptr long ptr ptr) WriteFile
Index: include/wincon.h
===================================================================
RCS file: /home/wine/wine/include/wincon.h,v
retrieving revision 1.10
diff -u -r1.10 wincon.h
--- include/wincon.h 2000/11/25 21:46:31 1.10
+++ include/wincon.h 2001/04/12 00:40:11
@@ -191,4 +191,54 @@
BOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,
COORD dwSize);
+BOOL WINAPI AllocConsole(VOID);
+HANDLE WINAPI CreateConsoleScreenBuffer( DWORD dwDesiredAccess, DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES sa, DWORD dwFlags, LPVOID lpScreenBufferData);
+BOOL WINAPI FillConsoleOutputAttribute( HANDLE hConsoleOutput, WORD wAttribute,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumAttrsWritten);
+BOOL WINAPI FillConsoleOutputCharacterA( HANDLE hConsoleOutput, BYTE cCharacter,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumCharsWritten);
+BOOL WINAPI FillConsoleOutputCharacterW( HANDLE hConsoleOutput, WCHAR cCharacter,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumCharsWritten);
+#define FillConsoleOutputCharacter WINELIB_NAME_AW(FillConsoleOutputCharacter)
+BOOL WINAPI FlushConsoleInputBuffer( HANDLE handle);
+BOOL WINAPI FreeConsole(VOID);
+BOOL WINAPI GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupID);
+UINT WINAPI GetConsoleCP(VOID);
+BOOL WINAPI GetConsoleCursorInfo( HANDLE hcon, LPCONSOLE_CURSOR_INFO cinfo);
+BOOL WINAPI GetConsoleMode( HANDLE hcon,LPDWORD mode);
+UINT WINAPI GetConsoleOutputCP(VOID);
+DWORD WINAPI GetConsoleTitleA(LPSTR title,DWORD size);
+DWORD WINAPI GetConsoleTitleW( LPWSTR title, DWORD size);
+#define GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
+BOOL WINAPI GetNumberOfConsoleInputEvents( HANDLE hcon,LPDWORD nrofevents);
+BOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD nrofbuttons);
+BOOL WINAPI ReadConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute,
+ DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfAttrsRead);
+BOOL WINAPI ScrollConsoleScreenBufferA( HANDLE hConsoleOutput, LPSMALL_RECT lpScrollRect,
+ LPSMALL_RECT lpClipRect, COORD dwDestOrigin, LPCHAR_INFO lpFill);
+BOOL WINAPI ScrollConsoleScreenBufferW( HANDLE hConsoleOutput, LPSMALL_RECT lpScrollRect,
+ LPSMALL_RECT lpClipRect, COORD dwDestOrigin, LPCHAR_INFO lpFill);
+#define ScrollConsoleScreenBuffer WINELIB_NAME_AW(ScrollConsoleScreenBuffer)
+BOOL WINAPI SetConsoleActiveScreenBuffer( HANDLE hConsoleOutput);
+BOOL WINAPI SetConsoleCP(UINT cp);
+BOOL WINAPI SetConsoleCtrlHandler( HANDLER_ROUTINE *func, BOOL add);
+BOOL WINAPI SetConsoleCursorInfo( HANDLE hcon, LPCONSOLE_CURSOR_INFO cinfo);
+BOOL WINAPI SetConsoleMode( HANDLE hcon, DWORD mode);
+BOOL WINAPI SetConsoleOutputCP(UINT cp);
+BOOL WINAPI SetConsoleTextAttribute( HANDLE hConsoleOutput,WORD wAttr);
+BOOL WINAPI SetConsoleTitleA(LPCSTR title);
+BOOL WINAPI SetConsoleTitleW(LPCWSTR title);
+#define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
+BOOL WINAPI SetConsoleWindowInfo( HANDLE hcon, BOOL bAbsolute, LPSMALL_RECT window);
+
+BOOL WINAPI WriteConsoleOutputAttribute( HANDLE hConsoleOutput, CONST WORD *lpAttribute,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumAttrsWritten);
+
+BOOL WINAPI WriteConsoleOutputCharacterA( HANDLE hConsoleOutput, LPCSTR lpCharacter,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumCharsWritten);
+BOOL WINAPI WriteConsoleOutputCharacterW( HANDLE hConsoleOutput, LPCWSTR lpCharacter,
+ DWORD nLength, COORD dwCoord, LPDWORD lpNumCharsWritten);
+#define WriteConsoleOutputCharacter WINELIB_NAME_AW(WriteConsoleOutputCharacter)
+
#endif /* __WINE_WINCON_H */
Index: win32/console.c
===================================================================
RCS file: /home/wine/wine/win32/console.c,v
retrieving revision 1.74
diff -u -r1.74 console.c
--- win32/console.c 2001/03/22 19:35:27 1.74
+++ win32/console.c 2001/04/12 00:40:13
@@ -1701,3 +1701,83 @@
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return TRUE;
}
+
+/******************************************************************************
+ * WriteConsoleOutputAttribute [KERNEL32.@] Sets attributes for some cells in
+ * the console screen buffer
+ *
+ * PARAMS
+ * hConsoleOutput [I] Handle to screen buffer
+ * lpAttribute [I] Pointer to buffer with write attributes
+ * nLength [I] Number of cells to write to
+ * dwCoord [I] Coords of first cell
+ * lpNumAttrsWritten [O] Pointer to number of cells written
+ *
+ * RETURNS
+ * Success: TRUE
+ * Failure: FALSE
+ *
+ * BUGS
+ * Unimplemented
+ */
+BOOL WINAPI WriteConsoleOutputAttribute( HANDLE hConsoleOutput,
+ CONST WORD *lpAttribute, DWORD nLength, COORD dwCoord,
+ LPDWORD lpNumAttrsWritten)
+{
+ FIXME("(%d,%p,%ld,%dx%d,%p): stub\n", hConsoleOutput,
+ lpAttribute,nLength,dwCoord.X,dwCoord.Y,lpNumAttrsWritten);
+ *lpNumAttrsWritten = nLength;
+ return TRUE;
+}
+
+/******************************************************************************
+ * WriteConsoleOutputCharacterA [KERNEL32.@] Copies character to consecutive
+ * cells in the console screen buffer
+ *
+ * PARAMS
+ * hConsoleOutput [I] Handle to screen buffer
+ * lpCharacter [I] Pointer to buffer with chars to write
+ * nLength [I] Number of cells to write to
+ * dwCoord [I] Coords of first cell
+ * lpNumCharsWritten [O] Pointer to number of cells written
+ *
+ * BUGS
+ * Unimplemented
+ */
+BOOL WINAPI WriteConsoleOutputCharacterA( HANDLE hConsoleOutput,
+ LPCSTR lpCharacter, DWORD nLength, COORD dwCoord,
+ LPDWORD lpNumCharsWritten)
+{
+ FIXME("(%d,%p,%ld,%dx%d,%p): stub\n", hConsoleOutput,
+ lpCharacter,nLength,dwCoord.X,dwCoord.Y,lpNumCharsWritten);
+ *lpNumCharsWritten = nLength;
+ return TRUE;
+}
+
+/******************************************************************************
+ * WriteConsoleOutputCharacterW [KERNEL32.@] Copies character to consecutive
+ * cells in the console screen buffer
+ *
+ * PARAMS
+ * hConsoleOutput [I] Handle to screen buffer
+ * lpCharacter [I] Pointer to buffer with chars to write
+ * nLength [I] Number of cells to write to
+ * dwCoord [I] Coords of first cell
+ * lpNumCharsWritten [O] Pointer to number of cells written
+ *
+ * RETURNS
+ * Success: TRUE
+ * Failure: FALSE
+ *
+ * BUGS
+ * Unimplemented
+ */
+BOOL WINAPI WriteConsoleOutputCharacterW( HANDLE hConsoleOutput,
+ LPCWSTR lpCharacter, DWORD nLength, COORD dwCoord,
+ LPDWORD lpNumCharsWritten)
+{
+ FIXME("(%d,%p,%ld,%dx%d,%p): stub\n", hConsoleOutput,
+ lpCharacter,nLength,dwCoord.X,dwCoord.Y,lpNumCharsWritten);
+ *lpNumCharsWritten = nLength;
+ return TRUE;
+}
More information about the wine-patches
mailing list