2001-01-25 22:22:21 +00:00
|
|
|
/*
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
* DEC 93 Erik Bos <erik@xs4all.nl>
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*
|
|
|
|
* Copyright 1996 Marcus Meissner
|
1999-03-21 15:45:41 +00:00
|
|
|
*
|
2002-03-09 23:29:33 +00:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
*/
|
|
|
|
|
2001-11-06 20:57:11 +00:00
|
|
|
#include "config.h"
|
2001-07-26 21:43:56 +00:00
|
|
|
#include "wine/port.h"
|
1998-04-13 12:21:30 +00:00
|
|
|
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
#include <stdlib.h>
|
2003-09-05 23:08:26 +00:00
|
|
|
#include <stdarg.h>
|
2000-02-10 19:03:02 +00:00
|
|
|
#include <stdio.h>
|
2002-05-14 23:18:23 +00:00
|
|
|
#ifdef HAVE_TERMIOS_H
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
#include <termios.h>
|
2002-05-14 23:18:23 +00:00
|
|
|
#endif
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
#include <fcntl.h>
|
|
|
|
#include <string.h>
|
Release 980614
Sun Jun 15 10:30:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/dos_fs.c] [files/file.c] [if1632/wprocs.spec]
[misc/aspi.c]
Added support for scanners that need Adaptec's ASPI2DOS.
* [graphics/env.c] [misc/printerdrv.c] [graphics/win16drv/init.c]
[if1632/gdi.spec] [include/gdi.h]
Enhanced printer support (especially Win95):
Drv[GS]etPrinterData, [GS]etEnvironment; added AbortProc handling.
* [misc/tapi32.c] [relay32/tapi32.spec]
Added some stubs.
* [configure.in] [graphics/fontengine.c] [include/windows.h]
[misc/comm.c] [misc/w32skrnl.c] [misc/win32s16.c]
Made Wine compile on HP-UX (just for fun ;)
* [controls/menu.c] [include/windows.h]
Complete rewrite of EnableMenuItem32.
Free Agent 32 still doesn't work :(
* [misc/version.c] [if1632/kernel.spec] [include/winbase.h]
Implemented GetVersionEx16.
* [misc/network.c] [if1632/user.spec]
Fixed arguments of WNetGetPropertyText.
* [misc/version.c] [relay32/comctl32.spec] [relay32/oleaut32.spec]
Implemented COMCTL32_DllGetVersion, OaBuildVersion.
* [win32/file.c]
Fixed UNC handling of CreateFile32.
Sat Jun 13 22:35:12 1998 Douglas Ridgway <ridgway@winehq.com>
* [Makefile.in] [Make.rules.in]
Added pattern for CVS merge files to 'make clean'
* [ole/olecli.c] [windows/scroll.c] [windows/grahics.c]
Add some DC handle unlocking. (When hdc's are always unlocked,
they can be made moveable.)
* [documentation/wine.texinfo]
Started a Wine Design chapter with discussion of
graphics driver model.
Sat Jun 13 11:19:25 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [misc/main.c] [relay32/relay386.c]
Added new option -debugmsg +relay=.... or -debugmsg -relay=...
Fri Jun 12 22:56:09 1998 Marcus Meissner <marcus@jet.franken.de>
* [relay32/snoop.c][relay32/builtin.c][loader/pe_image.c]
Added inter win32 dll snooping. Use -debugmsg +snoop.
Number of arguments and string references are autodetected.
Some small bugfixes in the PE loader.
* [misc/system.c]
Disabled SystemTimers. They do not work with the current
%fs handling in the 32->16 relaycode. (helps labview)
* [msdos/dpmi.c][msdos/int2f.c][files/drive.c]
Added a monoton linear increasing memory allocator for DPMI (required
for LabView, HAFAS, ...)
mscdex handling in emulated realmode interrupts (for mcicda.drv)
allocate logical drives only once. (helps Myst)
* [files/profile.c]
Handle ^Z as space. Found on CDROMS (helps Myst Installer).
* [multimedia/mmio.c]
mmio* partially updated to win32. No funny additions.
* [windows/driver.c]
Added win32 driver handling (will be used for win32 multimedia/
msvideo drivers).
* [win32/device.c]
Added device handling (K32OBJ_DEVICE_IOCTL). Implemented
VTDAPI.5 (used by win95' WINMM.timeGetTime())
Fri Jun 12 18:01:18 1998 Rein Klazes <rklazes@casema.net>
* [ole/compobj.c relay32/ole32.spec]
Add a stub for CoLockObjectExternal32.
* [objects/clipping.c]
Fix in IntersectClipRect(), when there is no initial clipping
region.
* [graphics/x11drv/graphics.c]
Corrected several "one-off" errors for the Ellipse, Rectangle
and RoundRectangle (especially small ones) draw routines.
Arc and friends still have to be done.
Fri Jun 12 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/ntdll.c]
Fixed some of the parameter counts.
* [misc/registry.c]
General cleanup, documentation.
Standard keys are allowed to be 'closed' and succeed.
* [misc/shell.c]
Check for correct return values from Reg* functions.
* [win32/newfns.c]
Added stubs for OpenDesktopA, SetThreadDesktop, and
SetUserObjectInformationA.
Wed Jun 10 20:28:08 1998 James Juran <jrj120@psu.edu>
* [debugger/break.c]
Fixed bug introduced in 980503 that broke the -debug command
line option for PE executable files.
* [configure.in] [include/acconfig.h] [include/debugtools.h]
[documentation/debug-msgs]
Added 'configure' options to compile out debugging messages.
Use --disable-debug to disable all debugging messages, and
--disable-trace to just disable TRACE messages. This results
in a stripped executable that is 15-20% smaller. This option
is very much untested--don't expect it to work.
* [documentation/debug-msgs] [documentation/debugging]
Minor updates.
* [*/*.c]
Fixed some compile warnings. This also includes the
compile_warnings_trivial patch from WineHQ.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [windows/sysmetrics.c][include/sysmetrics.h]
Fixed some Win95 values.
* [windows/nonclient.c][include/windows.h]
Fixed some Win95 drawing bugs.
Added extended window style flags (WS_EX_xxx).
* [misc/printdrv.c][relay32/winspool.spec]
Added stubs for DeletePrinterDriver32A, DeleteMonitor32A
and DeletePort32A.
* [windows/mdi.c][include/windows.h][relay32/user32.spec]
Added stubs for CascadeWindows and TileWindows.
* [controls/toolbar.c][include/toolbar.h]
Fixed a few bugs and implemented new features.
* [misc/shellord.c][relay32/shell32.spec]
Added stubs for SHELL32_60, SHELL32_61 and SHELL32_184.
* [controls/comctl32undoc.c][relay32/comctl32.spec]
New file comctl32undoc.c. Contains undocumented functions
of COMCTL32.DLL. These functions are needed to run EXPLORER.EXE
IEXPLORE.EXE and TASKMAN.EXE.
* [controls/status.c]
Added text alignment.
Tue Jun 8 22:00:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [programs/*/Makefile.in]
Changed the rules to use wrc as resource compiler but
passing the source through gcc first for macro expansion.
* [programs/*/*.rc]
Added #include "windows.h" for the resource compiler in the
appropriate files.
* [tools/wrc/wrc.[ch]] [tools/wrc/writeres.c]
Added commandline option -A for autoregister code.
Corrected the underscore problem by checking the proper define
from config.h.
Sun Jun 7 22:09:29 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c] [memory/string.c]
Improved LCMapString32A, and changed CompareString32A,
lstrcmp, lstrcmpi to use it.
Sat Jun 6 19:00:50 1998 Martin Strmberg <ams@ludd.luth.se>
* [include/winnt.h]
Added typedefs for security and tokens.
Sat Jun 6 12:26:31 1998 Morten Welinder <terra@diku.dk>
* [objects/text.c]
Use debugstr_an in DrawText16.
* [loader/resource.c]
Use debugres_w in FindResourceEx32W. Avoid crashing during
debug when wm is NULL.
* [if1632/relay.c]
In RELAY_DebugCallTo16, send output to the right place and
avoid side effects in macro arguments.
Wed Jun 3 20:56:03 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [controls/scroll.c] [windows/nonclient.c]
Fix several off by one errors in scrollbar painting.
Tue Jun 2 23:58:59 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/dsound.c]
Rewrote mixer code to handle panning and volume for 16->16, 16->8,
8->16, and 8->8 bit mixes. Conforms to DirectX's "logarithmic
hearing scale" as specified in M$VC docs. Still does not handle
mixing of different frequencies (I am still working on that).
Tested 16->16 extensively with StarCraft. Other mixing combinations
untested but should work fine. Still kind of a work in progress,
so be warned.
Tue Jun 2 03:31:33 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [tools/wrc/utils.c]
dup_basename: fix to strip directory.
Mon Jun 1 20:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [include/windows.h] [objects/cursoricon.c] [relay32/user32.spec]
Added stubs LoadCursorFromFileW and LoadCursorFromFileA.
1998-06-14 15:24:15 +00:00
|
|
|
#ifdef HAVE_STRINGS_H
|
|
|
|
# include <strings.h>
|
|
|
|
#endif
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
#include <errno.h>
|
Release 940405
Tue Apr 5 14:36:59 1994 Bob Amstadt (bob@pooh)
* [include/mdi.h] [windows/mdi.c]
Use WM_PARENTNOTIFY messages to activate children.
Generate WM_CHILDACTIVATE messages.
Beginnings handler for maxmized child window.
Clean up when children are destroyed.
* [windows/message.c] [windows/nonclient.c] [windows/winpos.c]
Removed code add 94/03/26.
Apr 4, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [control/menu.c]
Make mouse menu navigation working again. :-))
(be carefull, clicking outside menus (ie.: clientrect)
not resolved yet)
* [windows/nonclient.c] [controls/scroll.c]
Bugs fix in NCTrackScrollBars().
* [misc/dos_fs.c]
Bug fix in 'ToDos()' in conversion for '/',
(example: '/window/' was translated to 'WINDOWs').
* [miscemu/int21.c]
Function ChangeDir() extract possible drive before DOS_ChangeDir().
* [loader/library.c] [loader/wine.c]
Playing around moving function GetProcAddress() and put some code in.
Mon Apr 4 21:39:07 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [misc/main.c]
Better explanation of command-line options.
* [objects/dib.c]
Implemented SetDIBitsToDevice().
* [windows/dc.c]
Bug fix in SetDCState().
* [windows/event.c]
Removed WS_DISABLED handling (now done in message.c).
* [windows/message.c]
Added sending a WM_PARENTNOTIFY message in MSG_TranslateMouseMsg().
Use WindowFromPoint() to find the window for mouse events, taking
into account disabled windows.
* [windows/painting.c]
Bug fix in BeginPaint() to allow calling it at other times than
on WM_PAINT (Solitaire needs it...)
* [windows/win.c]
Implemented FindWindow().
Rewritten EnableWindow() to behave more like Windows.
* [windows/winpos.c]
Rewritten WindowFromPoint() to also search child windows.
Mon Apr 4 17:36:32 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [include/int21.h] -> [msdos.h]
renamed.
* [miscemu/int10.h] [miscemu/int25.h] [miscemu/int26.h]
new, added for int 10, 25 and 26.
* [miscemu/ioports.c]
new, added to allow win apps to use ioports.
* [loader/signal.c]
Added support for in, inb, out, outb instructions.
Sun Mar 27 13:40:25 1994 Bob Amstadt (bob@pooh)
* controls/menu.c (InsertMenu): Changed to use FindMenuItem().
Sat Mar 26 21:23:55 1994 Bob Amstadt (bob@pooh)
* [windows/mdi.c]
Window list properly updated.
* [windows/message.c]
Call WINPOS_ChildActivate() when mouse pressed.
* [windows/nonclient.c]
Use WINPOS_IsAnActiveWindow() instead of GetActiveWindow() in
NC_HandleNCPaint().
* [windows/winpos.c]
Created functions WINPOS_IsAnActiveWindow() and WINPOS_ActivateChild()
Thu Mar 24 14:49:17 1994 Bob Amstadt (bob@pooh)
* controls/menu.c (DeleteMenu): Changed to use FindMenuItem
(DeleteMenu): Many bug fixes.
* [controls/menu.c]
Created function FindMenuItem().
Thu Mar 24 14:17:24 1994 Bob Amstadt (bob@pooh)
* [windows/win.c]
Removed incorrect MDI handling code from CreateWindowEx().
* [controls/menu.c]
MF_STRING items needed to allocate a private copy of string.
* [controls/menu.c]
Fixed buggy calls to GlobalFree().
* [memory/global.c]
Eliminated some redundant code with function call.
Wed Mar 23 1994 Pentti Moilanen (pentti.moilanen@ntc.nokia.com)
* [windows/timer.c]
timer list pointers looped in InsertTimer
Tue Mar 29 13:32:08 MET DST 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/cursor.c]
A few changes for desktop window support.
* [misc/main.c]
Added -depth option.
* [misc/rect.c]
Yet another bug fix in SubtractRect().
* [objects/bitmap.c]
Changes to use only one depth (specified with -depth)
for color bitmaps.
* [objects/brush.c]
Added support for dithered solid brushes.
* [objects/color.c]
Use the same 20 system colors as in Windows.
System palette initialisation now done in COLOR_InitPalette().
Added support for a color mapping table to map logical color
indexes to X colormap entries.
Implemented GetNearestColor() and RealizeDefaultPalette().
* [objects/dib.c]
Added support for color mapping table.
* [objects/dither.c] (New file)
Implemented solid color dithering.
* [objects/palette.c]
Implemented GetSystemPaletteEntries() and SelectPalette().
* [windows/class.c]
Make a copy of the menu name in RegisterClass().
* [windows/dc.c]
Fixed device caps when using a desktop window.
Added support for the color mapping table in DCs.
* [windows/event.c]
Added ConfigureNotify handler on desktop window.
* [windows/message.c]
Removed call to XTranslateCoordinates() on every mouse motion
New function MSG_Synchronize() to synchronize with the X server.
* [windows/syscolor.c]
Rewritten SYSCOLOR_Init() to read the system colors from WIN.INI.
* [windows/winpos.c]
Added synchronization on window mapping. Solves the double redraw
problem when starting Solitaire.
Mar 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [control/menu.c] * [windows/defwnd.c]
Make keyboard navigation working with menubar,
but temporarely inserted a bug in menubar mouse handling ... :-((
(it will be fix next week !)
* [windows/defwnd.c]
Connect VK_MENU to menubar navigation.
* [loader/library.c]
GetModuleHandle() return 'fictive 0xF000+ handles' for built-in DLLs.
Sun Mar 20 22:32:13 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/main.c]
Added Copy(). Added a check for `-h' to show usage.
* [misc/dos_fs.c]
Fixed bug in FindFile(), to load directories as dlls.
* [misc/dos_fs.c]
Fixed ToUnix() and ToDos() again, as my previous patch
didn't make it.
* [misc/dos_fs.c] [miscemu/int21.c]
Bug fixes, should be able to handle all winfile and progman int21
requests now except for a few small things.
Tue Mar 29 06:25:54 1994 crw@harris.mlb.semi.harris.com (Carl Williams)
* [memory/heap.c]
Implemented GetFreeSystemResources().
Mon Mar 21 17:32:25 1994 Bob Amstadt (bob@pooh)
* controls/menu.c (GetSubMenu): Function did not return correct value
* [windows/mdi.c]
Beginnings of menu handling.
Thu Mar 10 11:32:06 1994 Stefan (SAM) Muenzel (muenzel@tat.physik.uni-tuebingen.de)
* [objects/font.c]
if font.width equals zero use asterix instead.
Mon Mar 21 17:23:37 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [objects/bitmap.c]
Rewritten bitmap code to use exclusively X pixmaps; *much* faster.
* [objects/brush.c]
Some changes with pattern brushes because of the new bitmap code.
* [objects/color.c]
Added function COLOR_ToPhysical for better color mapping.
* [objects/dib.c]
Heavily optimized SetDIBits().
* [windows/dc.c]
Opimized SetDCState() and DC_SetupGC*() functions.
Added stub for CreateIC().
Mar 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [misc/message.c]
Call SetFocus() after closing box to give back focus to previous owner.
* [misc/files.c]
Small bug fix in GetTempFilename() : replace a '\' to '\\'.
* [control/scroll.c]
Calls to BitBlt() replace by StretchBlt().
* [control/menu.c]
Call SetFocus() to previous owner after closing Popups.
Fill stub DeleteMenu().
* [control/listbox.c]
* [control/combo.c]
Use SetFocus() in WM_LBUTTONDOWN.
Close ComboBox List upon WM_KILLFOCUS.
Early development of WM_MEASUREITEM mecanism.
* [windows/defwnd.c]
Early development of WM_MEASUREITEM mecanism.
Tue Mar 22 10:44:57 1994 Miguel de Icaza (miguel@xochitl)
* [misc/atom.c]
Fixed sintaxis problem when building the library.
Tue Mar 15 13:11:56 1994 Bob Amstadt (bob@pooh)
* [include/windows.h]
Added message types and structures for MDI
* [include/mdi.h]
Created internal structures for handling MDI
* [windows/mdi.c]
Began creating MDI support
Thu Mar 10 16:51:46 1994 Bob Amstadt (bob@pooh)
* [loader/wine.c] [include/wine.h]
Added new field to "struct w_files" to hold the "name table"
resource for Windows 3.0 programs
* [loader/resource.c]
Added code to handle programs with a "name table" resource.
LoadResourceByName() modified to check for the existence of
this resource.
Mon Mar 14 22:31:42 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [objects/color.c]
Added installing the private colormap on the desktop window.
* [windows/event.c]
Cleaned up focus event handling (see focus.c).
Use GetFocus() to direct key events to the correct window.
* [windows/focus.c]
Rewritten SetFocus() to:
- only set X focus on top-level windows
- send WM_SETFOCUS and WM_KILLFOCUS messages (was done in event.c)
- prevent setting focus to disabled windows
- install private colormap so -privatemap option works again
* [windows/message.c] [windows/timer.c]
Changed timer management to no longer use PostMessage(), but
to generate timer messages on the fly. Also fixed a related bug
in GetMessage() which could cause busy-waiting.
* [windows/win.c]
Only select focus events on top-level windows.
* [windows/winpos.c]
Added some sanity checks for desktop window.
Fri Mar 4 20:42:01 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
bug fixes in ToUnix(), WinIniFileName(), GetUnixFileName().
Support for tilde symbol added for rootdirectories in [drives]
section of wine's configfile.
* [misc/file.c]
hread(), hwrite() added.
* [misc/main.c]
hmemcpy() added.
* [if1632/stress.spec] [include/stress.h] [misc/stress.c]
Added STRESS.DLL, an useless dll used to stress a windows system.
* [*/*]
Added missing #includes, fixed prototypes for prototype checking.
* [include/prototypes.h]
Added prototypes for loader/*c, if1632/*c.
Tue Mar 8 09:54:34 1994 Bob Amstadt (bob@pooh)
* [Configure]
Added reminder to set WINEPATH, if it is not set.
* [Imakefile]
Removed #elif's
* [controls/button.c]
Added BN_CLICKED notification for owner-draw buttons.
* [if1632/kernel.spec] [memory/heap.c]
Changed Local* functions to WIN16_Local* to prevent unconcious use
of these functions.
* [if1632/relay.c]
Push old Stack16Frame on stack before setting.
* [include/atom.h] [misc/atom.c] [include/heap.h] [memory/local.c]
Added multiple local heap handling in Atom* functions.
* [include/regfunc.h] [miscemu/int21.c]
Rewrote DOS3Call() use context frame that is already on the stack.
* [misc/profile.c]
Fixed to allow leading ";" to mark comments.
* [misc/spy.c]
Fixed bugs and added support for "include" and "exclude" filters.
* [misc/user.c]
Rearranged calls in InitApp().
* [misc/font.c]
Fixed font handling to create system fonts, if they are used.
* [windows/dc.c]
If text drawn on window with no font specified, then default the
font to the system font.
Mon Mar 7 20:32:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [controls/desktop.c]
Added handling of WM_NCCREATE and WM_ERASEBKGND functions.
Implemented SetDeskPattern().
* [misc/main.c]
Added -desktop option to get a large desktop window with
everything inside it.
Added -name option.
* [misc/rect.c]
Bug fix in SubtractRect().
* [objects/*.c]
Replaced the DefaultRootWindow() macro by the rootWindow variable.
* [windows/event.c] [windows/message.c]
[windows/nonclient.c] [windows/win.c]
A few changes to accomodate the new desktop window.
Tue Mar 8 11:13:03 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/arch.c] --New file--
Routines for converting little endian data structures to
big-endian data structures, currently only BITMAP structures are
converted.
* [misc/atom.c]
When used as part of the WineLib, the code is much simpler.
Doesn't depend on alignement.
* [loader/wine.c]
Ifdefed Emulator dependent code if compiling WineLib.
* [loader/resource.c]
Moved misc/resource.c to loader/resource.c.
* [loader/dump.c,ldt.c,ldtlib.c,library,c,selector.c,signal.c]
Ifdefed whole code if compiling WINELIB.
* [include/winsock.h]
Added compilation define to allow compilation on SunOS.
* [include/wine.h]
Removed load_typeinfo and load_nameinfo prototypes, they belong
to neexe.h
* [include/neexe.h]
Added load_typeinfo and load_nameinfo prototypes.
* [include/arch.h]
Fixed some bugs in the conversion routines.
Added macros for Bitmap loading.
Tue Mar 8 12:52:05 1994 crw@maniac.mlb.semi.harris.com (Carl Williams)
* [if1632/kernel.spec] [memory/global.c]
Implemented GetFreeSpace()
* [if1632/user.spec] [loader/resource.c]
Implemented CreateIcon()
1994-04-05 21:42:43 +00:00
|
|
|
#include <ctype.h>
|
2005-05-06 16:22:54 +00:00
|
|
|
#ifdef HAVE_SYS_STAT_H
|
|
|
|
# include <sys/stat.h>
|
|
|
|
#endif
|
1998-04-13 12:21:30 +00:00
|
|
|
#ifdef HAVE_SYS_FILIO_H
|
|
|
|
# include <sys/filio.h>
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
#endif
|
2002-05-14 23:18:23 +00:00
|
|
|
#ifdef HAVE_SYS_IOCTL_H
|
1997-06-29 18:08:02 +00:00
|
|
|
#include <sys/ioctl.h>
|
2002-05-14 23:18:23 +00:00
|
|
|
#endif
|
2002-08-17 00:43:16 +00:00
|
|
|
#ifdef HAVE_UNISTD_H
|
|
|
|
# include <unistd.h>
|
|
|
|
#endif
|
2002-08-28 23:42:34 +00:00
|
|
|
#ifdef HAVE_SYS_POLL_H
|
2002-08-26 21:53:24 +00:00
|
|
|
# include <sys/poll.h>
|
|
|
|
#endif
|
Release 980614
Sun Jun 15 10:30:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/dos_fs.c] [files/file.c] [if1632/wprocs.spec]
[misc/aspi.c]
Added support for scanners that need Adaptec's ASPI2DOS.
* [graphics/env.c] [misc/printerdrv.c] [graphics/win16drv/init.c]
[if1632/gdi.spec] [include/gdi.h]
Enhanced printer support (especially Win95):
Drv[GS]etPrinterData, [GS]etEnvironment; added AbortProc handling.
* [misc/tapi32.c] [relay32/tapi32.spec]
Added some stubs.
* [configure.in] [graphics/fontengine.c] [include/windows.h]
[misc/comm.c] [misc/w32skrnl.c] [misc/win32s16.c]
Made Wine compile on HP-UX (just for fun ;)
* [controls/menu.c] [include/windows.h]
Complete rewrite of EnableMenuItem32.
Free Agent 32 still doesn't work :(
* [misc/version.c] [if1632/kernel.spec] [include/winbase.h]
Implemented GetVersionEx16.
* [misc/network.c] [if1632/user.spec]
Fixed arguments of WNetGetPropertyText.
* [misc/version.c] [relay32/comctl32.spec] [relay32/oleaut32.spec]
Implemented COMCTL32_DllGetVersion, OaBuildVersion.
* [win32/file.c]
Fixed UNC handling of CreateFile32.
Sat Jun 13 22:35:12 1998 Douglas Ridgway <ridgway@winehq.com>
* [Makefile.in] [Make.rules.in]
Added pattern for CVS merge files to 'make clean'
* [ole/olecli.c] [windows/scroll.c] [windows/grahics.c]
Add some DC handle unlocking. (When hdc's are always unlocked,
they can be made moveable.)
* [documentation/wine.texinfo]
Started a Wine Design chapter with discussion of
graphics driver model.
Sat Jun 13 11:19:25 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [misc/main.c] [relay32/relay386.c]
Added new option -debugmsg +relay=.... or -debugmsg -relay=...
Fri Jun 12 22:56:09 1998 Marcus Meissner <marcus@jet.franken.de>
* [relay32/snoop.c][relay32/builtin.c][loader/pe_image.c]
Added inter win32 dll snooping. Use -debugmsg +snoop.
Number of arguments and string references are autodetected.
Some small bugfixes in the PE loader.
* [misc/system.c]
Disabled SystemTimers. They do not work with the current
%fs handling in the 32->16 relaycode. (helps labview)
* [msdos/dpmi.c][msdos/int2f.c][files/drive.c]
Added a monoton linear increasing memory allocator for DPMI (required
for LabView, HAFAS, ...)
mscdex handling in emulated realmode interrupts (for mcicda.drv)
allocate logical drives only once. (helps Myst)
* [files/profile.c]
Handle ^Z as space. Found on CDROMS (helps Myst Installer).
* [multimedia/mmio.c]
mmio* partially updated to win32. No funny additions.
* [windows/driver.c]
Added win32 driver handling (will be used for win32 multimedia/
msvideo drivers).
* [win32/device.c]
Added device handling (K32OBJ_DEVICE_IOCTL). Implemented
VTDAPI.5 (used by win95' WINMM.timeGetTime())
Fri Jun 12 18:01:18 1998 Rein Klazes <rklazes@casema.net>
* [ole/compobj.c relay32/ole32.spec]
Add a stub for CoLockObjectExternal32.
* [objects/clipping.c]
Fix in IntersectClipRect(), when there is no initial clipping
region.
* [graphics/x11drv/graphics.c]
Corrected several "one-off" errors for the Ellipse, Rectangle
and RoundRectangle (especially small ones) draw routines.
Arc and friends still have to be done.
Fri Jun 12 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/ntdll.c]
Fixed some of the parameter counts.
* [misc/registry.c]
General cleanup, documentation.
Standard keys are allowed to be 'closed' and succeed.
* [misc/shell.c]
Check for correct return values from Reg* functions.
* [win32/newfns.c]
Added stubs for OpenDesktopA, SetThreadDesktop, and
SetUserObjectInformationA.
Wed Jun 10 20:28:08 1998 James Juran <jrj120@psu.edu>
* [debugger/break.c]
Fixed bug introduced in 980503 that broke the -debug command
line option for PE executable files.
* [configure.in] [include/acconfig.h] [include/debugtools.h]
[documentation/debug-msgs]
Added 'configure' options to compile out debugging messages.
Use --disable-debug to disable all debugging messages, and
--disable-trace to just disable TRACE messages. This results
in a stripped executable that is 15-20% smaller. This option
is very much untested--don't expect it to work.
* [documentation/debug-msgs] [documentation/debugging]
Minor updates.
* [*/*.c]
Fixed some compile warnings. This also includes the
compile_warnings_trivial patch from WineHQ.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [windows/sysmetrics.c][include/sysmetrics.h]
Fixed some Win95 values.
* [windows/nonclient.c][include/windows.h]
Fixed some Win95 drawing bugs.
Added extended window style flags (WS_EX_xxx).
* [misc/printdrv.c][relay32/winspool.spec]
Added stubs for DeletePrinterDriver32A, DeleteMonitor32A
and DeletePort32A.
* [windows/mdi.c][include/windows.h][relay32/user32.spec]
Added stubs for CascadeWindows and TileWindows.
* [controls/toolbar.c][include/toolbar.h]
Fixed a few bugs and implemented new features.
* [misc/shellord.c][relay32/shell32.spec]
Added stubs for SHELL32_60, SHELL32_61 and SHELL32_184.
* [controls/comctl32undoc.c][relay32/comctl32.spec]
New file comctl32undoc.c. Contains undocumented functions
of COMCTL32.DLL. These functions are needed to run EXPLORER.EXE
IEXPLORE.EXE and TASKMAN.EXE.
* [controls/status.c]
Added text alignment.
Tue Jun 8 22:00:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [programs/*/Makefile.in]
Changed the rules to use wrc as resource compiler but
passing the source through gcc first for macro expansion.
* [programs/*/*.rc]
Added #include "windows.h" for the resource compiler in the
appropriate files.
* [tools/wrc/wrc.[ch]] [tools/wrc/writeres.c]
Added commandline option -A for autoregister code.
Corrected the underscore problem by checking the proper define
from config.h.
Sun Jun 7 22:09:29 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c] [memory/string.c]
Improved LCMapString32A, and changed CompareString32A,
lstrcmp, lstrcmpi to use it.
Sat Jun 6 19:00:50 1998 Martin Strmberg <ams@ludd.luth.se>
* [include/winnt.h]
Added typedefs for security and tokens.
Sat Jun 6 12:26:31 1998 Morten Welinder <terra@diku.dk>
* [objects/text.c]
Use debugstr_an in DrawText16.
* [loader/resource.c]
Use debugres_w in FindResourceEx32W. Avoid crashing during
debug when wm is NULL.
* [if1632/relay.c]
In RELAY_DebugCallTo16, send output to the right place and
avoid side effects in macro arguments.
Wed Jun 3 20:56:03 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [controls/scroll.c] [windows/nonclient.c]
Fix several off by one errors in scrollbar painting.
Tue Jun 2 23:58:59 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/dsound.c]
Rewrote mixer code to handle panning and volume for 16->16, 16->8,
8->16, and 8->8 bit mixes. Conforms to DirectX's "logarithmic
hearing scale" as specified in M$VC docs. Still does not handle
mixing of different frequencies (I am still working on that).
Tested 16->16 extensively with StarCraft. Other mixing combinations
untested but should work fine. Still kind of a work in progress,
so be warned.
Tue Jun 2 03:31:33 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [tools/wrc/utils.c]
dup_basename: fix to strip directory.
Mon Jun 1 20:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [include/windows.h] [objects/cursoricon.c] [relay32/user32.spec]
Added stubs LoadCursorFromFileW and LoadCursorFromFileA.
1998-06-14 15:24:15 +00:00
|
|
|
#ifdef HAVE_SYS_MODEM_H
|
|
|
|
# include <sys/modem.h>
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_SYS_STRTIO_H
|
|
|
|
# include <sys/strtio.h>
|
|
|
|
#endif
|
2001-07-18 21:04:23 +00:00
|
|
|
|
2003-06-26 02:08:17 +00:00
|
|
|
#define NONAMELESSUNION
|
|
|
|
#define NONAMELESSSTRUCT
|
2003-09-05 23:08:26 +00:00
|
|
|
#include "windef.h"
|
2001-07-18 21:04:23 +00:00
|
|
|
#include "winbase.h"
|
1999-03-14 12:25:36 +00:00
|
|
|
#include "winerror.h"
|
2006-01-12 12:32:51 +00:00
|
|
|
#include "winioctl.h"
|
|
|
|
#include "ddk/ntddser.h"
|
2001-07-26 21:43:56 +00:00
|
|
|
|
|
|
|
#include "wine/server.h"
|
2004-01-16 02:14:50 +00:00
|
|
|
#include "wine/unicode.h"
|
1999-03-14 12:25:36 +00:00
|
|
|
|
2002-03-09 23:29:33 +00:00
|
|
|
#include "wine/debug.h"
|
1999-03-16 10:52:17 +00:00
|
|
|
|
2002-02-19 18:41:56 +00:00
|
|
|
#ifdef HAVE_LINUX_SERIAL_H
|
|
|
|
#include <linux/serial.h>
|
|
|
|
#endif
|
|
|
|
|
2002-03-09 23:29:33 +00:00
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(comm);
|
1999-04-19 14:56:29 +00:00
|
|
|
|
2003-12-02 04:19:56 +00:00
|
|
|
/* retrieve the Unix handle corresponding to a comm handle */
|
|
|
|
static int get_comm_fd( HANDLE handle, DWORD access )
|
|
|
|
{
|
|
|
|
int fd, ret;
|
|
|
|
|
2004-08-18 00:04:58 +00:00
|
|
|
ret = wine_server_handle_to_fd( handle, access, &fd, NULL );
|
2003-12-02 04:19:56 +00:00
|
|
|
if (ret) SetLastError( RtlNtStatusToDosError(ret) );
|
|
|
|
return fd;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* release the Unix handle returned by get_comm_fd */
|
|
|
|
static inline void release_comm_fd( HANDLE handle, int fd )
|
|
|
|
{
|
|
|
|
wine_server_release_fd( handle, fd );
|
|
|
|
}
|
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
/* serial_irq_info
|
|
|
|
* local structure holding the irq values we need for WaitCommEvent()
|
|
|
|
*
|
|
|
|
* Stripped down from struct serial_icounter_struct, which may not be available on some systems
|
|
|
|
* As the modem line interrupts (cts, dsr, rng, dcd) only get updated with TIOCMIWAIT active,
|
|
|
|
* no need to carry them in the internal structure
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
typedef struct serial_irq_info
|
|
|
|
{
|
|
|
|
int rx , tx, frame, overrun, parity, brk, buf_overrun;
|
|
|
|
}serial_irq_info;
|
2003-12-02 04:19:56 +00:00
|
|
|
|
2002-04-05 22:53:57 +00:00
|
|
|
/***********************************************************************
|
2005-08-03 15:43:17 +00:00
|
|
|
* Data needed by the thread polling for the changing CommEvent
|
2002-04-05 22:53:57 +00:00
|
|
|
*/
|
|
|
|
typedef struct async_commio
|
|
|
|
{
|
2005-01-14 19:54:38 +00:00
|
|
|
HANDLE handle;
|
|
|
|
char* buffer;
|
2005-08-03 15:43:17 +00:00
|
|
|
HANDLE hEvent;
|
|
|
|
DWORD evtmask;
|
|
|
|
DWORD mstat;
|
|
|
|
serial_irq_info irq_info;
|
2002-04-05 22:53:57 +00:00
|
|
|
} async_commio;
|
|
|
|
|
|
|
|
/***********************************************************************/
|
|
|
|
|
2000-11-25 01:29:00 +00:00
|
|
|
#if !defined(TIOCINQ) && defined(FIONREAD)
|
1997-06-29 18:08:02 +00:00
|
|
|
#define TIOCINQ FIONREAD
|
|
|
|
#endif
|
2000-03-30 20:23:32 +00:00
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* Get extended interrupt count info, needed for WaitCommEvent
|
|
|
|
*/
|
|
|
|
static int COMM_GetEInfo(int fd, serial_irq_info *irq_info)
|
|
|
|
{
|
|
|
|
#ifdef TIOCGICOUNT
|
|
|
|
struct serial_icounter_struct einfo;
|
|
|
|
if (!ioctl(fd,TIOCGICOUNT, &einfo))
|
|
|
|
{
|
|
|
|
irq_info->rx = einfo.rx;
|
|
|
|
irq_info->tx = einfo.tx;
|
|
|
|
irq_info->frame = einfo.frame;
|
|
|
|
irq_info->overrun = einfo.overrun;
|
|
|
|
irq_info->parity = einfo.parity;
|
|
|
|
irq_info->brk = einfo.brk;
|
|
|
|
irq_info->buf_overrun = einfo.buf_overrun;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
memset(irq_info,0, sizeof(serial_irq_info));
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
1999-04-04 12:38:35 +00:00
|
|
|
static int COMM_WhackModem(int fd, unsigned int andy, unsigned int orrie)
|
|
|
|
{
|
2002-05-14 23:18:23 +00:00
|
|
|
#ifdef TIOCMGET
|
1999-04-04 12:38:35 +00:00
|
|
|
unsigned int mstat, okay;
|
|
|
|
okay = ioctl(fd, TIOCMGET, &mstat);
|
|
|
|
if (okay) return okay;
|
|
|
|
if (andy) mstat &= andy;
|
|
|
|
mstat |= orrie;
|
|
|
|
return ioctl(fd, TIOCMSET, &mstat);
|
2002-05-14 23:18:23 +00:00
|
|
|
#else
|
|
|
|
return 0;
|
|
|
|
#endif
|
1999-04-04 12:38:35 +00:00
|
|
|
}
|
2001-07-08 20:28:55 +00:00
|
|
|
|
2001-07-23 17:56:33 +00:00
|
|
|
/***********************************************************************
|
2003-09-12 00:26:15 +00:00
|
|
|
* COMM_Parse* (Internal)
|
2001-07-23 17:56:33 +00:00
|
|
|
*
|
2003-09-12 00:26:15 +00:00
|
|
|
* The following COMM_Parse* functions are used by the BuildCommDCB
|
|
|
|
* functions to help parse the various parts of the device control string.
|
2001-07-23 17:56:33 +00:00
|
|
|
*/
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseStart(LPCWSTR ptr)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
2004-04-19 20:12:14 +00:00
|
|
|
static const WCHAR comW[] = {'C','O','M',0};
|
2004-01-16 02:14:50 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/* The device control string may optionally start with "COMx" followed
|
|
|
|
by an optional ':' and spaces. */
|
2004-01-16 02:14:50 +00:00
|
|
|
if(!strncmpiW(ptr, comW, 3))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
ptr += 3;
|
|
|
|
|
|
|
|
/* Allow any com port above 0 as Win 9x does (NT only allows
|
|
|
|
values for com ports which are actually present) */
|
|
|
|
if(*ptr < '1' || *ptr > '9')
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
/* Advance pointer past port number */
|
|
|
|
while(*ptr >= '0' && *ptr <= '9') ptr++;
|
|
|
|
|
|
|
|
/* The com port number must be followed by a ':' or ' ' */
|
|
|
|
if(*ptr != ':' && *ptr != ' ')
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
/* Advance pointer to beginning of next parameter */
|
|
|
|
while(*ptr == ' ') ptr++;
|
|
|
|
if(*ptr == ':')
|
|
|
|
{
|
|
|
|
ptr++;
|
|
|
|
while(*ptr == ' ') ptr++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* The device control string must not start with a space. */
|
|
|
|
else if(*ptr == ' ')
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
return ptr;
|
|
|
|
}
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseNumber(LPCWSTR ptr, LPDWORD lpnumber)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(*ptr < '0' || *ptr > '9') return NULL;
|
2004-01-16 02:14:50 +00:00
|
|
|
*lpnumber = strtoulW(ptr, NULL, 10);
|
2003-09-12 00:26:15 +00:00
|
|
|
while(*ptr >= '0' && *ptr <= '9') ptr++;
|
|
|
|
return ptr;
|
|
|
|
}
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseParity(LPCWSTR ptr, LPBYTE lpparity)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
/* Contrary to what you might expect, Windows only sets the Parity
|
|
|
|
member of DCB and not fParity even when parity is specified in the
|
|
|
|
device control string */
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
switch(toupperW(*ptr++))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
case 'E':
|
|
|
|
*lpparity = EVENPARITY;
|
|
|
|
break;
|
|
|
|
case 'M':
|
|
|
|
*lpparity = MARKPARITY;
|
|
|
|
break;
|
|
|
|
case 'N':
|
|
|
|
*lpparity = NOPARITY;
|
|
|
|
break;
|
|
|
|
case 'O':
|
|
|
|
*lpparity = ODDPARITY;
|
|
|
|
break;
|
|
|
|
case 'S':
|
|
|
|
*lpparity = SPACEPARITY;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ptr;
|
|
|
|
}
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseByteSize(LPCWSTR ptr, LPBYTE lpbytesize)
|
2001-07-23 17:56:33 +00:00
|
|
|
{
|
2003-09-12 00:26:15 +00:00
|
|
|
DWORD temp;
|
|
|
|
|
|
|
|
if(!(ptr = COMM_ParseNumber(ptr, &temp)))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
if(temp >= 5 && temp <= 8)
|
2001-07-23 17:56:33 +00:00
|
|
|
{
|
2003-09-12 00:26:15 +00:00
|
|
|
*lpbytesize = temp;
|
|
|
|
return ptr;
|
2001-07-23 17:56:33 +00:00
|
|
|
}
|
2003-09-12 00:26:15 +00:00
|
|
|
else
|
|
|
|
return NULL;
|
|
|
|
}
|
2001-07-23 17:56:33 +00:00
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseStopBits(LPCWSTR ptr, LPBYTE lpstopbits)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
DWORD temp;
|
2004-04-19 20:12:14 +00:00
|
|
|
static const WCHAR stopbits15W[] = {'1','.','5',0};
|
2003-09-12 00:26:15 +00:00
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
if(!strncmpW(stopbits15W, ptr, 3))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
ptr += 3;
|
|
|
|
*lpstopbits = ONE5STOPBITS;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if(!(ptr = COMM_ParseNumber(ptr, &temp)))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
if(temp == 1)
|
|
|
|
*lpstopbits = ONESTOPBIT;
|
|
|
|
else if(temp == 2)
|
|
|
|
*lpstopbits = TWOSTOPBITS;
|
|
|
|
else
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ptr;
|
|
|
|
}
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
static LPCWSTR COMM_ParseOnOff(LPCWSTR ptr, LPDWORD lponoff)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
2004-04-19 20:12:14 +00:00
|
|
|
static const WCHAR onW[] = {'o','n',0};
|
|
|
|
static const WCHAR offW[] = {'o','f','f',0};
|
2004-01-16 02:14:50 +00:00
|
|
|
|
|
|
|
if(!strncmpiW(onW, ptr, 2))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
ptr += 2;
|
|
|
|
*lponoff = 1;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(offW, ptr, 3))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
ptr += 3;
|
|
|
|
*lponoff = 0;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
return ptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* COMM_BuildOldCommDCB (Internal)
|
|
|
|
*
|
|
|
|
* Build a DCB using the old style settings string eg: "96,n,8,1"
|
|
|
|
*/
|
2004-01-16 02:14:50 +00:00
|
|
|
static BOOL COMM_BuildOldCommDCB(LPCWSTR device, LPDCB lpdcb)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
2004-01-16 02:14:50 +00:00
|
|
|
WCHAR last = 0;
|
2003-09-12 00:26:15 +00:00
|
|
|
|
|
|
|
if(!(device = COMM_ParseNumber(device, &lpdcb->BaudRate)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
switch(lpdcb->BaudRate)
|
|
|
|
{
|
2001-07-23 17:56:33 +00:00
|
|
|
case 11:
|
|
|
|
case 30:
|
|
|
|
case 60:
|
2003-09-12 00:26:15 +00:00
|
|
|
lpdcb->BaudRate *= 10;
|
2001-07-23 17:56:33 +00:00
|
|
|
break;
|
|
|
|
case 12:
|
|
|
|
case 24:
|
|
|
|
case 48:
|
|
|
|
case 96:
|
2003-09-12 00:26:15 +00:00
|
|
|
lpdcb->BaudRate *= 100;
|
2001-07-23 17:56:33 +00:00
|
|
|
break;
|
|
|
|
case 19:
|
2003-09-12 00:26:15 +00:00
|
|
|
lpdcb->BaudRate = 19200;
|
2001-07-23 17:56:33 +00:00
|
|
|
break;
|
|
|
|
}
|
2002-05-31 23:06:46 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
while(*device == ' ') device++;
|
|
|
|
if(*device++ != ',') return FALSE;
|
|
|
|
while(*device == ' ') device++;
|
2001-07-23 17:56:33 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
if(!(device = COMM_ParseParity(device, &lpdcb->Parity)))
|
|
|
|
return FALSE;
|
2001-07-23 17:56:33 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
while(*device == ' ') device++;
|
|
|
|
if(*device++ != ',') return FALSE;
|
|
|
|
while(*device == ' ') device++;
|
|
|
|
|
|
|
|
if(!(device = COMM_ParseByteSize(device, &lpdcb->ByteSize)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
while(*device == ' ') device++;
|
|
|
|
if(*device++ != ',') return FALSE;
|
|
|
|
while(*device == ' ') device++;
|
|
|
|
|
|
|
|
if(!(device = COMM_ParseStopBits(device, &lpdcb->StopBits)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
/* The last parameter for flow control is optional. */
|
|
|
|
while(*device == ' ') device++;
|
|
|
|
if(*device == ',')
|
|
|
|
{
|
|
|
|
device++;
|
|
|
|
while(*device == ' ') device++;
|
2004-01-16 02:14:50 +00:00
|
|
|
if(*device) last = toupperW(*device++);
|
2003-09-12 00:26:15 +00:00
|
|
|
while(*device == ' ') device++;
|
|
|
|
}
|
2003-09-15 20:00:54 +00:00
|
|
|
|
|
|
|
/* Win NT sets the flow control members based on (or lack of) the last
|
|
|
|
parameter. Win 9x does not set these members. */
|
2003-09-12 00:26:15 +00:00
|
|
|
switch(last)
|
|
|
|
{
|
|
|
|
case 0:
|
|
|
|
lpdcb->fInX = FALSE;
|
|
|
|
lpdcb->fOutX = FALSE;
|
|
|
|
lpdcb->fOutxCtsFlow = FALSE;
|
|
|
|
lpdcb->fOutxDsrFlow = FALSE;
|
|
|
|
lpdcb->fDtrControl = DTR_CONTROL_ENABLE;
|
|
|
|
lpdcb->fRtsControl = RTS_CONTROL_ENABLE;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
2003-09-12 00:26:15 +00:00
|
|
|
case 'X':
|
|
|
|
lpdcb->fInX = TRUE;
|
|
|
|
lpdcb->fOutX = TRUE;
|
|
|
|
lpdcb->fOutxCtsFlow = FALSE;
|
|
|
|
lpdcb->fOutxDsrFlow = FALSE;
|
|
|
|
lpdcb->fDtrControl = DTR_CONTROL_ENABLE;
|
|
|
|
lpdcb->fRtsControl = RTS_CONTROL_ENABLE;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
2003-09-12 00:26:15 +00:00
|
|
|
case 'P':
|
|
|
|
lpdcb->fInX = FALSE;
|
|
|
|
lpdcb->fOutX = FALSE;
|
|
|
|
lpdcb->fOutxCtsFlow = TRUE;
|
|
|
|
lpdcb->fOutxDsrFlow = TRUE;
|
|
|
|
lpdcb->fDtrControl = DTR_CONTROL_HANDSHAKE;
|
|
|
|
lpdcb->fRtsControl = RTS_CONTROL_HANDSHAKE;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
2001-07-23 17:56:33 +00:00
|
|
|
default:
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/* This should be the end of the string. */
|
|
|
|
if(*device) return FALSE;
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
2001-07-23 17:56:33 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* COMM_BuildNewCommDCB (Internal)
|
|
|
|
*
|
|
|
|
* Build a DCB using the new style settings string.
|
|
|
|
* eg: "baud=9600 parity=n data=8 stop=1 xon=on to=on"
|
|
|
|
*/
|
2004-01-16 02:14:50 +00:00
|
|
|
static BOOL COMM_BuildNewCommDCB(LPCWSTR device, LPDCB lpdcb, LPCOMMTIMEOUTS lptimeouts)
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
DWORD temp;
|
|
|
|
BOOL baud = FALSE, stop = FALSE;
|
2004-04-19 20:12:14 +00:00
|
|
|
static const WCHAR baudW[] = {'b','a','u','d','=',0};
|
|
|
|
static const WCHAR parityW[] = {'p','a','r','i','t','y','=',0};
|
|
|
|
static const WCHAR dataW[] = {'d','a','t','a','=',0};
|
|
|
|
static const WCHAR stopW[] = {'s','t','o','p','=',0};
|
|
|
|
static const WCHAR toW[] = {'t','o','=',0};
|
|
|
|
static const WCHAR xonW[] = {'x','o','n','=',0};
|
|
|
|
static const WCHAR odsrW[] = {'o','d','s','r','=',0};
|
|
|
|
static const WCHAR octsW[] = {'o','c','t','s','=',0};
|
|
|
|
static const WCHAR dtrW[] = {'d','t','r','=',0};
|
|
|
|
static const WCHAR rtsW[] = {'r','t','s','=',0};
|
|
|
|
static const WCHAR idsrW[] = {'i','d','s','r','=',0};
|
2003-09-12 00:26:15 +00:00
|
|
|
|
|
|
|
while(*device)
|
|
|
|
{
|
|
|
|
while(*device == ' ') device++;
|
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
if(!strncmpiW(baudW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
baud = TRUE;
|
|
|
|
|
|
|
|
if(!(device = COMM_ParseNumber(device + 5, &lpdcb->BaudRate)))
|
|
|
|
return FALSE;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(parityW, device, 7))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseParity(device + 7, &lpdcb->Parity)))
|
|
|
|
return FALSE;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(dataW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseByteSize(device + 5, &lpdcb->ByteSize)))
|
|
|
|
return FALSE;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(stopW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
stop = TRUE;
|
|
|
|
|
|
|
|
if(!(device = COMM_ParseStopBits(device + 5, &lpdcb->StopBits)))
|
|
|
|
return FALSE;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(toW, device, 3))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 3, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lptimeouts->ReadIntervalTimeout = 0;
|
|
|
|
lptimeouts->ReadTotalTimeoutMultiplier = 0;
|
|
|
|
lptimeouts->ReadTotalTimeoutConstant = 0;
|
|
|
|
lptimeouts->WriteTotalTimeoutMultiplier = 0;
|
|
|
|
lptimeouts->WriteTotalTimeoutConstant = temp ? 60000 : 0;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(xonW, device, 4))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 4, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lpdcb->fOutX = temp;
|
|
|
|
lpdcb->fInX = temp;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(odsrW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 5, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lpdcb->fOutxDsrFlow = temp;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(octsW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 5, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lpdcb->fOutxCtsFlow = temp;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(dtrW, device, 4))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 4, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lpdcb->fDtrControl = temp;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(rtsW, device, 4))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 4, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
lpdcb->fRtsControl = temp;
|
|
|
|
}
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(!strncmpiW(idsrW, device, 5))
|
2003-09-12 00:26:15 +00:00
|
|
|
{
|
|
|
|
if(!(device = COMM_ParseOnOff(device + 5, &temp)))
|
|
|
|
return FALSE;
|
|
|
|
|
2003-09-15 20:00:54 +00:00
|
|
|
/* Win NT sets the fDsrSensitivity member based on the
|
|
|
|
idsr parameter. Win 9x sets fOutxDsrFlow instead. */
|
2003-09-12 00:26:15 +00:00
|
|
|
lpdcb->fDsrSensitivity = temp;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
/* After the above parsing, the next character (if not the end of
|
|
|
|
the string) should be a space */
|
|
|
|
if(*device && *device != ' ')
|
|
|
|
return FALSE;
|
2002-05-31 23:06:46 +00:00
|
|
|
}
|
2001-07-23 17:56:33 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/* If stop bits were not specified, a default is always supplied. */
|
|
|
|
if(!stop)
|
|
|
|
{
|
|
|
|
if(baud && lpdcb->BaudRate == 110)
|
|
|
|
lpdcb->StopBits = TWOSTOPBITS;
|
|
|
|
else
|
|
|
|
lpdcb->StopBits = ONESTOPBIT;
|
2001-07-23 17:56:33 +00:00
|
|
|
}
|
|
|
|
|
2001-10-21 15:01:20 +00:00
|
|
|
return TRUE;
|
2001-07-23 17:56:33 +00:00
|
|
|
}
|
|
|
|
|
1999-03-21 15:45:41 +00:00
|
|
|
/**************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* BuildCommDCBA (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Updates a device control block data structure with values from an
|
|
|
|
* ascii device control string. The device control string has two forms
|
|
|
|
* normal and extended, it must be exclusively in one or the other form.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
2002-02-27 21:34:54 +00:00
|
|
|
* True on success, false on a malformed control string.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI BuildCommDCBA(
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCSTR device, /* [in] The ascii device control string used to update the DCB. */
|
|
|
|
LPDCB lpdcb) /* [out] The device control block to be updated. */
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
|
|
|
return BuildCommDCBAndTimeoutsA(device,lpdcb,NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**************************************************************************
|
2004-01-16 02:14:50 +00:00
|
|
|
* BuildCommDCBAndTimeoutsA (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Updates a device control block data structure with values from an
|
2002-02-27 21:34:54 +00:00
|
|
|
* ascii device control string. Taking timeout values from a timeouts
|
2000-12-19 23:33:03 +00:00
|
|
|
* struct if desired by the control string.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
2004-01-16 02:14:50 +00:00
|
|
|
* True on success, false bad handles etc.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI BuildCommDCBAndTimeoutsA(
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCSTR device, /* [in] The ascii device control string. */
|
|
|
|
LPDCB lpdcb, /* [out] The device control block to be updated. */
|
2003-09-12 00:26:15 +00:00
|
|
|
LPCOMMTIMEOUTS lptimeouts) /* [in] The COMMTIMEOUTS structure to be updated. */
|
2004-01-16 02:14:50 +00:00
|
|
|
{
|
|
|
|
BOOL ret = FALSE;
|
|
|
|
UNICODE_STRING deviceW;
|
|
|
|
|
|
|
|
TRACE("(%s,%p,%p)\n",device,lpdcb,lptimeouts);
|
|
|
|
if(device) RtlCreateUnicodeStringFromAsciiz(&deviceW,device);
|
|
|
|
else deviceW.Buffer = NULL;
|
|
|
|
|
|
|
|
if(deviceW.Buffer) ret = BuildCommDCBAndTimeoutsW(deviceW.Buffer,lpdcb,lptimeouts);
|
|
|
|
|
|
|
|
RtlFreeUnicodeString(&deviceW);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
* BuildCommDCBAndTimeoutsW (KERNEL32.@)
|
|
|
|
*
|
|
|
|
* Updates a device control block data structure with values from a
|
|
|
|
* unicode device control string. Taking timeout values from a timeouts
|
|
|
|
* struct if desired by the control string.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false bad handles etc
|
|
|
|
*/
|
|
|
|
BOOL WINAPI BuildCommDCBAndTimeoutsW(
|
|
|
|
LPCWSTR devid, /* [in] The unicode device control string. */
|
|
|
|
LPDCB lpdcb, /* [out] The device control block to be updated. */
|
|
|
|
LPCOMMTIMEOUTS lptimeouts) /* [in] The COMMTIMEOUTS structure to be updated. */
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2003-09-12 00:26:15 +00:00
|
|
|
DCB dcb;
|
|
|
|
COMMTIMEOUTS timeouts;
|
|
|
|
BOOL result;
|
2004-01-16 02:14:50 +00:00
|
|
|
LPCWSTR ptr = devid;
|
2003-09-12 00:26:15 +00:00
|
|
|
|
2004-01-16 02:14:50 +00:00
|
|
|
TRACE("(%s,%p,%p)\n",debugstr_w(devid),lpdcb,lptimeouts);
|
1999-03-21 15:45:41 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/* Set DCBlength. (Windows NT does not do this, but 9x does) */
|
|
|
|
lpdcb->DCBlength = sizeof(DCB);
|
1999-03-21 15:45:41 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
/* Make a copy of the original data structures to work with since if
|
|
|
|
if there is an error in the device control string the originals
|
|
|
|
should not be modified (except possibly DCBlength) */
|
|
|
|
memcpy(&dcb, lpdcb, sizeof(DCB));
|
|
|
|
if(lptimeouts) memcpy(&timeouts, lptimeouts, sizeof(COMMTIMEOUTS));
|
1999-03-21 15:45:41 +00:00
|
|
|
|
2003-09-12 00:26:15 +00:00
|
|
|
ptr = COMM_ParseStart(ptr);
|
|
|
|
|
|
|
|
if(ptr == NULL)
|
|
|
|
result = FALSE;
|
2004-01-16 02:14:50 +00:00
|
|
|
else if(strchrW(ptr, ','))
|
2003-09-12 00:26:15 +00:00
|
|
|
result = COMM_BuildOldCommDCB(ptr, &dcb);
|
|
|
|
else
|
|
|
|
result = COMM_BuildNewCommDCB(ptr, &dcb, &timeouts);
|
|
|
|
|
|
|
|
if(result)
|
|
|
|
{
|
|
|
|
memcpy(lpdcb, &dcb, sizeof(DCB));
|
|
|
|
if(lptimeouts) memcpy(lptimeouts, &timeouts, sizeof(COMMTIMEOUTS));
|
|
|
|
return TRUE;
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
2003-09-12 00:26:15 +00:00
|
|
|
else
|
|
|
|
{
|
2004-01-16 02:14:50 +00:00
|
|
|
WARN("Invalid device control string: %s\n", debugstr_w(devid));
|
2003-09-12 00:26:15 +00:00
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* BuildCommDCBW (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Updates a device control block structure with values from an
|
|
|
|
* unicode device control string. The device control string has two forms
|
|
|
|
* normal and extended, it must be exclusively in one or the other form.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
2005-03-30 17:08:31 +00:00
|
|
|
* True on success, false on a malformed control string.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI BuildCommDCBW(
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCWSTR devid, /* [in] The unicode device control string. */
|
|
|
|
LPDCB lpdcb) /* [out] The device control block to be updated. */
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
|
|
|
return BuildCommDCBAndTimeoutsW(devid,lpdcb,NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetCommBreak (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Halts the transmission of characters to a communications device.
|
|
|
|
*
|
2006-01-12 12:32:51 +00:00
|
|
|
* PARAMS
|
|
|
|
* handle [in] The communications device to suspend
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, and false if the communications device could not be found,
|
|
|
|
* the control is not supported.
|
|
|
|
*
|
|
|
|
* BUGS
|
|
|
|
*
|
2002-05-31 23:06:46 +00:00
|
|
|
* Only TIOCSBRK and TIOCCBRK are supported.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-01-12 12:32:51 +00:00
|
|
|
BOOL WINAPI SetCommBreak(HANDLE handle)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2006-01-12 12:32:51 +00:00
|
|
|
return DeviceIoControl(handle, IOCTL_SERIAL_SET_BREAK_ON, NULL, 0, NULL, 0, NULL, NULL);
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* ClearCommBreak (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Resumes character transmission from a communication device.
|
|
|
|
*
|
2006-01-12 12:32:51 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The halted communication device whose character transmission is to be resumed
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success and false if the communications device could not be found.
|
|
|
|
*
|
|
|
|
* BUGS
|
|
|
|
*
|
2002-05-31 23:06:46 +00:00
|
|
|
* Only TIOCSBRK and TIOCCBRK are supported.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-01-12 12:32:51 +00:00
|
|
|
BOOL WINAPI ClearCommBreak(HANDLE handle)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2006-01-12 12:32:51 +00:00
|
|
|
return DeviceIoControl(handle, IOCTL_SERIAL_SET_BREAK_OFF, NULL, 0, NULL, 0, NULL, NULL);
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* EscapeCommFunction (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Directs a communication device to perform an extended function.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True or requested data on successful completion of the command,
|
|
|
|
* false if the device is not present cannot execute the command
|
|
|
|
* or the command failed.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI EscapeCommFunction(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE handle, /* [in] The communication device to perform the extended function. */
|
|
|
|
UINT nFunction) /* [in] The extended function to be performed. */
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
1999-08-14 15:53:50 +00:00
|
|
|
int fd,direct=FALSE,result=FALSE;
|
1999-03-21 15:45:41 +00:00
|
|
|
struct termios port;
|
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("handle %p, function=%d\n", handle, nFunction);
|
2005-12-12 16:15:26 +00:00
|
|
|
fd = get_comm_fd( handle, FILE_READ_DATA );
|
2003-12-02 04:19:56 +00:00
|
|
|
if(fd<0) return FALSE;
|
1999-03-21 15:45:41 +00:00
|
|
|
|
|
|
|
if (tcgetattr(fd,&port) == -1) {
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( handle, fd );
|
1999-03-21 15:45:41 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (nFunction) {
|
|
|
|
case RESETDEV:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("\n");
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-03-21 15:45:41 +00:00
|
|
|
|
|
|
|
case CLRDTR:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("CLRDTR\n");
|
|
|
|
#ifdef TIOCM_DTR
|
|
|
|
direct=TRUE;
|
|
|
|
result= COMM_WhackModem(fd, ~TIOCM_DTR, 0);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
case CLRRTS:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("CLRRTS\n");
|
|
|
|
#ifdef TIOCM_RTS
|
|
|
|
direct=TRUE;
|
|
|
|
result= COMM_WhackModem(fd, ~TIOCM_RTS, 0);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
|
|
|
#endif
|
2002-05-31 23:06:46 +00:00
|
|
|
|
1999-03-21 15:45:41 +00:00
|
|
|
case SETDTR:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("SETDTR\n");
|
|
|
|
#ifdef TIOCM_DTR
|
|
|
|
direct=TRUE;
|
|
|
|
result= COMM_WhackModem(fd, 0, TIOCM_DTR);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
1999-08-14 15:53:50 +00:00
|
|
|
#endif
|
1999-03-21 15:45:41 +00:00
|
|
|
|
|
|
|
case SETRTS:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("SETRTS\n");
|
2002-02-26 00:39:55 +00:00
|
|
|
#ifdef TIOCM_RTS
|
1999-08-14 15:53:50 +00:00
|
|
|
direct=TRUE;
|
|
|
|
result= COMM_WhackModem(fd, 0, TIOCM_RTS);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
case SETXOFF:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("SETXOFF\n");
|
1999-03-21 15:45:41 +00:00
|
|
|
port.c_iflag |= IXOFF;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SETXON:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("SETXON\n");
|
1999-03-21 15:45:41 +00:00
|
|
|
port.c_iflag |= IXON;
|
|
|
|
break;
|
|
|
|
case SETBREAK:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("setbreak\n");
|
|
|
|
#ifdef TIOCSBRK
|
|
|
|
direct=TRUE;
|
|
|
|
result = ioctl(fd,TIOCSBRK,0);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
1999-08-14 15:53:50 +00:00
|
|
|
#endif
|
1999-03-21 15:45:41 +00:00
|
|
|
case CLRBREAK:
|
1999-08-14 15:53:50 +00:00
|
|
|
TRACE("clrbreak\n");
|
|
|
|
#ifdef TIOCSBRK
|
|
|
|
direct=TRUE;
|
|
|
|
result = ioctl(fd,TIOCCBRK,0);
|
1999-03-21 15:45:41 +00:00
|
|
|
break;
|
1999-08-14 15:53:50 +00:00
|
|
|
#endif
|
1999-03-21 15:45:41 +00:00
|
|
|
default:
|
2002-10-25 21:02:30 +00:00
|
|
|
WARN("(handle=%p,nFunction=%d): Unknown function\n",
|
1999-03-21 15:45:41 +00:00
|
|
|
handle, nFunction);
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
2002-05-31 23:06:46 +00:00
|
|
|
|
1999-08-14 15:53:50 +00:00
|
|
|
if (!direct)
|
|
|
|
if (tcsetattr(fd, TCSADRAIN, &port) == -1) {
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( handle, fd );
|
2002-05-31 23:06:46 +00:00
|
|
|
return FALSE;
|
|
|
|
} else
|
1999-08-14 15:53:50 +00:00
|
|
|
result= TRUE;
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if (result == -1)
|
|
|
|
{
|
|
|
|
result= FALSE;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
result = TRUE;
|
|
|
|
}
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( handle, fd );
|
1999-08-14 15:53:50 +00:00
|
|
|
return result;
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* PurgeComm (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Terminates pending operations and/or discards buffers on a
|
|
|
|
* communication resource.
|
|
|
|
*
|
2006-02-06 10:36:19 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The communication resource to be purged
|
|
|
|
* flags [in] Flags for clear pending/buffer on input/output
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success and false if the communications handle is bad.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-02-06 10:36:19 +00:00
|
|
|
BOOL WINAPI PurgeComm(HANDLE handle, DWORD flags)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2006-02-06 10:36:19 +00:00
|
|
|
return DeviceIoControl(handle, IOCTL_SERIAL_PURGE, &flags, sizeof(flags),
|
|
|
|
NULL, 0, NULL, NULL);
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* ClearCommError (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Enables further I/O operations on a communications resource after
|
|
|
|
* supplying error and current status information.
|
|
|
|
*
|
2006-02-27 21:22:06 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The communication resource with the error
|
|
|
|
* errors [out] Flags indicating error the resource experienced
|
|
|
|
* lpStat [out] The status of the communication resource
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false if the communication resource handle is bad.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-02-27 21:22:06 +00:00
|
|
|
BOOL WINAPI ClearCommError(HANDLE handle, LPDWORD errors, LPCOMSTAT lpStat)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2006-02-27 21:22:06 +00:00
|
|
|
SERIAL_STATUS ss;
|
1999-03-21 15:45:41 +00:00
|
|
|
|
2006-02-27 21:22:06 +00:00
|
|
|
if (!DeviceIoControl(handle, IOCTL_SERIAL_GET_COMMSTATUS, NULL, 0,
|
|
|
|
&ss, sizeof(ss), NULL, NULL))
|
|
|
|
return FALSE;
|
1999-03-21 15:45:41 +00:00
|
|
|
|
2006-02-27 21:22:06 +00:00
|
|
|
if (errors)
|
|
|
|
{
|
|
|
|
*errors = 0;
|
|
|
|
if (ss.Errors & SERIAL_ERROR_BREAK) *errors |= CE_BREAK;
|
|
|
|
if (ss.Errors & SERIAL_ERROR_FRAMING) *errors |= CE_FRAME;
|
|
|
|
if (ss.Errors & SERIAL_ERROR_OVERRUN) *errors |= CE_OVERRUN;
|
|
|
|
if (ss.Errors & SERIAL_ERROR_QUEUEOVERRUN) *errors |= CE_RXOVER;
|
|
|
|
if (ss.Errors & SERIAL_ERROR_PARITY) *errors |= CE_RXPARITY;
|
|
|
|
}
|
|
|
|
|
2002-05-31 23:06:46 +00:00
|
|
|
if (lpStat)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2006-02-27 21:22:06 +00:00
|
|
|
memset(lpStat, 0, sizeof(*lpStat));
|
|
|
|
|
|
|
|
if (ss.HoldReasons & SERIAL_TX_WAITING_FOR_CTS) lpStat->fCtsHold = TRUE;
|
|
|
|
if (ss.HoldReasons & SERIAL_TX_WAITING_FOR_DSR) lpStat->fDsrHold = TRUE;
|
|
|
|
if (ss.HoldReasons & SERIAL_TX_WAITING_FOR_DCD) lpStat->fRlsdHold = TRUE;
|
|
|
|
if (ss.HoldReasons & SERIAL_TX_WAITING_FOR_XON) lpStat->fXoffHold = TRUE;
|
|
|
|
if (ss.HoldReasons & SERIAL_TX_WAITING_XOFF_SENT) lpStat->fXoffSent = TRUE;
|
|
|
|
if (ss.EofReceived) lpStat->fEof = TRUE;
|
|
|
|
if (ss.WaitForImmediate) lpStat->fTxim = TRUE;
|
|
|
|
lpStat->cbInQue = ss.AmountInInQueue;
|
|
|
|
lpStat->cbOutQue = ss.AmountInOutQueue;
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetupComm (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Called after CreateFile to hint to the communication resource to use
|
|
|
|
* specified sizes for input and output buffers rather than the default values.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True if successful, false if the communications resource handle is bad.
|
|
|
|
*
|
|
|
|
* BUGS
|
|
|
|
*
|
|
|
|
* Stub.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI SetupComm(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE handle, /* [in] The just created communication resource handle. */
|
|
|
|
DWORD insize, /* [in] The suggested size of the communication resources input buffer in bytes. */
|
|
|
|
DWORD outsize) /* [in] The suggested size of the communication resources output buffer in bytes. */
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
|
|
|
int fd;
|
|
|
|
|
1999-06-26 19:09:08 +00:00
|
|
|
FIXME("insize %ld outsize %ld unimplemented stub\n", insize, outsize);
|
2005-12-12 16:15:26 +00:00
|
|
|
fd=get_comm_fd( handle, FILE_READ_DATA );
|
2003-12-02 04:19:56 +00:00
|
|
|
if(0>fd) return FALSE;
|
|
|
|
release_comm_fd( handle, fd );
|
1999-03-21 15:45:41 +00:00
|
|
|
return TRUE;
|
2002-05-31 23:06:46 +00:00
|
|
|
}
|
1999-03-21 15:45:41 +00:00
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* GetCommMask (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
2002-02-27 21:34:54 +00:00
|
|
|
* Obtain the events associated with a communication device that will cause
|
|
|
|
* a call WaitCommEvent to return.
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
2006-02-06 10:37:06 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The communications device
|
|
|
|
* evtmask [out] The events which cause WaitCommEvent to return
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, fail on bad device handle etc.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-02-06 10:37:06 +00:00
|
|
|
BOOL WINAPI GetCommMask(HANDLE handle, LPDWORD evtmask)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("handle %p, mask %p\n", handle, evtmask);
|
2006-02-06 10:37:06 +00:00
|
|
|
return DeviceIoControl(handle, IOCTL_SERIAL_GET_WAIT_MASK,
|
|
|
|
NULL, 0, evtmask, sizeof(*evtmask), NULL, NULL);
|
1999-03-21 15:45:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetCommMask (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* There be some things we need to hear about yon there communications device.
|
|
|
|
* (Set which events associated with a communication device should cause
|
|
|
|
* a call WaitCommEvent to return.)
|
|
|
|
*
|
2006-02-06 10:37:06 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The communications device
|
|
|
|
* evtmask [in] The events that are to be monitored
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false on bad handle etc.
|
1999-03-21 15:45:41 +00:00
|
|
|
*/
|
2006-02-06 10:37:06 +00:00
|
|
|
BOOL WINAPI SetCommMask(HANDLE handle, DWORD evtmask)
|
1999-03-21 15:45:41 +00:00
|
|
|
{
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("handle %p, mask %lx\n", handle, evtmask);
|
2006-02-06 10:37:06 +00:00
|
|
|
return DeviceIoControl(handle, IOCTL_SERIAL_SET_WAIT_MASK,
|
|
|
|
&evtmask, sizeof(evtmask), NULL, 0, NULL, NULL);
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
}
|
|
|
|
|
2006-05-07 12:10:32 +00:00
|
|
|
static void dump_dcb(const DCB* lpdcb)
|
|
|
|
{
|
|
|
|
TRACE("bytesize=%d baudrate=%ld fParity=%d Parity=%d stopbits=%d\n",
|
|
|
|
lpdcb->ByteSize, lpdcb->BaudRate, lpdcb->fParity, lpdcb->Parity,
|
|
|
|
(lpdcb->StopBits == ONESTOPBIT) ? 1 :
|
|
|
|
(lpdcb->StopBits == TWOSTOPBITS) ? 2 : 0);
|
|
|
|
TRACE("%sIXON %sIXOFF\n", (lpdcb->fInX) ? "" : "~", (lpdcb->fOutX) ? "" : "~");
|
|
|
|
TRACE("fOutxCtsFlow=%d fRtsControl=%d\n", lpdcb->fOutxCtsFlow, lpdcb->fRtsControl);
|
|
|
|
TRACE("fOutxDsrFlow=%d fDtrControl=%d\n", lpdcb->fOutxDsrFlow, lpdcb->fDtrControl);
|
|
|
|
if (lpdcb->fOutxCtsFlow || lpdcb->fRtsControl == RTS_CONTROL_HANDSHAKE)
|
|
|
|
TRACE("CRTSCTS\n");
|
|
|
|
else
|
|
|
|
TRACE("~CRTSCTS\n");
|
|
|
|
}
|
|
|
|
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetCommState (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Re-initializes all hardware and control settings of a communications device,
|
|
|
|
* with values from a device control block without effecting the input and output
|
|
|
|
* queues.
|
|
|
|
*
|
2006-05-07 12:10:32 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* handle [in] The communications device
|
|
|
|
* lpdcb [out] The device control block
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false on failure eg if the XonChar is equal to the XoffChar.
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
2006-05-07 12:10:32 +00:00
|
|
|
BOOL WINAPI SetCommState( HANDLE handle, LPDCB lpdcb)
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
{
|
2006-05-07 12:10:36 +00:00
|
|
|
SERIAL_BAUD_RATE sbr;
|
|
|
|
SERIAL_LINE_CONTROL slc;
|
2006-05-07 12:10:39 +00:00
|
|
|
SERIAL_HANDFLOW shf;
|
2006-05-07 12:10:43 +00:00
|
|
|
SERIAL_CHARS sc;
|
2006-05-07 12:10:36 +00:00
|
|
|
|
2006-05-07 12:10:32 +00:00
|
|
|
if (lpdcb == NULL)
|
|
|
|
{
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
dump_dcb(lpdcb);
|
|
|
|
|
|
|
|
sbr.BaudRate = lpdcb->BaudRate;
|
2006-05-07 12:10:36 +00:00
|
|
|
|
|
|
|
slc.StopBits = lpdcb->StopBits;
|
|
|
|
slc.Parity = lpdcb->Parity;
|
|
|
|
slc.WordLength = lpdcb->ByteSize;
|
|
|
|
|
2006-05-07 12:10:39 +00:00
|
|
|
shf.ControlHandShake = 0;
|
|
|
|
shf.FlowReplace = 0;
|
|
|
|
if (lpdcb->fOutxCtsFlow) shf.ControlHandShake |= SERIAL_CTS_HANDSHAKE;
|
|
|
|
if (lpdcb->fOutxDsrFlow) shf.ControlHandShake |= SERIAL_DSR_HANDSHAKE;
|
|
|
|
switch (lpdcb->fDtrControl)
|
|
|
|
{
|
|
|
|
case DTR_CONTROL_DISABLE: break;
|
|
|
|
case DTR_CONTROL_ENABLE: shf.ControlHandShake |= SERIAL_DTR_CONTROL; break;
|
|
|
|
case DTR_CONTROL_HANDSHAKE: shf.ControlHandShake |= SERIAL_DTR_HANDSHAKE;break;
|
|
|
|
default:
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
switch (lpdcb->fDtrControl)
|
|
|
|
{
|
|
|
|
case RTS_CONTROL_DISABLE: break;
|
|
|
|
case RTS_CONTROL_ENABLE: shf.FlowReplace |= SERIAL_RTS_CONTROL; break;
|
|
|
|
case RTS_CONTROL_HANDSHAKE: shf.FlowReplace |= SERIAL_RTS_HANDSHAKE; break;
|
|
|
|
case RTS_CONTROL_TOGGLE: shf.FlowReplace |= SERIAL_RTS_CONTROL |
|
|
|
|
SERIAL_RTS_HANDSHAKE; break;
|
|
|
|
default:
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
if (lpdcb->fDsrSensitivity) shf.ControlHandShake |= SERIAL_DSR_SENSITIVITY;
|
|
|
|
if (lpdcb->fAbortOnError) shf.ControlHandShake |= SERIAL_ERROR_ABORT;
|
|
|
|
|
|
|
|
if (lpdcb->fErrorChar) shf.FlowReplace |= SERIAL_ERROR_CHAR;
|
|
|
|
if (lpdcb->fNull) shf.FlowReplace |= SERIAL_NULL_STRIPPING;
|
|
|
|
if (lpdcb->fTXContinueOnXoff) shf.FlowReplace |= SERIAL_XOFF_CONTINUE;
|
|
|
|
if (lpdcb->fOutX) shf.FlowReplace |= SERIAL_AUTO_TRANSMIT;
|
|
|
|
if (lpdcb->fInX) shf.FlowReplace |= SERIAL_AUTO_RECEIVE;
|
|
|
|
|
|
|
|
shf.XonLimit = lpdcb->XonLim;
|
|
|
|
shf.XoffLimit = lpdcb->XoffLim;
|
|
|
|
|
2006-05-07 12:10:43 +00:00
|
|
|
sc.EofChar = lpdcb->EofChar;
|
|
|
|
sc.ErrorChar = lpdcb->ErrorChar;
|
|
|
|
sc.BreakChar = 0;
|
|
|
|
sc.EventChar = lpdcb->EvtChar;
|
|
|
|
sc.XonChar = lpdcb->XonChar;
|
|
|
|
sc.XoffChar = lpdcb->XoffChar;
|
|
|
|
|
2006-05-07 12:10:39 +00:00
|
|
|
/* note: change DTR/RTS lines after setting the comm attributes,
|
|
|
|
* so flow control does not interfere.
|
|
|
|
*/
|
2006-05-07 12:10:43 +00:00
|
|
|
return (DeviceIoControl(handle, IOCTL_SERIAL_SET_BAUD_RATE,
|
|
|
|
&sbr, sizeof(sbr), NULL, 0, NULL, NULL) &&
|
|
|
|
DeviceIoControl(handle, IOCTL_SERIAL_SET_LINE_CONTROL,
|
|
|
|
&slc, sizeof(slc), NULL, 0, NULL, NULL) &&
|
|
|
|
DeviceIoControl(handle, IOCTL_SERIAL_SET_HANDFLOW,
|
|
|
|
&shf, sizeof(shf), NULL, 0, NULL, NULL) &&
|
|
|
|
DeviceIoControl(handle, IOCTL_SERIAL_SET_CHARS,
|
|
|
|
&sc, sizeof(sc), NULL, 0, NULL, NULL));
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* GetCommState (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Fills in a device control block with information from a communications device.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false if the communication device handle is bad etc
|
2002-05-31 23:06:46 +00:00
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* BUGS
|
|
|
|
*
|
|
|
|
* XonChar and XoffChar are not set.
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI GetCommState(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE handle, /* [in] The communications device. */
|
|
|
|
LPDCB lpdcb) /* [out] The device control block. */
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
{
|
1999-03-14 12:25:36 +00:00
|
|
|
struct termios port;
|
1999-08-07 12:28:09 +00:00
|
|
|
int fd,speed;
|
2004-04-12 22:06:52 +00:00
|
|
|
int stat = DTR_CONTROL_ENABLE | RTS_CONTROL_ENABLE;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("handle %p, ptr %p\n", handle, lpdcb);
|
1999-03-14 12:25:36 +00:00
|
|
|
|
2005-12-12 16:15:26 +00:00
|
|
|
fd = get_comm_fd( handle, FILE_READ_DATA );
|
2003-12-02 04:19:56 +00:00
|
|
|
if (fd < 0) return FALSE;
|
2005-09-27 09:32:17 +00:00
|
|
|
if (tcgetattr(fd, &port) == -1) {
|
1999-08-07 12:28:09 +00:00
|
|
|
int save_error=errno;
|
2005-09-27 09:32:17 +00:00
|
|
|
ERR("tcgetattr error '%s'\n", strerror(save_error));
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( handle, fd );
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
2005-09-27 09:32:17 +00:00
|
|
|
|
|
|
|
#ifdef TIOCMGET
|
|
|
|
if (ioctl(fd, TIOCMGET, &stat) == -1)
|
|
|
|
{
|
|
|
|
int save_error=errno;
|
|
|
|
WARN("ioctl error '%s'\n", strerror(save_error));
|
|
|
|
stat = DTR_CONTROL_ENABLE | RTS_CONTROL_ENABLE;
|
|
|
|
}
|
|
|
|
#endif
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( handle, fd );
|
1997-02-02 19:01:52 +00:00
|
|
|
#ifndef __EMX__
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
#ifdef CBAUD
|
1999-08-07 12:28:09 +00:00
|
|
|
speed= (port.c_cflag & CBAUD);
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
#else
|
1999-08-07 12:28:09 +00:00
|
|
|
speed= (cfgetospeed(&port));
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
#endif
|
1999-08-07 12:28:09 +00:00
|
|
|
switch (speed) {
|
2004-04-14 19:33:27 +00:00
|
|
|
case B0:
|
|
|
|
lpdcb->BaudRate = 0;
|
|
|
|
break;
|
|
|
|
case B50:
|
|
|
|
lpdcb->BaudRate = 50;
|
|
|
|
break;
|
|
|
|
case B75:
|
|
|
|
lpdcb->BaudRate = 75;
|
|
|
|
break;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
case B110:
|
|
|
|
lpdcb->BaudRate = 110;
|
|
|
|
break;
|
2004-04-14 19:33:27 +00:00
|
|
|
case B134:
|
|
|
|
lpdcb->BaudRate = 134;
|
|
|
|
break;
|
|
|
|
case B150:
|
|
|
|
lpdcb->BaudRate = 150;
|
|
|
|
break;
|
|
|
|
case B200:
|
|
|
|
lpdcb->BaudRate = 200;
|
|
|
|
break;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
case B300:
|
|
|
|
lpdcb->BaudRate = 300;
|
|
|
|
break;
|
|
|
|
case B600:
|
|
|
|
lpdcb->BaudRate = 600;
|
|
|
|
break;
|
|
|
|
case B1200:
|
|
|
|
lpdcb->BaudRate = 1200;
|
|
|
|
break;
|
2004-04-14 19:33:27 +00:00
|
|
|
case B1800:
|
|
|
|
lpdcb->BaudRate = 1800;
|
|
|
|
break;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
case B2400:
|
|
|
|
lpdcb->BaudRate = 2400;
|
|
|
|
break;
|
|
|
|
case B4800:
|
|
|
|
lpdcb->BaudRate = 4800;
|
|
|
|
break;
|
|
|
|
case B9600:
|
|
|
|
lpdcb->BaudRate = 9600;
|
|
|
|
break;
|
|
|
|
case B19200:
|
|
|
|
lpdcb->BaudRate = 19200;
|
|
|
|
break;
|
|
|
|
case B38400:
|
|
|
|
lpdcb->BaudRate = 38400;
|
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
#ifdef B57600
|
|
|
|
case B57600:
|
|
|
|
lpdcb->BaudRate = 57600;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
#endif
|
|
|
|
#ifdef B115200
|
|
|
|
case B115200:
|
|
|
|
lpdcb->BaudRate = 115200;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
#endif
|
|
|
|
#ifdef B230400
|
|
|
|
case B230400:
|
|
|
|
lpdcb->BaudRate = 230400;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
#endif
|
|
|
|
#ifdef B460800
|
|
|
|
case B460800:
|
|
|
|
lpdcb->BaudRate = 460800;
|
2002-05-31 23:06:46 +00:00
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
#endif
|
|
|
|
default:
|
2005-11-10 12:14:56 +00:00
|
|
|
ERR("unknown speed %x\n", speed);
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
1997-02-02 19:01:52 +00:00
|
|
|
#endif
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
switch (port.c_cflag & CSIZE) {
|
|
|
|
case CS5:
|
|
|
|
lpdcb->ByteSize = 5;
|
|
|
|
break;
|
|
|
|
case CS6:
|
|
|
|
lpdcb->ByteSize = 6;
|
|
|
|
break;
|
|
|
|
case CS7:
|
|
|
|
lpdcb->ByteSize = 7;
|
|
|
|
break;
|
|
|
|
case CS8:
|
|
|
|
lpdcb->ByteSize = 8;
|
|
|
|
break;
|
1999-08-07 12:28:09 +00:00
|
|
|
default:
|
2005-11-10 12:14:56 +00:00
|
|
|
ERR("unknown size %x\n", port.c_cflag & CSIZE);
|
2002-05-31 23:06:46 +00:00
|
|
|
}
|
|
|
|
|
1999-03-23 13:44:51 +00:00
|
|
|
if(port.c_iflag & INPCK)
|
|
|
|
lpdcb->fParity = TRUE;
|
|
|
|
else
|
|
|
|
lpdcb->fParity = FALSE;
|
2000-04-28 14:44:33 +00:00
|
|
|
#ifdef CMSPAR
|
2000-04-29 14:26:13 +00:00
|
|
|
switch (port.c_cflag & (PARENB | PARODD | CMSPAR))
|
2000-04-28 14:44:33 +00:00
|
|
|
#else
|
2000-04-29 14:26:13 +00:00
|
|
|
switch (port.c_cflag & (PARENB | PARODD))
|
2000-04-28 14:44:33 +00:00
|
|
|
#endif
|
2000-04-29 14:26:13 +00:00
|
|
|
{
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
case 0:
|
1998-11-22 15:05:18 +00:00
|
|
|
lpdcb->Parity = NOPARITY;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
break;
|
|
|
|
case PARENB:
|
1998-11-22 15:05:18 +00:00
|
|
|
lpdcb->Parity = EVENPARITY;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
break;
|
|
|
|
case (PARENB | PARODD):
|
2002-05-31 23:06:46 +00:00
|
|
|
lpdcb->Parity = ODDPARITY;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
break;
|
2000-04-28 14:44:33 +00:00
|
|
|
#ifdef CMSPAR
|
|
|
|
case (PARENB | CMSPAR):
|
2002-05-31 23:06:46 +00:00
|
|
|
lpdcb->Parity = MARKPARITY;
|
2000-04-28 14:44:33 +00:00
|
|
|
break;
|
|
|
|
case (PARENB | PARODD | CMSPAR):
|
2002-05-31 23:06:46 +00:00
|
|
|
lpdcb->Parity = SPACEPARITY;
|
2000-04-28 14:44:33 +00:00
|
|
|
break;
|
|
|
|
#endif
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (port.c_cflag & CSTOPB)
|
2000-04-28 14:44:33 +00:00
|
|
|
if(lpdcb->ByteSize == 5)
|
|
|
|
lpdcb->StopBits = ONE5STOPBITS;
|
|
|
|
else
|
|
|
|
lpdcb->StopBits = TWOSTOPBITS;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
else
|
2000-04-28 14:44:33 +00:00
|
|
|
lpdcb->StopBits = ONESTOPBIT;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
|
|
|
|
lpdcb->fNull = 0;
|
|
|
|
lpdcb->fBinary = 1;
|
|
|
|
|
2001-11-07 20:13:25 +00:00
|
|
|
/* termios does not support DTR/DSR flow control */
|
|
|
|
lpdcb->fOutxDsrFlow = 0;
|
2004-04-12 22:06:52 +00:00
|
|
|
lpdcb->fDtrControl =
|
|
|
|
#ifdef TIOCM_DTR
|
|
|
|
!(stat & TIOCM_DTR) ? DTR_CONTROL_DISABLE:
|
|
|
|
#endif
|
|
|
|
DTR_CONTROL_ENABLE ;
|
2001-11-07 20:13:25 +00:00
|
|
|
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
#ifdef CRTSCTS
|
|
|
|
|
|
|
|
if (port.c_cflag & CRTSCTS) {
|
2001-12-13 00:57:58 +00:00
|
|
|
lpdcb->fRtsControl = RTS_CONTROL_HANDSHAKE;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
lpdcb->fOutxCtsFlow = 1;
|
2002-05-31 23:06:46 +00:00
|
|
|
} else
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
#endif
|
|
|
|
{
|
2004-04-12 22:06:52 +00:00
|
|
|
lpdcb->fRtsControl =
|
|
|
|
#ifdef TIOCM_RTS
|
|
|
|
!(stat & TIOCM_RTS) ? RTS_CONTROL_DISABLE :
|
|
|
|
#endif
|
|
|
|
RTS_CONTROL_ENABLE ;
|
2001-11-07 20:13:25 +00:00
|
|
|
lpdcb->fOutxCtsFlow = 0;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
|
|
|
if (port.c_iflag & IXON)
|
|
|
|
lpdcb->fInX = 1;
|
|
|
|
else
|
|
|
|
lpdcb->fInX = 0;
|
|
|
|
|
|
|
|
if (port.c_iflag & IXOFF)
|
|
|
|
lpdcb->fOutX = 1;
|
|
|
|
else
|
|
|
|
lpdcb->fOutX = 0;
|
|
|
|
/*
|
2002-05-31 23:06:46 +00:00
|
|
|
lpdcb->XonChar =
|
|
|
|
lpdcb->XoffChar =
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
|
|
|
lpdcb->XonLim = 10;
|
|
|
|
lpdcb->XoffLim = 10;
|
|
|
|
|
1999-08-07 12:28:09 +00:00
|
|
|
TRACE("OK\n");
|
2002-05-31 23:06:46 +00:00
|
|
|
|
1999-08-07 12:28:09 +00:00
|
|
|
TRACE("bytesize %d baudrate %ld fParity %d Parity %d stopbits %d\n",
|
|
|
|
lpdcb->ByteSize,lpdcb->BaudRate,lpdcb->fParity, lpdcb->Parity,
|
|
|
|
(lpdcb->StopBits == ONESTOPBIT)?1:
|
|
|
|
(lpdcb->StopBits == TWOSTOPBITS)?2:0);
|
|
|
|
TRACE("%s %s\n",(lpdcb->fInX)?"IXON":"~IXON",
|
|
|
|
(lpdcb->fOutX)?"IXOFF":"~IXOFF");
|
2004-04-12 22:06:52 +00:00
|
|
|
TRACE("fOutxCtsFlow %d fRtsControl %d\n", lpdcb->fOutxCtsFlow,
|
|
|
|
lpdcb->fRtsControl);
|
|
|
|
TRACE("fOutxDsrFlow %d fDtrControl%d\n", lpdcb->fOutxDsrFlow,
|
|
|
|
lpdcb->fDtrControl);
|
1999-08-07 12:28:09 +00:00
|
|
|
#ifdef CRTSCTS
|
|
|
|
if ( lpdcb->fOutxCtsFlow ||
|
2001-12-13 00:57:58 +00:00
|
|
|
lpdcb->fRtsControl == RTS_CONTROL_HANDSHAKE
|
2002-05-31 23:06:46 +00:00
|
|
|
)
|
1999-08-07 12:28:09 +00:00
|
|
|
TRACE("CRTSCTS\n");
|
2001-12-13 00:57:58 +00:00
|
|
|
else
|
2002-05-31 23:06:46 +00:00
|
|
|
|
1999-08-07 12:28:09 +00:00
|
|
|
TRACE("~CRTSCTS\n");
|
2002-05-31 23:06:46 +00:00
|
|
|
#endif
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* TransmitCommChar (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Transmits a single character in front of any pending characters in the
|
|
|
|
* output buffer. Usually used to send an interrupt character to a host.
|
|
|
|
*
|
2006-02-06 10:38:53 +00:00
|
|
|
* PARAMS
|
|
|
|
* hComm [in] The communication device in need of a command character
|
|
|
|
* chTransmit [in] The character to transmit
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True if the call succeeded, false if the previous command character to the
|
|
|
|
* same device has not been sent yet the handle is bad etc.
|
|
|
|
*
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
2006-02-06 10:38:53 +00:00
|
|
|
BOOL WINAPI TransmitCommChar(HANDLE hComm, CHAR chTransmit)
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
{
|
2006-02-06 10:38:53 +00:00
|
|
|
return DeviceIoControl(hComm, IOCTL_SERIAL_IMMEDIATE_CHAR,
|
|
|
|
&chTransmit, sizeof(chTransmit), NULL, 0, NULL, NULL);
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
|
|
|
|
2002-04-25 23:00:45 +00:00
|
|
|
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* GetCommTimeouts (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
2002-02-27 21:34:54 +00:00
|
|
|
* Obtains the request timeout values for the communications device.
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false if communications device handle is bad
|
|
|
|
* or the target structure is null.
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL WINAPI GetCommTimeouts(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE hComm, /* [in] The communications device. */
|
2002-02-27 21:34:54 +00:00
|
|
|
LPCOMMTIMEOUTS lptimeouts) /* [out] The struct of request timeouts. */
|
1997-08-24 16:00:30 +00:00
|
|
|
{
|
2000-10-15 00:40:25 +00:00
|
|
|
BOOL ret;
|
2000-09-16 20:55:12 +00:00
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p,%p)\n",hComm,lptimeouts);
|
2000-09-16 20:55:12 +00:00
|
|
|
|
|
|
|
if(!lptimeouts)
|
|
|
|
{
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2001-02-27 02:09:16 +00:00
|
|
|
SERVER_START_REQ( get_serial_info )
|
2000-10-15 00:40:25 +00:00
|
|
|
{
|
|
|
|
req->handle = hComm;
|
2001-11-30 18:46:42 +00:00
|
|
|
if ((ret = !wine_server_call_err( req )))
|
2000-10-15 00:40:25 +00:00
|
|
|
{
|
2001-11-30 18:46:42 +00:00
|
|
|
lptimeouts->ReadIntervalTimeout = reply->readinterval;
|
|
|
|
lptimeouts->ReadTotalTimeoutMultiplier = reply->readmult;
|
|
|
|
lptimeouts->ReadTotalTimeoutConstant = reply->readconst;
|
|
|
|
lptimeouts->WriteTotalTimeoutMultiplier = reply->writemult;
|
|
|
|
lptimeouts->WriteTotalTimeoutConstant = reply->writeconst;
|
2000-10-15 00:40:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
SERVER_END_REQ;
|
|
|
|
return ret;
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetCommTimeouts (KERNEL32.@)
|
2000-09-16 20:55:12 +00:00
|
|
|
*
|
|
|
|
* Sets the timeouts used when reading and writing data to/from COMM ports.
|
|
|
|
*
|
2002-05-31 23:06:46 +00:00
|
|
|
* ReadIntervalTimeout
|
2000-09-16 20:55:12 +00:00
|
|
|
* - converted and passes to linux kernel as c_cc[VTIME]
|
|
|
|
* ReadTotalTimeoutMultiplier, ReadTotalTimeoutConstant
|
|
|
|
* - used in ReadFile to calculate GetOverlappedResult's timeout
|
|
|
|
* WriteTotalTimeoutMultiplier, WriteTotalTimeoutConstant
|
|
|
|
* - used in WriteFile to calculate GetOverlappedResult's timeout
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
2002-02-27 21:34:54 +00:00
|
|
|
* True if the timeouts were set, false otherwise.
|
Release 960728
Sun Jul 28 17:57:19 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/task.c] [include/task.h]
Implemented SwitchStackTo()/SwitchStackBack().
* [include/wintypes.h] [loader/main.c]
Added __winelib variable to distinguish between emulator and
library at run-time. Later on, this should avoid some
recompilations when building Winelib.
* [windows/property.c]
Implemented Win32 functions for window properties.
Fri Jul 26 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [controls/listbox.c]
Implemented LBS_SORT style, WM_COMPAREITEM, and WM_DELETEITEM
messages.
* [controls/menu.c]
Call TranslateMessage() to enable shortcuts (on WM_CHAR).
* [include/cursoricon.h]
Moved #pragma pack(1) back to where it belongs.
* [objects/palette.c]
RealizeDefaultPalette() maps to system colors only.
Do not broadcast palette notifications when in TrueColor.
* [objects/color.c] [include/palette.h]
Miscellaneous optimizations. Had to fix several
"improvements" made to my patch for previous release.
* [objects/dib.c]
Reverse dib bits order for 24-bit SetDIBits().
* [objects/dc.c]
GetDeviceCaps() does not return RC_PALETTE when in TrueColor.
* [windows/scroll.c]
Scroll update region too.
* [windows/message.c]
Include QS_MOUSE into the event mask for nonclient mouse
message filter. Fixes problems with Word 6 freezing when
mouse hits nonclient area.
* [windows/win.c]
Allow top-level windows to be linked as HWND_TOP in CreateWindow().
* [windows/winpos.c] [windows/mdi.c]
Attempt to fix control menu duplication.
Fri Jul 26 09:49:35 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/drive.c]
GetDriveType32A(): return value for CDROM fixed.
* [files/file.c]
SearchPath* added.
* [if1632/gdi32.spec] [objects/brush.c]
SetBrushOrgEx() added.
* [loader/pe_resource.c]
If even loading the default entry fails, we just use the first
entry from the resource directory.
[loader/task.c]
SetSigHandler() stub added, Paradox 4.5 now starts up.
* [misc/comm.c] [include/windows.h] [if1632/kernel32.spec]
COMM functions updated to win32, not complete.
* [misc/lstr.c]
FormatMessageA partially implemented.
* [include/miscemu.h] [memory/selector.c]
[memory/global.c] [miscemu/dosmem.c]
DOS memory handling changed: 1MB preallocated block, real-mode
segment handling possible, SetSelectorBase into lower physical 1MB
possible.
* [miscemu/dpmi.c]
Real-mode segments changed, real-mode int 21,ax=6506 added.
AX=0x0303 added.
* [multimedia/time.c]
Fixed bug in killTimer.
* [objects/bitmap.c]
LoadImageA partially implemented.
Wed Jul 24 18:20:24 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/dde_mem.h][include/dde_proc.h]
[ipc/dde_atom.c][ipc/dde_proc.c][windows/message.c]
[ipc/generic_hash.h][library/miscstubs.c]
Changes for error free compilation using "--with-ipc":
replaced some names with *16-equivalent (e.g. MSG to MSG16),
modified prototype of function DDE_GlobalFree() .
* [objects/palette.c]
Added check for metafile-DC in GDISelectPalette(),
GDIRealizePalette(),RealizeDefaultPalette() and
IsDCCurrentPalette().
Tue Jul 23 22:46:53 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [controls/edit.c]
EDIT_WM_Create: Don't EDIT_EM_ReplaceSel if created with lParam = "",
fixes Winhelp.
* [windows/dialog.c]
DIALOG_CreateIndirect: Initialise dlgProc before creating children.
1996-07-28 18:50:11 +00:00
|
|
|
*/
|
2000-09-16 20:55:12 +00:00
|
|
|
BOOL WINAPI SetCommTimeouts(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE hComm, /* [in] handle of COMM device */
|
|
|
|
LPCOMMTIMEOUTS lptimeouts) /* [in] pointer to COMMTIMEOUTS structure */
|
|
|
|
{
|
2000-10-15 00:40:25 +00:00
|
|
|
BOOL ret;
|
|
|
|
int fd;
|
2000-09-16 20:55:12 +00:00
|
|
|
struct termios tios;
|
2000-01-05 01:46:53 +00:00
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p,%p)\n",hComm,lptimeouts);
|
2000-01-05 01:46:53 +00:00
|
|
|
|
2000-09-16 20:55:12 +00:00
|
|
|
if(!lptimeouts)
|
|
|
|
{
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
2000-10-15 00:40:25 +00:00
|
|
|
}
|
|
|
|
|
2001-02-27 02:09:16 +00:00
|
|
|
SERVER_START_REQ( set_serial_info )
|
2000-10-15 00:40:25 +00:00
|
|
|
{
|
|
|
|
req->handle = hComm;
|
|
|
|
req->flags = SERIALINFO_SET_TIMEOUTS;
|
|
|
|
req->readinterval = lptimeouts->ReadIntervalTimeout ;
|
|
|
|
req->readmult = lptimeouts->ReadTotalTimeoutMultiplier ;
|
|
|
|
req->readconst = lptimeouts->ReadTotalTimeoutConstant ;
|
|
|
|
req->writemult = lptimeouts->WriteTotalTimeoutMultiplier ;
|
|
|
|
req->writeconst = lptimeouts->WriteTotalTimeoutConstant ;
|
2001-11-30 18:46:42 +00:00
|
|
|
ret = !wine_server_call_err( req );
|
2000-10-15 00:40:25 +00:00
|
|
|
}
|
|
|
|
SERVER_END_REQ;
|
|
|
|
if (!ret) return FALSE;
|
2000-09-16 20:55:12 +00:00
|
|
|
|
|
|
|
/* FIXME: move this stuff to the server */
|
2005-12-12 16:15:26 +00:00
|
|
|
fd = get_comm_fd( hComm, FILE_READ_DATA );
|
2003-12-02 04:19:56 +00:00
|
|
|
if (fd < 0) return FALSE;
|
2000-01-05 01:46:53 +00:00
|
|
|
|
2000-10-15 00:40:25 +00:00
|
|
|
if (-1==tcgetattr(fd,&tios)) {
|
|
|
|
FIXME("tcgetattr on fd %d failed!\n",fd);
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( hComm, fd );
|
2000-10-15 00:40:25 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
2001-04-20 18:15:20 +00:00
|
|
|
|
2000-10-15 00:40:25 +00:00
|
|
|
/* VTIME is in 1/10 seconds */
|
2001-04-20 18:15:20 +00:00
|
|
|
{
|
|
|
|
unsigned int ux_timeout;
|
|
|
|
|
|
|
|
if(lptimeouts->ReadIntervalTimeout == 0) /* 0 means no timeout */
|
|
|
|
{
|
|
|
|
ux_timeout = 0;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ux_timeout = (lptimeouts->ReadIntervalTimeout+99)/100;
|
|
|
|
if(ux_timeout == 0)
|
|
|
|
{
|
|
|
|
ux_timeout = 1; /* must be at least some timeout */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
tios.c_cc[VTIME] = ux_timeout;
|
|
|
|
}
|
|
|
|
|
2000-10-15 00:40:25 +00:00
|
|
|
if (-1==tcsetattr(fd,0,&tios)) {
|
|
|
|
FIXME("tcsetattr on fd %d failed!\n",fd);
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( hComm, fd );
|
2000-10-15 00:40:25 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( hComm, fd );
|
2000-10-15 00:40:25 +00:00
|
|
|
return TRUE;
|
1997-08-04 16:34:36 +00:00
|
|
|
}
|
|
|
|
|
1998-11-30 10:40:02 +00:00
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* GetCommModemStatus (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Obtains the four control register bits if supported by the hardware.
|
|
|
|
*
|
2006-02-06 10:37:39 +00:00
|
|
|
* PARAMS
|
|
|
|
*
|
|
|
|
* hFile [in] The communications device
|
|
|
|
* lpModemStat [out] The control register bits
|
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True if the communications handle was good and for hardware that
|
|
|
|
* control register access, false otherwise.
|
1998-11-30 10:40:02 +00:00
|
|
|
*/
|
2006-02-06 10:37:39 +00:00
|
|
|
BOOL WINAPI GetCommModemStatus(HANDLE hFile, LPDWORD lpModemStat)
|
1998-11-30 10:40:02 +00:00
|
|
|
{
|
2006-02-06 10:37:39 +00:00
|
|
|
return DeviceIoControl(hFile, IOCTL_SERIAL_GET_MODEMSTATUS,
|
|
|
|
NULL, 0, lpModemStat, sizeof(DWORD), NULL, NULL);
|
1998-11-30 10:40:02 +00:00
|
|
|
}
|
2000-11-13 19:27:21 +00:00
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
static DWORD WINAPI Comm_CheckEvents(int fd, DWORD mask, serial_irq_info *new, serial_irq_info *old, DWORD new_mstat, DWORD old_mstat)
|
|
|
|
{
|
|
|
|
DWORD ret = 0, queue;
|
|
|
|
|
|
|
|
TRACE("mask 0x%08lx\n", mask);
|
2005-11-10 12:14:56 +00:00
|
|
|
TRACE("old->rx 0x%08x vs. new->rx 0x%08x\n", old->rx, new->rx);
|
|
|
|
TRACE("old->tx 0x%08x vs. new->tx 0x%08x\n", old->tx, new->tx);
|
|
|
|
TRACE("old->frame 0x%08x vs. new->frame 0x%08x\n", old->frame, new->frame);
|
|
|
|
TRACE("old->overrun 0x%08x vs. new->overrun 0x%08x\n", old->overrun, new->overrun);
|
|
|
|
TRACE("old->parity 0x%08x vs. new->parity 0x%08x\n", old->parity, new->parity);
|
|
|
|
TRACE("old->brk 0x%08x vs. new->brk 0x%08x\n", old->brk, new->brk);
|
|
|
|
TRACE("old->buf_overrun 0x%08x vs. new->buf_overrun 0x%08x\n", old->buf_overrun, new->buf_overrun);
|
2005-08-03 15:43:17 +00:00
|
|
|
|
|
|
|
ret |= ((mask & EV_BREAK) && ( old->brk != new->brk))?EV_BREAK:0;
|
|
|
|
ret |= ((mask & EV_CTS ) && ((old_mstat&MS_CTS_ON )!=(new_mstat&MS_CTS_ON )))?EV_CTS :0;
|
|
|
|
ret |= ((mask & EV_DSR ) && ((old_mstat&MS_DSR_ON )!=(new_mstat&MS_DSR_ON )))?EV_DSR :0;
|
|
|
|
ret |= ((mask & EV_RING ) && ((old_mstat&MS_RING_ON)!=(new_mstat&MS_RING_ON)))?EV_RING :0;
|
|
|
|
ret |= ((mask & EV_RLSD ) && ((old_mstat&MS_RLSD_ON)!=(new_mstat&MS_RLSD_ON)))?EV_RLSD :0;
|
|
|
|
ret |= ((mask & EV_ERR ) && (( old->frame != new->frame) ||(old->overrun != new->overrun)
|
|
|
|
|| (old->parity != new->parity)) )?EV_ERR :0;
|
|
|
|
if (mask & EV_RXCHAR)
|
|
|
|
{
|
|
|
|
queue = 0;
|
|
|
|
#ifdef TIOCINQ
|
|
|
|
if(ioctl(fd, TIOCINQ, &queue))
|
|
|
|
WARN("TIOCINQ returned error\n");
|
|
|
|
#endif
|
|
|
|
if (queue)
|
|
|
|
ret |= EV_RXCHAR;
|
|
|
|
}
|
|
|
|
if (mask & EV_TXEMPTY)
|
|
|
|
{
|
|
|
|
queue = 0;
|
|
|
|
/* We really want to know when all characters have gone out of the transmitter */
|
|
|
|
#if defined(TIOCSERGETLSR)
|
|
|
|
if(ioctl(fd, TIOCSERGETLSR, &queue))
|
|
|
|
WARN("TIOCSERGETLSR returned error\n");
|
|
|
|
if (queue)
|
|
|
|
/* TIOCINQ only checks for an empty buffer */
|
2005-08-08 18:01:42 +00:00
|
|
|
#elif defined(TIOCINQ)
|
2005-08-03 15:43:17 +00:00
|
|
|
if(ioctl(fd, TIOCOUTQ, &queue))
|
|
|
|
WARN("TIOCOUTQ returned error\n");
|
|
|
|
if (!queue)
|
|
|
|
#endif
|
|
|
|
ret |= EV_TXEMPTY;
|
|
|
|
}
|
|
|
|
TRACE("OUTQUEUE %ld, Transmitter %sempty\n", queue, (ret & EV_TXEMPTY)?"":"not ");
|
|
|
|
return ret;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2001-03-22 20:09:34 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* COMM_WaitCommEventService (INTERNAL)
|
|
|
|
*
|
2005-08-03 15:43:17 +00:00
|
|
|
* We need to poll for what is interesting
|
|
|
|
* TIOCMIWAIT only checks modem status line and may not be aborted by a changing mask
|
|
|
|
*
|
2001-03-22 20:09:34 +00:00
|
|
|
*/
|
2005-08-03 15:43:17 +00:00
|
|
|
static DWORD WINAPI COMM_WaitCommEventService(LPVOID arg)
|
2000-11-13 19:27:21 +00:00
|
|
|
{
|
2005-08-03 15:43:17 +00:00
|
|
|
async_commio *commio = (async_commio*) arg;
|
|
|
|
int waitmask = 0;
|
|
|
|
int rc, fd, abort;
|
|
|
|
serial_irq_info new_irq_info;
|
|
|
|
DWORD new_mstat, new_evtmask;
|
2000-11-13 19:27:21 +00:00
|
|
|
|
2005-12-12 16:15:26 +00:00
|
|
|
fd=get_comm_fd( commio->handle, FILE_READ_DATA );
|
2001-12-20 00:07:05 +00:00
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
TRACE("handle %p fd 0x%08x, mask 0x%08lx buffer %p event %p irq_info %p waitmask 0x%08x\n",
|
|
|
|
commio->handle, fd, commio->evtmask, commio->buffer, commio->hEvent, &commio->irq_info, waitmask);
|
|
|
|
do
|
2005-01-14 19:54:38 +00:00
|
|
|
{
|
2005-08-03 15:43:17 +00:00
|
|
|
/*
|
|
|
|
* TIOCMIWAIT is not adequate
|
|
|
|
*
|
|
|
|
* FIXME:
|
|
|
|
* We don't handle the EV_RXFLAG (the eventchar)
|
|
|
|
*/
|
|
|
|
Sleep(1);
|
|
|
|
rc= COMM_GetEInfo(fd,&new_irq_info);
|
|
|
|
if (rc)
|
|
|
|
TRACE("TIOCGICOUNT err %s\n", strerror(errno));
|
|
|
|
rc = GetCommModemStatus(commio->handle, &new_mstat);
|
|
|
|
if (!rc)
|
|
|
|
TRACE("GetCommModemStatus failed\n");
|
|
|
|
rc = Comm_CheckEvents(fd, commio->evtmask,&new_irq_info,&commio->irq_info, new_mstat, commio->mstat);
|
|
|
|
GetCommMask(commio->handle, &new_evtmask);
|
|
|
|
abort = (commio->evtmask != new_evtmask);
|
|
|
|
TRACE("resulting Eventmask 0x%08x\n", rc);
|
|
|
|
} while (!rc && ! abort);
|
|
|
|
if (abort) rc = 0;
|
|
|
|
release_comm_fd( commio->handle, fd );
|
|
|
|
*commio->buffer = rc;
|
|
|
|
if (commio->hEvent != INVALID_HANDLE_VALUE )
|
|
|
|
NtSetEvent( commio->hEvent, NULL );
|
2005-01-14 19:54:38 +00:00
|
|
|
HeapFree(GetProcessHeap(), 0, commio );
|
2005-08-03 15:43:17 +00:00
|
|
|
return 0;
|
2000-11-13 19:27:21 +00:00
|
|
|
}
|
|
|
|
|
2001-03-22 20:09:34 +00:00
|
|
|
|
1998-11-30 10:40:02 +00:00
|
|
|
/***********************************************************************
|
2001-03-22 20:09:34 +00:00
|
|
|
* COMM_WaitCommEvent (INTERNAL)
|
2000-11-13 19:27:21 +00:00
|
|
|
*
|
2001-03-22 20:09:34 +00:00
|
|
|
* This function must have an lpOverlapped.
|
1998-11-30 10:40:02 +00:00
|
|
|
*/
|
2001-03-22 20:09:34 +00:00
|
|
|
static BOOL COMM_WaitCommEvent(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE hFile, /* [in] handle of comm port to wait for */
|
|
|
|
LPDWORD lpdwEvents, /* [out] event(s) that were detected */
|
|
|
|
LPOVERLAPPED lpOverlapped) /* [in/out] for Asynchronous waiting */
|
|
|
|
{
|
2005-01-14 19:54:38 +00:00
|
|
|
int fd;
|
|
|
|
async_commio* commio;
|
2005-08-03 15:43:17 +00:00
|
|
|
DWORD result_mask;
|
|
|
|
BOOL res;
|
2000-11-13 19:27:21 +00:00
|
|
|
|
2005-01-14 19:54:38 +00:00
|
|
|
if (!lpOverlapped)
|
2000-11-13 19:27:21 +00:00
|
|
|
{
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2005-01-14 19:54:38 +00:00
|
|
|
if (NtResetEvent(lpOverlapped->hEvent,NULL))
|
2001-03-22 20:09:34 +00:00
|
|
|
return FALSE;
|
2000-12-29 19:35:25 +00:00
|
|
|
|
2005-12-12 16:15:26 +00:00
|
|
|
fd = get_comm_fd( hFile, FILE_WRITE_DATA );
|
2005-01-14 19:54:38 +00:00
|
|
|
if (fd < 0) return FALSE;
|
2001-03-22 20:09:34 +00:00
|
|
|
|
2005-03-24 21:01:35 +00:00
|
|
|
commio = HeapAlloc(GetProcessHeap(), 0, sizeof (async_commio));
|
2005-01-14 19:54:38 +00:00
|
|
|
if (!commio)
|
2000-11-13 19:27:21 +00:00
|
|
|
{
|
2003-12-02 04:19:56 +00:00
|
|
|
release_comm_fd( hFile, fd );
|
2000-11-13 19:27:21 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
2002-04-05 22:53:57 +00:00
|
|
|
|
2005-01-14 19:54:38 +00:00
|
|
|
commio->handle = hFile;
|
|
|
|
commio->buffer = (char *)lpdwEvents;
|
2005-08-03 15:43:17 +00:00
|
|
|
commio->hEvent = lpOverlapped->hEvent;
|
|
|
|
GetCommMask(hFile, &commio->evtmask);
|
2002-04-05 22:53:57 +00:00
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
/* We may never return, if some capabilities miss
|
|
|
|
* Return error in that case
|
|
|
|
*/
|
|
|
|
#if !defined(TIOCINQ)
|
|
|
|
if(commio->evtmask & EV_RXCHAR)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !(defined(TIOCSERGETLSR) && defined(TIOCSER_TEMT)) || !defined(TIOCINQ)
|
|
|
|
if(commio->evtmask & EV_TXEMPTY)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !defined(TIOCMGET)
|
|
|
|
if(commio->evtmask & (EV_CTS | EV_DSR| EV_RING| EV_RLSD))
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !defined(TIOCM_CTS)
|
|
|
|
if(commio->evtmask & EV_CTS)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !defined(TIOCM_DSR)
|
|
|
|
if(commio->evtmask & EV_DSR)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !defined(TIOCM_RNG)
|
|
|
|
if(commio->evtmask & EV_RING)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
#if !defined(TIOCM_CAR)
|
|
|
|
if(commio->evtmask & EV_RLSD)
|
|
|
|
goto error;
|
|
|
|
#endif
|
|
|
|
if(commio->evtmask & EV_RXFLAG)
|
|
|
|
FIXME("EV_RXFLAG not handled\n");
|
|
|
|
COMM_GetEInfo(fd,&commio->irq_info);
|
|
|
|
GetCommModemStatus(hFile, &commio->mstat);
|
|
|
|
/* We might have received something or the TX bufffer is delivered*/
|
|
|
|
result_mask = Comm_CheckEvents( fd, commio->evtmask, &commio->irq_info, &commio->irq_info,commio->mstat,commio->mstat);
|
|
|
|
if (result_mask)
|
2005-01-14 19:54:38 +00:00
|
|
|
{
|
2005-08-03 15:43:17 +00:00
|
|
|
TRACE("Event already met\n");
|
|
|
|
*lpdwEvents = result_mask;
|
|
|
|
HeapFree(GetProcessHeap(), 0, commio );
|
|
|
|
res = TRUE;
|
2005-01-14 19:54:38 +00:00
|
|
|
}
|
2005-08-03 15:43:17 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
CreateThread(NULL, 0, COMM_WaitCommEventService, (LPVOID)commio, 0, NULL);
|
|
|
|
SetLastError(ERROR_IO_PENDING);
|
|
|
|
res = FALSE;
|
|
|
|
}
|
2005-11-03 11:38:48 +00:00
|
|
|
release_comm_fd( hFile, fd );
|
2005-08-03 15:43:17 +00:00
|
|
|
return res;
|
2005-08-08 18:01:42 +00:00
|
|
|
#if !defined(TIOCINQ) || (!(defined(TIOCSERGETLSR) && defined(TIOCSER_TEMT)) || !defined(TIOCINQ)) || !defined(TIOCMGET) || !defined(TIOCM_CTS) ||!defined(TIOCM_DSR) || !defined(TIOCM_RNG) || !defined(TIOCM_CAR)
|
2005-08-03 15:43:17 +00:00
|
|
|
error:
|
|
|
|
FIXME("Returning error because of missing capabilities\n");
|
2005-11-03 11:38:48 +00:00
|
|
|
release_comm_fd( hFile, fd );
|
2005-08-03 15:43:17 +00:00
|
|
|
HeapFree(GetProcessHeap(), 0, commio );
|
|
|
|
SetLastError(ERROR_INVALID_PARAMETER);
|
2001-03-22 20:09:34 +00:00
|
|
|
return FALSE;
|
2005-08-03 15:43:17 +00:00
|
|
|
#endif
|
2001-03-22 20:09:34 +00:00
|
|
|
}
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* WaitCommEvent (KERNEL32.@)
|
2001-03-22 20:09:34 +00:00
|
|
|
*
|
|
|
|
* Wait until something interesting happens on a COMM port.
|
|
|
|
* Interesting things (events) are set by calling SetCommMask before
|
|
|
|
* this function is called.
|
|
|
|
*
|
2005-11-08 11:01:03 +00:00
|
|
|
* RETURNS
|
2001-03-22 20:09:34 +00:00
|
|
|
* TRUE if successful
|
|
|
|
* FALSE if failure
|
|
|
|
*
|
|
|
|
* The set of detected events will be written to *lpdwEventMask
|
|
|
|
* ERROR_IO_PENDING will be returned the overlapped structure was passed
|
|
|
|
*
|
|
|
|
* BUGS:
|
|
|
|
* Only supports EV_RXCHAR and EV_TXEMPTY
|
|
|
|
*/
|
|
|
|
BOOL WINAPI WaitCommEvent(
|
|
|
|
HANDLE hFile, /* [in] handle of comm port to wait for */
|
|
|
|
LPDWORD lpdwEvents, /* [out] event(s) that were detected */
|
|
|
|
LPOVERLAPPED lpOverlapped) /* [in/out] for Asynchronous waiting */
|
|
|
|
{
|
|
|
|
OVERLAPPED ov;
|
2005-08-03 15:43:17 +00:00
|
|
|
int ret = 0;
|
|
|
|
DWORD res, err;
|
2000-12-29 19:35:25 +00:00
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p %p %p )\n",hFile, lpdwEvents,lpOverlapped);
|
2001-03-22 20:09:34 +00:00
|
|
|
|
|
|
|
if(lpOverlapped)
|
|
|
|
return COMM_WaitCommEvent(hFile, lpdwEvents, lpOverlapped);
|
|
|
|
|
|
|
|
/* if there is no overlapped structure, create our own */
|
2005-01-07 15:40:09 +00:00
|
|
|
ov.hEvent = CreateEventW(NULL,FALSE,FALSE,NULL);
|
2001-03-22 20:09:34 +00:00
|
|
|
|
2005-08-03 15:43:17 +00:00
|
|
|
res = COMM_WaitCommEvent(hFile, lpdwEvents, &ov);
|
|
|
|
err = GetLastError();
|
|
|
|
if (!res)
|
|
|
|
{
|
|
|
|
if (err == ERROR_IO_PENDING)
|
|
|
|
{
|
|
|
|
do
|
|
|
|
{
|
|
|
|
res = WaitForSingleObjectEx(ov.hEvent, INFINITE, FALSE);
|
|
|
|
} while (res != WAIT_OBJECT_0);
|
|
|
|
TRACE("Event met\n:");
|
|
|
|
ret = TRUE;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
FIXME("Unknown error 0x%08lx\n", err);
|
|
|
|
ret = FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
ret = TRUE;
|
2001-03-22 20:09:34 +00:00
|
|
|
CloseHandle(ov.hEvent);
|
1998-11-30 10:40:02 +00:00
|
|
|
|
2001-03-22 20:09:34 +00:00
|
|
|
return ret;
|
|
|
|
}
|
2002-05-31 23:06:46 +00:00
|
|
|
|
1999-03-14 12:25:36 +00:00
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* GetCommProperties (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
2002-05-31 23:06:46 +00:00
|
|
|
* This function fills in a structure with the capabilities of the
|
2000-07-15 21:36:31 +00:00
|
|
|
* communications port driver.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* TRUE on success, FALSE on failure
|
|
|
|
* If successful, the lpCommProp structure be filled in with
|
|
|
|
* properties of the comm port.
|
1999-03-14 12:25:36 +00:00
|
|
|
*/
|
2000-07-15 21:36:31 +00:00
|
|
|
BOOL WINAPI GetCommProperties(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE hFile, /* [in] handle of the comm port */
|
|
|
|
LPCOMMPROP lpCommProp) /* [out] pointer to struct to be filled */
|
|
|
|
{
|
2002-10-25 21:02:30 +00:00
|
|
|
FIXME("(%p %p )\n",hFile,lpCommProp);
|
2000-07-15 21:36:31 +00:00
|
|
|
if(!lpCommProp)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* These values should be valid for LINUX's serial driver
|
|
|
|
* FIXME: Perhaps they deserve an #ifdef LINUX
|
|
|
|
*/
|
|
|
|
memset(lpCommProp,0,sizeof(COMMPROP));
|
|
|
|
lpCommProp->wPacketLength = 1;
|
|
|
|
lpCommProp->wPacketVersion = 1;
|
|
|
|
lpCommProp->dwServiceMask = SP_SERIALCOMM;
|
|
|
|
lpCommProp->dwReserved1 = 0;
|
|
|
|
lpCommProp->dwMaxTxQueue = 4096;
|
|
|
|
lpCommProp->dwMaxRxQueue = 4096;
|
|
|
|
lpCommProp->dwMaxBaud = BAUD_115200;
|
|
|
|
lpCommProp->dwProvSubType = PST_RS232;
|
2002-06-05 17:27:48 +00:00
|
|
|
lpCommProp->dwProvCapabilities = PCF_DTRDSR | PCF_PARITY_CHECK | PCF_RTSCTS | PCF_TOTALTIMEOUTS;
|
2002-05-31 23:06:46 +00:00
|
|
|
lpCommProp->dwSettableParams = SP_BAUD | SP_DATABITS | SP_HANDSHAKING |
|
2000-07-15 21:36:31 +00:00
|
|
|
SP_PARITY | SP_PARITY_CHECK | SP_STOPBITS ;
|
|
|
|
lpCommProp->dwSettableBaud = BAUD_075 | BAUD_110 | BAUD_134_5 | BAUD_150 |
|
|
|
|
BAUD_300 | BAUD_600 | BAUD_1200 | BAUD_1800 | BAUD_2400 | BAUD_4800 |
|
|
|
|
BAUD_9600 | BAUD_19200 | BAUD_38400 | BAUD_57600 | BAUD_115200 ;
|
|
|
|
lpCommProp->wSettableData = DATABITS_5 | DATABITS_6 | DATABITS_7 | DATABITS_8 ;
|
2002-05-31 23:06:46 +00:00
|
|
|
lpCommProp->wSettableStopParity = STOPBITS_10 | STOPBITS_15 | STOPBITS_20 |
|
2000-07-15 21:36:31 +00:00
|
|
|
PARITY_NONE | PARITY_ODD |PARITY_EVEN | PARITY_MARK | PARITY_SPACE;
|
|
|
|
lpCommProp->dwCurrentTxQueue = lpCommProp->dwMaxTxQueue;
|
|
|
|
lpCommProp->dwCurrentRxQueue = lpCommProp->dwMaxRxQueue;
|
|
|
|
|
1999-03-14 12:25:36 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
2000-07-15 21:36:31 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* FIXME:
|
|
|
|
* The functionality of CommConfigDialogA, GetDefaultCommConfig and
|
|
|
|
* SetDefaultCommConfig is implemented in a DLL (usually SERIALUI.DLL).
|
|
|
|
* This is dependent on the type of COMM port, but since it is doubtful
|
|
|
|
* anybody will get around to implementing support for fancy serial
|
2002-05-31 23:06:46 +00:00
|
|
|
* ports in WINE, this is hardcoded for the time being. The name of
|
|
|
|
* this DLL should be stored in and read from the system registry in
|
2000-07-15 21:36:31 +00:00
|
|
|
* the hive HKEY_LOCAL_MACHINE, key
|
|
|
|
* System\\CurrentControlSet\\Services\\Class\\Ports\\????
|
|
|
|
* where ???? is the port number... that is determined by PNP
|
2002-05-31 23:06:46 +00:00
|
|
|
* The DLL should be loaded when the COMM port is opened, and closed
|
2000-07-15 21:36:31 +00:00
|
|
|
* when the COMM port is closed. - MJM 20 June 2000
|
|
|
|
***********************************************************************/
|
2006-01-24 13:00:32 +00:00
|
|
|
static const WCHAR lpszSerialUI[] = {
|
2004-10-26 00:16:39 +00:00
|
|
|
's','e','r','i','a','l','u','i','.','d','l','l',0 };
|
2000-07-15 21:36:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* CommConfigDialogA (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
|
|
|
* Raises a dialog that allows the user to configure a comm port.
|
|
|
|
* Fills the COMMCONFIG struct with information specified by the user.
|
|
|
|
* This function should call a similar routine in the COMM driver...
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* TRUE on success, FALSE on failure
|
|
|
|
* If successful, the lpCommConfig structure will contain a new
|
|
|
|
* configuration for the comm port, as specified by the user.
|
|
|
|
*
|
|
|
|
* BUGS
|
|
|
|
* The library with the CommConfigDialog code is never unloaded.
|
|
|
|
* Perhaps this should be done when the comm port is closed?
|
|
|
|
*/
|
|
|
|
BOOL WINAPI CommConfigDialogA(
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCSTR lpszDevice, /* [in] name of communications device */
|
2005-05-09 19:32:33 +00:00
|
|
|
HWND hWnd, /* [in] parent window for the dialog */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCommConfig) /* [out] pointer to struct to fill */
|
|
|
|
{
|
2000-07-15 21:36:31 +00:00
|
|
|
FARPROC lpfnCommDialog;
|
|
|
|
HMODULE hConfigModule;
|
2004-10-26 00:25:58 +00:00
|
|
|
BOOL r = FALSE;
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p %p %p)\n",lpszDevice, hWnd, lpCommConfig);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
hConfigModule = LoadLibraryW(lpszSerialUI);
|
2000-07-15 21:36:31 +00:00
|
|
|
if(!hConfigModule)
|
|
|
|
return FALSE;
|
|
|
|
|
2004-10-26 00:25:58 +00:00
|
|
|
lpfnCommDialog = GetProcAddress(hConfigModule, "drvCommConfigDialogA");
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:25:58 +00:00
|
|
|
if(lpfnCommDialog)
|
|
|
|
r = lpfnCommDialog(lpszDevice,hWnd,lpCommConfig);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
FreeLibrary(hConfigModule);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* CommConfigDialogW (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
2005-11-08 11:01:03 +00:00
|
|
|
* See CommConfigDialogA.
|
2000-07-15 21:36:31 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI CommConfigDialogW(
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCWSTR lpszDevice, /* [in] name of communications device */
|
2005-05-09 19:32:33 +00:00
|
|
|
HWND hWnd, /* [in] parent window for the dialog */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCommConfig) /* [out] pointer to struct to fill */
|
|
|
|
{
|
2004-10-26 00:25:58 +00:00
|
|
|
FARPROC lpfnCommDialog;
|
|
|
|
HMODULE hConfigModule;
|
|
|
|
BOOL r = FALSE;
|
|
|
|
|
|
|
|
TRACE("(%p %p %p)\n",lpszDevice, hWnd, lpCommConfig);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:25:58 +00:00
|
|
|
hConfigModule = LoadLibraryW(lpszSerialUI);
|
|
|
|
if(!hConfigModule)
|
2000-07-15 21:36:31 +00:00
|
|
|
return FALSE;
|
2004-10-26 00:25:58 +00:00
|
|
|
|
|
|
|
lpfnCommDialog = GetProcAddress(hConfigModule, "drvCommConfigDialogW");
|
|
|
|
|
|
|
|
if(lpfnCommDialog)
|
|
|
|
r = lpfnCommDialog(lpszDevice,hWnd,lpCommConfig);
|
|
|
|
|
|
|
|
FreeLibrary(hConfigModule);
|
|
|
|
|
2000-07-15 21:36:31 +00:00
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-19 03:44:16 +00:00
|
|
|
* GetCommConfig (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
|
|
|
* Fill in the COMMCONFIG structure for the comm port hFile
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* TRUE on success, FALSE on failure
|
|
|
|
* If successful, lpCommConfig contains the comm port configuration.
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* BUGS
|
|
|
|
*
|
2000-07-15 21:36:31 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI GetCommConfig(
|
2001-02-12 03:49:57 +00:00
|
|
|
HANDLE hFile, /* [in] The communications device. */
|
2001-06-19 03:44:16 +00:00
|
|
|
LPCOMMCONFIG lpCommConfig, /* [out] The communications configuration of the device (if it fits). */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPDWORD lpdwSize) /* [in/out] Initially the size of the configuration buffer/structure,
|
2002-05-31 23:06:46 +00:00
|
|
|
afterwards the number of bytes copied to the buffer or
|
2001-02-12 03:49:57 +00:00
|
|
|
the needed size of the buffer. */
|
|
|
|
{
|
2000-07-15 21:36:31 +00:00
|
|
|
BOOL r;
|
|
|
|
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p %p)\n",hFile,lpCommConfig);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
|
|
|
if(lpCommConfig == NULL)
|
|
|
|
return FALSE;
|
2003-12-11 04:25:00 +00:00
|
|
|
r = *lpdwSize < sizeof(COMMCONFIG); /* TRUE if not enough space */
|
2001-06-19 03:44:16 +00:00
|
|
|
*lpdwSize = sizeof(COMMCONFIG);
|
2003-12-11 04:25:00 +00:00
|
|
|
if(r)
|
2001-06-19 03:44:16 +00:00
|
|
|
return FALSE;
|
|
|
|
|
2000-07-15 21:36:31 +00:00
|
|
|
lpCommConfig->dwSize = sizeof(COMMCONFIG);
|
|
|
|
lpCommConfig->wVersion = 1;
|
|
|
|
lpCommConfig->wReserved = 0;
|
|
|
|
r = GetCommState(hFile,&lpCommConfig->dcb);
|
|
|
|
lpCommConfig->dwProviderSubType = PST_RS232;
|
|
|
|
lpCommConfig->dwProviderOffset = 0;
|
|
|
|
lpCommConfig->dwProviderSize = 0;
|
|
|
|
|
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetCommConfig (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
2002-02-27 21:34:54 +00:00
|
|
|
* Sets the configuration of the communications device.
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on success, false if the handle was bad is not a communications device.
|
2000-07-15 21:36:31 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI SetCommConfig(
|
2001-08-06 17:50:42 +00:00
|
|
|
HANDLE hFile, /* [in] The communications device. */
|
|
|
|
LPCOMMCONFIG lpCommConfig, /* [in] The desired configuration. */
|
|
|
|
DWORD dwSize) /* [in] size of the lpCommConfig struct */
|
2001-02-12 03:49:57 +00:00
|
|
|
{
|
2002-10-25 21:02:30 +00:00
|
|
|
TRACE("(%p %p)\n",hFile,lpCommConfig);
|
2000-12-19 23:33:03 +00:00
|
|
|
return SetCommState(hFile,&lpCommConfig->dcb);
|
2000-07-15 21:36:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetDefaultCommConfigA (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Initializes the default configuration for the specified communication
|
|
|
|
* device. (ascii)
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True if the device was found and the defaults set, false otherwise
|
2000-07-15 21:36:31 +00:00
|
|
|
*/
|
2004-10-26 00:16:39 +00:00
|
|
|
BOOL WINAPI SetDefaultCommConfigW(
|
|
|
|
LPCWSTR lpszDevice, /* [in] The ascii name of the device targeted for configuration. */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCommConfig, /* [in] The default configuration for the device. */
|
|
|
|
DWORD dwSize) /* [in] The number of bytes in the configuration structure. */
|
|
|
|
{
|
2000-07-15 21:36:31 +00:00
|
|
|
FARPROC lpfnSetDefaultCommConfig;
|
|
|
|
HMODULE hConfigModule;
|
2004-10-26 00:16:39 +00:00
|
|
|
BOOL r = FALSE;
|
2000-07-15 21:36:31 +00:00
|
|
|
|
|
|
|
TRACE("(%p %p %lx)\n",lpszDevice, lpCommConfig, dwSize);
|
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
hConfigModule = LoadLibraryW(lpszSerialUI);
|
2000-07-15 21:36:31 +00:00
|
|
|
if(!hConfigModule)
|
2004-10-26 00:16:39 +00:00
|
|
|
return r;
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
lpfnSetDefaultCommConfig = GetProcAddress(hConfigModule, "drvSetDefaultCommConfigW");
|
|
|
|
if (lpfnSetDefaultCommConfig)
|
|
|
|
r = lpfnSetDefaultCommConfig(lpszDevice, lpCommConfig, dwSize);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
FreeLibrary(hConfigModule);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
2001-06-13 20:13:18 +00:00
|
|
|
* SetDefaultCommConfigW (KERNEL32.@)
|
2000-07-15 21:36:31 +00:00
|
|
|
*
|
2000-12-19 23:33:03 +00:00
|
|
|
* Initializes the default configuration for the specified
|
|
|
|
* communication device. (unicode)
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
2000-07-15 21:36:31 +00:00
|
|
|
*/
|
2004-10-26 00:16:39 +00:00
|
|
|
BOOL WINAPI SetDefaultCommConfigA(
|
|
|
|
LPCSTR lpszDevice, /* [in] The unicode name of the device targeted for configuration. */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCommConfig, /* [in] The default configuration for the device. */
|
|
|
|
DWORD dwSize) /* [in] The number of bytes in the configuration structure. */
|
|
|
|
{
|
2000-07-15 21:36:31 +00:00
|
|
|
BOOL r;
|
2004-10-26 00:16:39 +00:00
|
|
|
LPWSTR lpDeviceW = NULL;
|
|
|
|
DWORD len;
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
TRACE("(%s %p %lx)\n",debugstr_a(lpszDevice),lpCommConfig,dwSize);
|
2000-07-15 21:36:31 +00:00
|
|
|
|
2004-10-26 00:16:39 +00:00
|
|
|
if (lpszDevice)
|
|
|
|
{
|
|
|
|
len = MultiByteToWideChar( CP_ACP, 0, lpszDevice, -1, NULL, 0 );
|
|
|
|
lpDeviceW = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
|
|
|
|
MultiByteToWideChar( CP_ACP, 0, lpszDevice, -1, lpDeviceW, len );
|
|
|
|
}
|
|
|
|
r = SetDefaultCommConfigW(lpDeviceW,lpCommConfig,dwSize);
|
2004-12-23 17:06:43 +00:00
|
|
|
HeapFree( GetProcessHeap(), 0, lpDeviceW );
|
2000-07-15 21:36:31 +00:00
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2000-07-08 18:29:54 +00:00
|
|
|
/***********************************************************************
|
2004-01-16 02:21:01 +00:00
|
|
|
* GetDefaultCommConfigW (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* Acquires the default configuration of the specified communication device. (unicode)
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on successful reading of the default configuration,
|
|
|
|
* if the device is not found or the buffer is too small.
|
2000-07-08 18:29:54 +00:00
|
|
|
*/
|
2004-01-16 02:21:01 +00:00
|
|
|
BOOL WINAPI GetDefaultCommConfigW(
|
|
|
|
LPCWSTR lpszName, /* [in] The unicode name of the device targeted for configuration. */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCC, /* [out] The default configuration for the device. */
|
|
|
|
LPDWORD lpdwSize) /* [in/out] Initially the size of the default configuration buffer,
|
|
|
|
afterwards the number of bytes copied to the buffer or
|
|
|
|
the needed size of the buffer. */
|
2000-12-19 23:33:03 +00:00
|
|
|
{
|
2000-07-08 18:29:54 +00:00
|
|
|
LPDCB lpdcb = &(lpCC->dcb);
|
2004-01-16 02:21:01 +00:00
|
|
|
WCHAR temp[40];
|
2004-04-19 20:12:14 +00:00
|
|
|
static const WCHAR comW[] = {'C','O','M',0};
|
|
|
|
static const WCHAR formatW[] = {'C','O','M','%','c',':','3','8','4','0','0',',','n',',','8',',','1',0};
|
2000-07-08 18:29:54 +00:00
|
|
|
|
2004-01-16 02:21:01 +00:00
|
|
|
if (strncmpiW(lpszName,comW,3)) {
|
|
|
|
ERR("not implemented for <%s>\n", debugstr_w(lpszName));
|
2000-07-08 18:29:54 +00:00
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2004-01-16 02:21:01 +00:00
|
|
|
TRACE("(%s %p %ld)\n", debugstr_w(lpszName), lpCC, *lpdwSize );
|
2000-07-08 18:29:54 +00:00
|
|
|
if (*lpdwSize < sizeof(COMMCONFIG)) {
|
|
|
|
*lpdwSize = sizeof(COMMCONFIG);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
*lpdwSize = sizeof(COMMCONFIG);
|
|
|
|
|
|
|
|
lpCC->dwSize = sizeof(COMMCONFIG);
|
|
|
|
lpCC->wVersion = 1;
|
|
|
|
lpCC->dwProviderSubType = PST_RS232;
|
|
|
|
lpCC->dwProviderOffset = 0L;
|
|
|
|
lpCC->dwProviderSize = 0L;
|
|
|
|
|
2004-01-16 02:21:01 +00:00
|
|
|
sprintfW( temp, formatW, lpszName[3]);
|
|
|
|
FIXME("setting %s as default\n", debugstr_w(temp));
|
2000-07-08 18:29:54 +00:00
|
|
|
|
2004-01-16 02:21:01 +00:00
|
|
|
return BuildCommDCBW( temp, lpdcb);
|
2000-07-08 18:29:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**************************************************************************
|
2004-01-16 02:21:01 +00:00
|
|
|
* GetDefaultCommConfigA (KERNEL32.@)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
2004-01-16 02:21:01 +00:00
|
|
|
* Acquires the default configuration of the specified communication device. (ascii)
|
2000-12-19 23:33:03 +00:00
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
*
|
|
|
|
* True on successful reading of the default configuration,
|
|
|
|
* if the device is not found or the buffer is too small.
|
2000-07-08 18:29:54 +00:00
|
|
|
*/
|
2004-01-16 02:21:01 +00:00
|
|
|
BOOL WINAPI GetDefaultCommConfigA(
|
|
|
|
LPCSTR lpszName, /* [in] The ascii name of the device targeted for configuration. */
|
2001-02-12 03:49:57 +00:00
|
|
|
LPCOMMCONFIG lpCC, /* [out] The default configuration for the device. */
|
|
|
|
LPDWORD lpdwSize) /* [in/out] Initially the size of the default configuration buffer,
|
|
|
|
afterwards the number of bytes copied to the buffer or
|
|
|
|
the needed size of the buffer. */
|
|
|
|
{
|
2000-12-19 23:33:03 +00:00
|
|
|
BOOL ret = FALSE;
|
2004-01-16 02:21:01 +00:00
|
|
|
UNICODE_STRING lpszNameW;
|
2000-07-08 18:29:54 +00:00
|
|
|
|
2004-01-16 02:21:01 +00:00
|
|
|
TRACE("(%s,%p,%ld)\n",lpszName,lpCC,*lpdwSize);
|
|
|
|
if(lpszName) RtlCreateUnicodeStringFromAsciiz(&lpszNameW,lpszName);
|
|
|
|
else lpszNameW.Buffer = NULL;
|
|
|
|
|
|
|
|
if(lpszNameW.Buffer) ret = GetDefaultCommConfigW(lpszNameW.Buffer,lpCC,lpdwSize);
|
|
|
|
|
|
|
|
RtlFreeUnicodeString(&lpszNameW);
|
2000-07-08 18:29:54 +00:00
|
|
|
return ret;
|
|
|
|
}
|