- README update

- add offsets to ASPI struct defines
- spelling
oldstable
Andreas Mohr 2000-12-09 03:15:32 +00:00 committed by Alexandre Julliard
parent 5448c534f3
commit 1af53cbb2a
8 changed files with 108 additions and 114 deletions

16
README
View File

@ -69,16 +69,12 @@ To build Wine, run the following commands:
make depend
make
This will build the library "libwine.a" and the program "wine".
This will build the program "wine" and numerous support libraries/binaries.
The program "wine" will load and run Windows executables.
The library "libwine.a" can be used to compile and link Windows source
code under Unix.
The library "libwine" ("Winelib") can be used to compile and link
Windows source code under Unix.
If you do not intend to compile Windows source code, use
"./configure --disable-lib" to skip building the library and reduce disk
space requirements. If you have an ELF compiler (which you probably do),
you can use "./configure --enable-dll" to build a shared library instead.
To see other configuration options, do ./configure --help.
To see compile configuration options, do ./configure --help.
To upgrade to a new release by using a patch file, first cd to the
top-level directory of the release (the one containing this README
@ -145,7 +141,7 @@ FAQ: The Wine FAQ is located at http://www.winehq.com/faq.html.
WWW: A great deal of information about Wine is available from WineHQ at
http://www.winehq.com/. Untested patches against the current release
are available on the wine-patches mailing list; see
http://www.winehq.com/dev.html#ml for more information.
http://www.winehq.com/dev.shtml#ml for more information.
HOWTO: The Wine HOWTO is available at
http://www.westfalen.de/witch/wine-HOWTO.txt .
@ -162,7 +158,7 @@ Usenet: Please browse old messages on http://www.dejanews.com/ to check whether
IRC: Online help is available at channel #WineHQ on IRCnet.
CVS: The current Wine development tree is available through CVS.
Go to http://www.winehq.com/dev.html for more information.
Go to http://www.winehq.com/dev.shtml for more information.
If you add something, or fix a bug, please send a patch ('diff -u'
format preferred) to julliard@winehq.com for inclusion in the next

View File

@ -136,7 +136,7 @@ BSTR16 WINAPI SysAllocStringLen16(const char *in, int len)
* SysAllocStringLen [OLEAUT32.4]
*
* In "Inside OLE, second edition" by Kraig Brockshmidt. In the Automation
* section, he describes the DWORD value placed before the BSTR data type.
* section, he describes the DWORD value placed *before* the BSTR data type.
* he describes it as a "DWORD count of characters". By experimenting with
* a windows application, this count seems to be a DWORD count of bytes in
* the string. Meaning that the count is double the number of wide
@ -149,13 +149,13 @@ BSTR WINAPI SysAllocStringLen(const OLECHAR *in, unsigned int len)
WCHAR* stringBuffer;
/*
* Find the lenth of the buffer passed-in in bytes.
* Find the length of the buffer passed-in in bytes.
*/
bufferSize = len * sizeof (WCHAR);
/*
* Allocate a new buffer to hold the string.
* dont't forget to keep an empty spot at the begining of the
* dont't forget to keep an empty spot at the beginning of the
* buffer for the character count and an extra character at the
* end for the NULL.
*/

View File

@ -63,7 +63,7 @@ static BOOL MIX_GetVal(int chn, int* val)
WARN("mixer device not available !\n");
} else {
if (ioctl(mixer, MIXER_READ(chn), val) >= 0) {
TRACE("Reading %x on %d\n", *val, chn);
TRACE("Reading volume %x on %d\n", *val, chn);
ret = TRUE;
}
close(mixer);
@ -79,7 +79,7 @@ static BOOL MIX_SetVal(int chn, int val)
int mixer;
BOOL ret = FALSE;
TRACE("Writing %x on %d\n", val, chn);
TRACE("Writing volume %x on %d\n", val, chn);
if ((mixer = open(MIXER_DEV, O_RDWR)) < 0) {
/* FIXME: ENXIO => no mixer installed */
@ -199,7 +199,7 @@ static DWORD MIX_GetLineInfo(WORD wDevID, LPMIXERLINEA lpMl, DWORD fdwInfo)
TRACE("SOURCE (%08lx)\n", lpMl->dwSource);
i = lpMl->dwSource;
for (j = 1; j < SOUND_MIXER_NRDEVICES; j++) {
if (WINE_CHN_SUPPORTS(MIX_DevMask, j) && (i-- == 0))
if (WINE_CHN_SUPPORTS(MIX_DevMask, j) && (i-- == 0))
break;
}
if (j >= SOUND_MIXER_NRDEVICES)

View File

@ -40,7 +40,7 @@ typedef struct tagSMSG
HQUEUE16 hSrcQueue; /* sending Queue, (NULL if it didn't wait) */
HQUEUE16 hDstQueue; /* destination Queue */
HWND hWnd; /* destinantion window */
HWND hWnd; /* destination window */
UINT msg; /* message sent */
WPARAM wParam; /* wParam of the sent message */
LPARAM lParam; /* lParam of the sent message */
@ -65,7 +65,7 @@ typedef struct tagSMSG
#define SMSG_EARLY_REPLY 0x0080
/* set when sender is Win32 thread */
#define SMSG_WIN32 0x1000
/* set when sender is a unnicode thread */
/* set when sender is a unicode thread */
#define SMSG_UNICODE 0x2000
/* Per-queue data for the message queue

View File

@ -90,105 +90,105 @@ extern "C" {
/* SRB - HOST ADAPTER INQUIRY - SC_HA_INQUIRY */
typedef struct tagSRB32_HaInquiry {
BYTE SRB_Cmd; /* ASPI command code = SC_HA_INQUIRY */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* ASPI request flags */
DWORD SRB_Hdr_Rsvd; /* Reserved, MUST = 0 */
BYTE HA_Count; /* Number of host adapters present */
BYTE HA_SCSI_ID; /* SCSI ID of host adapter */
BYTE HA_ManagerId[16]; /* String describing the manager */
BYTE HA_Identifier[16]; /* String describing the host adapter */
BYTE HA_Unique[16]; /* Host Adapter Unique parameters */
BYTE SRB_Cmd; /* 00 ASPI command code = SC_HA_INQUIRY */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 ASPI request flags */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved, MUST = 0 */
BYTE HA_Count; /* 08 Number of host adapters present */
BYTE HA_SCSI_ID; /* 09 SCSI ID of host adapter */
BYTE HA_ManagerId[16]; /* 0A String describing the manager */
BYTE HA_Identifier[16]; /* 1A String describing the host adapter */
BYTE HA_Unique[16]; /* 2A Host Adapter Unique parameters */
WORD HA_Rsvd1;
} SRB_HaInquiry, *PSRB_HaInquiry;
/* SRB - GET DEVICE TYPE - SC_GET_DEV_TYPE */
typedef struct tagSRB32_GDEVBlock {
BYTE SRB_Cmd; /* ASPI command code = SC_GET_DEV_TYPE */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* Reserved */
DWORD SRB_Hdr_Rsvd; /* Reserved */
BYTE SRB_Target; /* Target's SCSI ID */
BYTE SRB_Lun; /* Target's LUN number */
BYTE SRB_DeviceType; /* Target's peripheral device type */
BYTE SRB_Cmd; /* 00 ASPI command code = SC_GET_DEV_TYPE */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 Reserved */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved */
BYTE SRB_Target; /* 08 Target's SCSI ID */
BYTE SRB_Lun; /* 09 Target's LUN number */
BYTE SRB_DeviceType; /* 0A Target's peripheral device type */
BYTE SRB_Rsvd1;
} SRB_GDEVBlock, *PSRB_GDEVBlock;
/* SRB - EXECUTE SCSI COMMAND - SC_EXEC_SCSI_CMD */
typedef struct tagSRB32_ExecSCSICmd {
BYTE SRB_Cmd; /* ASPI command code = SC_EXEC_SCSI_CMD */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* ASPI request flags */
DWORD SRB_Hdr_Rsvd; /* Reserved */
BYTE SRB_Target; /* Target's SCSI ID */
BYTE SRB_Lun; /* Target's LUN number */
WORD SRB_Rsvd1; /* Reserved for Alignment */
DWORD SRB_BufLen; /* Data Allocation Length */
BYTE *SRB_BufPointer; /* Data Buffer Point */
BYTE SRB_SenseLen; /* Sense Allocation Length */
BYTE SRB_CDBLen; /* CDB Length */
BYTE SRB_HaStat; /* Host Adapter Status */
BYTE SRB_TargStat; /* Target Status */
void (*SRB_PostProc)(); /* Post routine */
void *SRB_Rsvd2; /* Reserved */
BYTE SRB_Rsvd3[16]; /* Reserved for expansion */
BYTE CDBByte[16]; /* SCSI CDB */
BYTE SenseArea[SENSE_LEN+2]; /* Request sense buffer - var length */
BYTE SRB_Cmd; /* 00 ASPI command code = SC_EXEC_SCSI_CMD */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 ASPI request flags */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved */
BYTE SRB_Target; /* 08 Target's SCSI ID */
BYTE SRB_Lun; /* 09 Target's LUN number */
WORD SRB_Rsvd1; /* 0A Reserved for Alignment */
DWORD SRB_BufLen; /* 0C Data Allocation Length */
BYTE *SRB_BufPointer; /* 10 Data Buffer Point */
BYTE SRB_SenseLen; /* 14 Sense Allocation Length */
BYTE SRB_CDBLen; /* 15 CDB Length */
BYTE SRB_HaStat; /* 16 Host Adapter Status */
BYTE SRB_TargStat; /* 17 Target Status */
void (*SRB_PostProc)(); /* 18 Post routine */
void *SRB_Rsvd2; /* 1C Reserved */
BYTE SRB_Rsvd3[16]; /* 20 Reserved for expansion */
BYTE CDBByte[16]; /* 30 SCSI CDB */
BYTE SenseArea[SENSE_LEN+2]; /* 40 Request sense buffer - var length */
} SRB_ExecSCSICmd, *PSRB_ExecSCSICmd;
/* SRB - ABORT AN ARB - SC_ABORT_SRB */
typedef struct tagSRB32_Abort {
BYTE SRB_Cmd; /* ASPI command code = SC_ABORT_SRB */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* Reserved */
DWORD SRB_Hdr_Rsvd; /* Reserved, MUST = 0 */
VOID *SRB_ToAbort; /* Pointer to SRB to abort */
BYTE SRB_Cmd; /* 00 ASPI command code = SC_ABORT_SRB */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 Reserved */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved, MUST = 0 */
VOID *SRB_ToAbort; /* 08 Pointer to SRB to abort */
} SRB_Abort, *PSRB_Abort;
/* SRB - BUS DEVICE RESET - SC_RESET_DEV */
typedef struct tagSRB32_BusDeviceReset {
BYTE SRB_Cmd; /* ASPI command code = SC_RESET_DEV */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* Reserved */
DWORD SRB_Hdr_Rsvd; /* Reserved */
BYTE SRB_Target; /* Target's SCSI ID */
BYTE SRB_Lun; /* Target's LUN number */
BYTE SRB_Rsvd1[12]; /* Reserved for Alignment */
BYTE SRB_HaStat; /* Host Adapter Status */
BYTE SRB_TargStat; /* Target Status */
void (*SRB_PostProc)(); /* Post routine */
void *SRB_Rsvd2; /* Reserved */
BYTE SRB_Rsvd3[32]; /* Reserved */
BYTE SRB_Cmd; /* 00 ASPI cmd code = SC_RESET_DEV */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 Reserved */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved */
BYTE SRB_Target; /* 08 Target's SCSI ID */
BYTE SRB_Lun; /* 09 Target's LUN number */
BYTE SRB_Rsvd1[12]; /* 0A Reserved for Alignment */
BYTE SRB_HaStat; /* 16 Host Adapter Status */
BYTE SRB_TargStat; /* 17 Target Status */
void (*SRB_PostProc)(); /* 18 Post routine */
void *SRB_Rsvd2; /* 1c Reserved */
BYTE SRB_Rsvd3[32]; /* 20 Reserved */
} SRB_BusDeviceReset, *PSRB_BusDeviceReset;
/* SRB - GET DISK INFORMATION - SC_GET_DISK_INFO */
typedef struct tagSRB32_GetDiskInfo {
BYTE SRB_Cmd; /* ASPI command code = SC_RESET_DEV */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* Reserved */
DWORD SRB_Hdr_Rsvd; /* Reserved */
BYTE SRB_Target; /* Target's SCSI ID */
BYTE SRB_Lun; /* Target's LUN number */
BYTE SRB_DriveFlags; /* Driver flags */
BYTE SRB_Int13HDriveInfo; /* Host Adapter Status */
BYTE SRB_Heads; /* Preferred number of heads trans */
BYTE SRB_Sectors; /* Preferred number of sectors trans */
BYTE SRB_Rsvd1[10]; /* Reserved */
BYTE SRB_Cmd; /* 00 ASPI cmd code = SC_RESET_DEV */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 Reserved */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved */
BYTE SRB_Target; /* 08 Target's SCSI ID */
BYTE SRB_Lun; /* 09 Target's LUN number */
BYTE SRB_DriveFlags; /* 0A Driver flags */
BYTE SRB_Int13HDriveInfo; /* 0B Host Adapter Status */
BYTE SRB_Heads; /* 0C Preferred number of heads trans */
BYTE SRB_Sectors; /* 0D Preferred number of sectors trans */
BYTE SRB_Rsvd1[10]; /* 0E Reserved */
} SRB_GetDiskInfo, *PSRB_GetDiskInfo;
/* SRB header */
typedef struct tagSRB32_Header {
BYTE SRB_Cmd; /* ASPI command code = SC_RESET_DEV */
BYTE SRB_Status; /* ASPI command status byte */
BYTE SRB_HaId; /* ASPI host adapter number */
BYTE SRB_Flags; /* Reserved */
DWORD SRB_Hdr_Rsvd; /* Reserved */
BYTE SRB_Cmd; /* 00 ASPI cmd code = SC_RESET_DEV */
BYTE SRB_Status; /* 01 ASPI command status byte */
BYTE SRB_HaId; /* 02 ASPI host adapter number */
BYTE SRB_Flags; /* 03 Reserved */
DWORD SRB_Hdr_Rsvd; /* 04 Reserved */
} SRB_Header, *PSRB_Header;
typedef union tagSRB32 {

View File

@ -156,11 +156,11 @@ void MAIN_ParseDebugOptions( const char *arg )
error:
MESSAGE("%s: Syntax: --debugmsg [class]+xxx,... or "
"-debugmsg [class]-xxx,...\n",argv0);
"--debugmsg [class]-xxx,...\n",argv0);
MESSAGE("Example: --debugmsg +all,warn-heap\n"
" turn on all messages except warning heap messages\n");
MESSAGE("Special case: --debugmsg +relay=DLL:DLL.###:FuncName\n"
" turn on -debugmsg +relay only as specified\n"
" turn on --debugmsg +relay only as specified\n"
"Special case: --debugmsg -relay=DLL:DLL.###:FuncName\n"
" turn on --debugmsg +relay except as specified\n"
"Also permitted, +snoop=..., -snoop=... as with relay.\n\n");

View File

@ -9,7 +9,7 @@
* win31->NT migration book)
*
* FIXME: There seems to be a general problem with hInstance in WINE
* classes are getting registred with wrong hInstance.
* classes are getting registered with wrong hInstance.
*/
#include <stdlib.h>

View File

@ -361,7 +361,7 @@ END:
/***********************************************************************
* MSG_TranslateKbdMsg
*
* Translate an keyboard hardware event into a real message.
* Translate a keyboard hardware event into a real message.
*/
static DWORD MSG_TranslateKbdMsg( HWND hTopWnd, DWORD first, DWORD last,
MSG *msg, BOOL remove )
@ -508,7 +508,7 @@ static int MSG_JournalPlayBackMsg(void)
if (wtime<=0)
{
wtime=0;
if ((tmpMsg->message>= WM_KEYFIRST) && (tmpMsg->message <= WM_KEYLAST))
if ((tmpMsg->message >= WM_KEYFIRST) && (tmpMsg->message <= WM_KEYLAST))
{
wParam=tmpMsg->paramL & 0xFF;
lParam=MAKELONG(tmpMsg->paramH&0x7ffff,tmpMsg->paramL>>8);
@ -590,8 +590,6 @@ static int MSG_JournalPlayBackMsg(void)
static BOOL MSG_PeekHardwareMsg( MSG *msg, HWND hwnd, DWORD first, DWORD last,
BOOL remove )
{
/* FIXME: should deal with MSG32 instead of MSG16 */
DWORD status = SYSQ_MSG_ACCEPT;
MESSAGEQUEUE *sysMsgQueue = QUEUE_GetSysQueue();
enum { MOUSE_MSG = 0, KEYBOARD_MSG, HARDWARE_MSG } msgType;
@ -789,7 +787,7 @@ UINT WINAPI GetDoubleClickTime(void)
* Implementation of an inter-task SendMessage.
* Return values:
* 0 if error or timeout
* 1 if successflul
* 1 if successful
*/
static LRESULT MSG_SendMessageInterThread( HQUEUE16 hDestQueue,
HWND hwnd, UINT msg,
@ -2204,7 +2202,7 @@ static BOOL MSG_DoTranslateMessage( UINT message, HWND hwnd,
/* FIXME : should handle ToUnicode yielding 2 */
switch (ToUnicode(wParam, HIWORD(lParam), QueueKeyStateTable, wp, 2, 0))
{
case 1 :
case 1:
message = (message == WM_KEYDOWN) ? WM_CHAR : WM_SYSCHAR;
/* Should dead chars handling go in ToAscii ? */
if (dead_char)
@ -2232,7 +2230,7 @@ static BOOL MSG_DoTranslateMessage( UINT message, HWND hwnd,
PostMessageW( hwnd, message, wp[0], lParam );
return TRUE;
case -1 :
case -1:
message = (message == WM_KEYDOWN) ? WM_DEADCHAR : WM_SYSDEADCHAR;
dead_char = wp[0];
TRACE_(key)("-1 -> PostMessage(%s)\n", SPY_GetMsgName(message));
@ -2293,9 +2291,9 @@ LONG WINAPI DispatchMessage16( const MSG16* msg )
{
if (msg->lParam)
{
/* before calling window proc, verify it the timer is still valid,
there's a slim chance the application kill the timer between
getMessage and DisaptachMessage API calls */
/* before calling window proc, verify whether timer is still valid;
there's a slim chance that the application kills the timer
between GetMessage and DispatchMessage API calls */
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
return 0; /* invalid winproc */
@ -2377,9 +2375,9 @@ LONG WINAPI DispatchMessageA( const MSG* msg )
{
/* HOOK_CallHooks32A( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
/* before calling window proc, verify it the timer is still valid,
there's a slim chance the application kill the timer between
getMessage and DisaptachMessage API calls */
/* before calling window proc, verify whether timer is still valid;
there's a slim chance that the application kills the timer
between GetMessage and DispatchMessage API calls */
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
return 0; /* invalid winproc */
@ -2460,9 +2458,9 @@ LONG WINAPI DispatchMessageW( const MSG* msg )
{
/* HOOK_CallHooks32W( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
/* before calling window proc, verify it the timer is still valid,
there's a slim chance the application kill the timer between
getMessage and DisaptachMessage API calls */
/* before calling window proc, verify whether timer is still valid;
there's a slim chance that the application kills the timer
between GetMessage and DispatchMessage API calls */
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
return 0; /* invalid winproc */
@ -2598,8 +2596,10 @@ BOOL WINAPI SendNotifyMessageW(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
/***********************************************************************
* SendMessageCallbackA
* FIXME: It's like PostMessage. The callback gets called when the message
* is processed. We have to modify the message processing for a exact
* is processed. We have to modify the message processing for an exact
* implementation...
* The callback is only called when the thread that called us calls one of
* Get/Peek/WaitMessage.
*/
BOOL WINAPI SendMessageCallbackA(
HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,
@ -2617,9 +2617,7 @@ BOOL WINAPI SendMessageCallbackA(
}
/***********************************************************************
* SendMessageCallbackW
* FIXME: It's like PostMessage. The callback gets called when the message
* is processed. We have to modify the message processing for a exact
* implementation...
* FIXME: see SendMessageCallbackA.
*/
BOOL WINAPI SendMessageCallbackW(
HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,