Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Yoann Laissus
wine
Commits
03131aae
Commit
03131aae
authored
24 years ago
by
Andrew Johnston
Committed by
Alexandre Julliard
24 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Documentation update.
parent
5e5c52d4
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
dlls/kernel/comm.c
+273
-44
273 additions, 44 deletions
dlls/kernel/comm.c
dlls/kernel/debugger.c
+59
-12
59 additions, 12 deletions
dlls/kernel/debugger.c
dlls/kernel/time.c
+94
-24
94 additions, 24 deletions
dlls/kernel/time.c
with
426 additions
and
80 deletions
dlls/kernel/comm.c
+
273
−
44
View file @
03131aae
...
...
@@ -1489,17 +1489,37 @@ BOOL16 WINAPI EnableCommNotification16( INT16 cid, HWND16 hwnd,
/**************************************************************************
* BuildCommDCBA (KERNEL32.14)
*
* 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
*
* True on success, false on an malformed control string.
*/
BOOL
WINAPI
BuildCommDCBA
(
LPCSTR
device
,
LPDCB
lpdcb
)
BOOL
WINAPI
BuildCommDCBA
(
LPCSTR
device
,
/* The ascii device control string used to update the DCB. */
LPDCB
lpdcb
/* The device control block to be updated. */
)
{
return
BuildCommDCBAndTimeoutsA
(
device
,
lpdcb
,
NULL
);
}
/**************************************************************************
* BuildCommDCBAndTimeoutsA (KERNEL32.15)
*
* Updates a device control block data structure with values from an
* ascii device control string. Taking time out values from a time outs
* struct if desired by the control string.
*
* RETURNS
*
* True on success, false bad handles etc
*/
BOOL
WINAPI
BuildCommDCBAndTimeoutsA
(
LPCSTR
device
,
LPDCB
lpdcb
,
LPCOMMTIMEOUTS
lptimeouts
)
BOOL
WINAPI
BuildCommDCBAndTimeoutsA
(
LPCSTR
device
,
/* The ascii device control string. */
LPDCB
lpdcb
,
/* The device control block to be updated. */
LPCOMMTIMEOUTS
lptimeouts
/* The time outs to use if asked to set them by the control string. */
)
{
int
port
;
char
*
ptr
,
*
temp
;
...
...
@@ -1621,24 +1641,47 @@ BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR device, LPDCB lpdcb,
/**************************************************************************
* BuildCommDCBAndTimeoutsW (KERNEL32.16)
*
* Updates a device control block data structure with values from an
* unicode device control string. Taking time out values from a time outs
* struct if desired by the control string.
*
* RETURNS
*
* True on success, false bad handles etc.
*/
BOOL
WINAPI
BuildCommDCBAndTimeoutsW
(
LPCWSTR
devid
,
LPDCB
lpdcb
,
LPCOMMTIMEOUTS
lptimeouts
)
BOOL
WINAPI
BuildCommDCBAndTimeoutsW
(
LPCWSTR
devid
,
/* The unicode device control string. */
LPDCB
lpdcb
,
/* The device control block to be updated. */
LPCOMMTIMEOUTS
lptimeouts
/* The time outs to use if asked to set them by the control string. */
)
{
BOOL
ret
=
FALSE
;
LPSTR
devidA
;
BOOL
ret
;
TRACE
(
"(%p,%p,%p)
\n
"
,
devid
,
lpdcb
,
lptimeouts
);
devidA
=
HEAP_strdupWtoA
(
GetProcessHeap
(),
0
,
devid
);
if
(
devidA
)
{
ret
=
BuildCommDCBAndTimeoutsA
(
devidA
,
lpdcb
,
lptimeouts
);
HeapFree
(
GetProcessHeap
(),
0
,
devidA
);
}
return
ret
;
}
/**************************************************************************
* BuildCommDCBW (KERNEL32.17)
*
* 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
*
* True on success, false on an malformed control string.
*/
BOOL
WINAPI
BuildCommDCBW
(
LPCWSTR
devid
,
LPDCB
lpdcb
)
BOOL
WINAPI
BuildCommDCBW
(
LPCWSTR
devid
,
/* The unicode device control string. */
LPDCB
lpdcb
/* The device control block to be updated. */
)
{
return
BuildCommDCBAndTimeoutsW
(
devid
,
lpdcb
,
NULL
);
}
...
...
@@ -1648,8 +1691,20 @@ int commerror=0;
/*****************************************************************************
* SetCommBreak (KERNEL32.449)
*
* Halts the transmission of characters to a communications device.
*
* RETURNS
*
* True on success, and false if the communications device could not be found,
* the control is not supported.
*
* BUGS
*
* Only TIOCSBRK and TIOCCBRK are supported.
*/
BOOL
WINAPI
SetCommBreak
(
HANDLE
handle
)
BOOL
WINAPI
SetCommBreak
(
HANDLE
handle
/* The communictions device to suspend. */
)
{
#if defined(TIOCSBRK) && defined(TIOCCBRK)
/* check if available for compilation */
int
fd
,
result
;
...
...
@@ -1677,8 +1732,19 @@ BOOL WINAPI SetCommBreak(HANDLE handle)
/*****************************************************************************
* ClearCommBreak (KERNEL32.20)
*
* Resumes character transmission from a communication device.
*
* RETURNS
*
* True on success and false if the communications device could not be found.
*
* BUGS
*
* Only TIOCSBRK and TIOCCBRK are supported.
*/
BOOL
WINAPI
ClearCommBreak
(
HANDLE
handle
)
BOOL
WINAPI
ClearCommBreak
(
HANDLE
handle
/* The halted communication device whose character transmission is to be resumed. */
)
{
#if defined(TIOCSBRK) && defined(TIOCCBRK)
/* check if available for compilation */
int
fd
,
result
;
...
...
@@ -1706,8 +1772,18 @@ BOOL WINAPI ClearCommBreak(HANDLE handle)
/*****************************************************************************
* EscapeCommFunction (KERNEL32.214)
*
* 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.
*/
BOOL
WINAPI
EscapeCommFunction
(
HANDLE
handle
,
UINT
nFunction
)
BOOL
WINAPI
EscapeCommFunction
(
HANDLE
handle
,
/* The communication device to perform the extended function. */
UINT
nFunction
/* The extended function to be performed. */
)
{
int
fd
,
direct
=
FALSE
,
result
=
FALSE
;
struct
termios
port
;
...
...
@@ -1814,8 +1890,17 @@ BOOL WINAPI EscapeCommFunction(HANDLE handle,UINT nFunction)
/********************************************************************
* PurgeComm (KERNEL32.557)
*
* Terminates pending operations and/or discards buffers on a
* communication resource.
*
* RETURNS
*
* True on success and false if the communications handle is bad.
*/
BOOL
WINAPI
PurgeComm
(
HANDLE
handle
,
DWORD
flags
)
BOOL
WINAPI
PurgeComm
(
HANDLE
handle
,
/* The communication resource to be purged. */
DWORD
flags
/* Flags for clear pending/buffer on input/output. */
)
{
int
fd
;
...
...
@@ -1847,8 +1932,18 @@ BOOL WINAPI PurgeComm( HANDLE handle, DWORD flags)
/*****************************************************************************
* ClearCommError (KERNEL32.21)
*
* Enables further I/O operations on a communications resource after
* supplying error and current status information.
*
* RETURNS
*
* True on success, false if the communication resource handle is bad.
*/
BOOL
WINAPI
ClearCommError
(
HANDLE
handle
,
LPDWORD
errors
,
LPCOMSTAT
lpStat
)
BOOL
WINAPI
ClearCommError
(
HANDLE
handle
,
/* The communication resource with the error. */
LPDWORD
errors
,
/* Flags indicating error the resource experienced. */
LPCOMSTAT
lpStat
/* The status of the communication resource. */
)
{
int
fd
;
...
...
@@ -1896,8 +1991,22 @@ BOOL WINAPI ClearCommError(HANDLE handle,LPDWORD errors,LPCOMSTAT lpStat)
/*****************************************************************************
* SetupComm (KERNEL32.676)
*
* 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.
*/
BOOL
WINAPI
SetupComm
(
HANDLE
handle
,
DWORD
insize
,
DWORD
outsize
)
BOOL
WINAPI
SetupComm
(
HANDLE
handle
,
/* The just created communication resource handle. */
DWORD
insize
,
/* The suggested size of the communication resources input buffer in bytes. */
DWORD
outsize
/* The suggested size of the communication resources output buffer in bytes. */
)
{
int
fd
;
...
...
@@ -1913,8 +2022,17 @@ BOOL WINAPI SetupComm( HANDLE handle, DWORD insize, DWORD outsize)
/*****************************************************************************
* GetCommMask (KERNEL32.156)
*
* Obtain the events associated with a communication device that will cause a call
* WaitCommEvent to return.
*
* RETURNS
*
* True on success, fail on bad device handle etc.
*/
BOOL
WINAPI
GetCommMask
(
HANDLE
handle
,
LPDWORD
evtmask
)
BOOL
WINAPI
GetCommMask
(
HANDLE
handle
,
/* The communications device. */
LPDWORD
evtmask
/* The events which cause WaitCommEvent to return. */
)
{
BOOL
ret
;
...
...
@@ -1935,8 +2053,18 @@ BOOL WINAPI GetCommMask(HANDLE handle,LPDWORD evtmask)
/*****************************************************************************
* SetCommMask (KERNEL32.451)
*
* 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.)
*
* RETURNS
*
* True on success, false on bad handle etc.
*/
BOOL
WINAPI
SetCommMask
(
HANDLE
handle
,
DWORD
evtmask
)
BOOL
WINAPI
SetCommMask
(
HANDLE
handle
,
/* The communications device. */
DWORD
evtmask
/* The events that to be monitored. */
)
{
BOOL
ret
;
...
...
@@ -1956,12 +2084,21 @@ BOOL WINAPI SetCommMask(HANDLE handle,DWORD evtmask)
/*****************************************************************************
* SetCommState (KERNEL32.452)
*
* 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.
*
* RETURNS
*
* True on success, false on failure eg if the XonChar is equal to the XoffChar.
*/
BOOL
WINAPI
SetCommState
(
HANDLE
handle
,
LPDCB
lpdcb
)
BOOL
WINAPI
SetCommState
(
HANDLE
handle
,
/* The communications device. */
LPDCB
lpdcb
/* The device control block. */
)
{
struct
termios
port
;
int
fd
;
int
bytesize
,
stopbits
;
int
fd
,
bytesize
,
stopbits
;
TRACE
(
"handle %d, ptr %p
\n
"
,
handle
,
lpdcb
);
TRACE
(
"bytesize %d baudrate %ld fParity %d Parity %d stopbits %d
\n
"
,
...
...
@@ -2257,8 +2394,20 @@ BOOL WINAPI SetCommState(HANDLE handle,LPDCB lpdcb)
/*****************************************************************************
* GetCommState (KERNEL32.159)
*
* 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
*
* BUGS
*
* XonChar and XoffChar are not set.
*/
BOOL
WINAPI
GetCommState
(
HANDLE
handle
,
LPDCB
lpdcb
)
BOOL
WINAPI
GetCommState
(
HANDLE
handle
,
/* The communications device. */
LPDCB
lpdcb
/* The device control block. */
)
{
struct
termios
port
;
int
fd
,
speed
;
...
...
@@ -2449,8 +2598,22 @@ BOOL WINAPI GetCommState(HANDLE handle, LPDCB lpdcb)
/*****************************************************************************
* TransmitCommChar (KERNEL32.535)
*
* Transmits a single character in front of any pending characters in the
* output buffer. Usually used to send an interrupt character to a host.
*
* 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.
*
* BUGS
*
* Stub.
*/
BOOL
WINAPI
TransmitCommChar
(
HANDLE
hComm
,
CHAR
chTransmit
)
BOOL
WINAPI
TransmitCommChar
(
HANDLE
hComm
,
/* The communication device in need of a command character. */
CHAR
chTransmit
/* The character to transmit. */
)
{
FIXME
(
"(%x,'%c'), use win32 handle!
\n
"
,
hComm
,
chTransmit
);
return
TRUE
;
...
...
@@ -2458,8 +2621,17 @@ BOOL WINAPI TransmitCommChar(HANDLE hComm,CHAR chTransmit)
/*****************************************************************************
* GetCommTimeouts (KERNEL32.160)
*
* Obtains the request time out values for the communications device.
*
* RETURNS
*
* True on success, false if communications device handle is bad
* or the target structure is null.
*/
BOOL
WINAPI
GetCommTimeouts
(
HANDLE
hComm
,
LPCOMMTIMEOUTS
lptimeouts
)
BOOL
WINAPI
GetCommTimeouts
(
HANDLE
hComm
,
/* The communications device. */
LPCOMMTIMEOUTS
lptimeouts
/* The struct of request time outs. */
)
{
BOOL
ret
;
...
...
@@ -2499,6 +2671,10 @@ BOOL WINAPI GetCommTimeouts(HANDLE hComm,LPCOMMTIMEOUTS lptimeouts)
* - used in ReadFile to calculate GetOverlappedResult's timeout
* WriteTotalTimeoutMultiplier, WriteTotalTimeoutConstant
* - used in WriteFile to calculate GetOverlappedResult's timeout
*
* RETURNS
*
* True if the time outs were set, false otherwise.
*/
BOOL
WINAPI
SetCommTimeouts
(
HANDLE
hComm
,
/* [in] handle of COMM device */
...
...
@@ -2554,8 +2730,17 @@ BOOL WINAPI SetCommTimeouts(
/***********************************************************************
* GetCommModemStatus (KERNEL32.285)
*
* Obtains the four control register bits if supported by the hardware.
*
* RETURNS
*
* True if the communications handle was good and for hardware that
* control register access, false otherwise.
*/
BOOL
WINAPI
GetCommModemStatus
(
HANDLE
hFile
,
LPDWORD
lpModemStat
)
BOOL
WINAPI
GetCommModemStatus
(
HANDLE
hFile
,
/* The communications device. */
LPDWORD
lpModemStat
/* The control register bits. */
)
{
int
fd
,
mstat
,
result
=
FALSE
;
...
...
@@ -2844,10 +3029,18 @@ BOOL WINAPI CommConfigDialogW(
*
* TRUE on success, FALSE on failure
* If successful, lpCommConfig contains the comm port configuration.
*
* BUGS
*
* The signature is missing a the parameter for the size of the COMMCONFIG
* structure/buffer it should be
* BOOL WINAPI GetCommConfig(HANDLE hFile,LPCOMMCONFIG lpCommConfig,LPDWORD lpdwSize)
*/
BOOL
WINAPI
GetCommConfig
(
HANDLE
hFile
,
LPCOMMCONFIG
lpCommConfig
HANDLE
hFile
,
/* The communications device. */
LPCOMMCONFIG
lpCommConfig
/* The communications configuration of the device (if it fits). */
/* LPDWORD lpdwSize Initially the size of the configuration buffer/structure,
afterwards the number of bytes copied to the buffer or the needed size of the buffer. */
)
{
BOOL
r
;
...
...
@@ -2870,26 +3063,34 @@ BOOL WINAPI GetCommConfig(
/***********************************************************************
* SetCommConfig (KERNEL32.617)
*
* Sets the configuration of the commications device.
*
* RETURNS
*
* True on success, false if the handle was bad is not a communications device.
*/
BOOL
WINAPI
SetCommConfig
(
HANDLE
hFile
,
LPCOMMCONFIG
lpCommConfig
HANDLE
hFile
,
/* The communications device. */
LPCOMMCONFIG
lpCommConfig
/* The desired configuration. */
)
{
BOOL
r
;
TRACE
(
"(%x %p)
\n
"
,
hFile
,
lpCommConfig
);
r
=
SetCommState
(
hFile
,
&
lpCommConfig
->
dcb
);
return
r
;
return
SetCommState
(
hFile
,
&
lpCommConfig
->
dcb
);
}
/***********************************************************************
* SetDefaultCommConfigA (KERNEL32.638)
*
* Initializes the default configuration for the specified communication
* device. (ascii)
*
* RETURNS
*
* True if the device was found and the defaults set, false otherwise
*/
BOOL
WINAPI
SetDefaultCommConfigA
(
LPCSTR
lpszDevice
,
LPCOMMCONFIG
lpCommConfig
,
DWORD
dwSize
LPCSTR
lpszDevice
,
/* The ascii name of the device targeted for configuration. */
LPCOMMCONFIG
lpCommConfig
,
/* The default configuration for the device. */
DWORD
dwSize
/* The number of bytes in the configuration structure. */
)
{
FARPROC
lpfnSetDefaultCommConfig
;
HMODULE
hConfigModule
;
...
...
@@ -2917,11 +3118,16 @@ BOOL WINAPI SetDefaultCommConfigA(
/***********************************************************************
* SetDefaultCommConfigW (KERNEL32.639)
*
* Initializes the default configuration for the specified
* communication device. (unicode)
*
* RETURNS
*
*/
BOOL
WINAPI
SetDefaultCommConfigW
(
LPCWSTR
lpszDevice
,
LPCOMMCONFIG
lpCommConfig
,
DWORD
dwSize
LPCWSTR
lpszDevice
,
/* The unicode name of the device targeted for configuration. */
LPCOMMCONFIG
lpCommConfig
,
/* The default configuration for the device. */
DWORD
dwSize
/* The number of bytes in the configuration structure. */
)
{
BOOL
r
;
LPSTR
lpDeviceA
;
...
...
@@ -2939,10 +3145,20 @@ BOOL WINAPI SetDefaultCommConfigW(
/***********************************************************************
* GetDefaultCommConfigA (KERNEL32.313)
*
* 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.
*/
BOOL
WINAPI
GetDefaultCommConfigA
(
LPCSTR
lpszName
,
LPCOMMCONFIG
lpCC
,
LPDWORD
lpdwSize
)
{
BOOL
WINAPI
GetDefaultCommConfigA
(
LPCSTR
lpszName
,
/* The ascii name of the device targeted for configuration. */
LPCOMMCONFIG
lpCC
,
/* The default configuration for the device. */
LPDWORD
lpdwSize
)
/* Initially the size of the default configuration buffer,
afterwards the number of bytes copied to the buffer or the needed size of the buffer. */
{
LPDCB
lpdcb
=
&
(
lpCC
->
dcb
);
char
temp
[
40
];
...
...
@@ -2976,17 +3192,30 @@ BOOL WINAPI GetDefaultCommConfigA(LPCSTR lpszName,LPCOMMCONFIG lpCC,
/**************************************************************************
* GetDefaultCommConfigW (KERNEL32.314)
*
* 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.
*/
BOOL
WINAPI
GetDefaultCommConfigW
(
LPCWSTR
lpszName
,
LPCOMMCONFIG
lpCC
,
LPDWORD
lpdwSize
)
{
BOOL
WINAPI
GetDefaultCommConfigW
(
LPCWSTR
lpszName
,
/* The unicode name of the device targeted for configuration. */
LPCOMMCONFIG
lpCC
,
/* The default configuration for the device. */
LPDWORD
lpdwSize
/* Initially the size of the default configuration buffer,
afterwards the number of bytes copied to the buffer or the needed size of the buffer. */
)
{
BOOL
ret
=
FALSE
;
LPSTR
lpszNameA
;
BOOL
ret
;
TRACE
(
"(%p,%p,%ld)
\n
"
,
lpszName
,
lpCC
,
*
lpdwSize
);
lpszNameA
=
HEAP_strdupWtoA
(
GetProcessHeap
(),
0
,
lpszName
);
if
(
lpszNameA
)
{
ret
=
GetDefaultCommConfigA
(
lpszNameA
,
lpCC
,
lpdwSize
);
HeapFree
(
GetProcessHeap
(),
0
,
lpszNameA
);
}
return
ret
;
}
This diff is collapsed.
Click to expand it.
dlls/kernel/debugger.c
+
59
−
12
View file @
03131aae
...
...
@@ -19,15 +19,16 @@ DEFAULT_DEBUG_CHANNEL(debugstr);
/******************************************************************************
* WaitForDebugEvent (KERNEL32.720)
*
* Waits for a debugging event to occur in a process being debugged
* Waits for a debugging event to occur in a process being debugged before
* filling out the debug event structure.
*
* PARAMS
* event [I] Address of structure for event information
* timeout [I] Number of milliseconds to wait for event
* RETURNS
*
*
RETURNS STD
*
Returns true if a debug event occurred and false if the call timed out.
*/
BOOL
WINAPI
WaitForDebugEvent
(
LPDEBUG_EVENT
event
,
DWORD
timeout
)
BOOL
WINAPI
WaitForDebugEvent
(
LPDEBUG_EVENT
event
,
/* Address of structure for event information. */
DWORD
timeout
/* Number of milliseconds to wait for event. */
)
{
BOOL
ret
;
SERVER_START_REQ
...
...
@@ -111,8 +112,18 @@ BOOL WINAPI WaitForDebugEvent( LPDEBUG_EVENT event, DWORD timeout )
/**********************************************************************
* ContinueDebugEvent (KERNEL32.146)
*
* Enables a thread that previously produced a debug event to continue.
*
* RETURNS
*
* True if the debugger is listed as the processes owner and the process
* and thread are valid.
*/
BOOL
WINAPI
ContinueDebugEvent
(
DWORD
pid
,
DWORD
tid
,
DWORD
status
)
BOOL
WINAPI
ContinueDebugEvent
(
DWORD
pid
,
/* The id of the process to continue. */
DWORD
tid
,
/* The id of the thread to continue. */
DWORD
status
/* The rule to apply to unhandled exeptions. */
)
{
BOOL
ret
;
SERVER_START_REQ
...
...
@@ -130,8 +141,15 @@ BOOL WINAPI ContinueDebugEvent( DWORD pid, DWORD tid, DWORD status )
/**********************************************************************
* DebugActiveProcess (KERNEL32.180)
*
* Attempts to attach the dugger to a process.
*
* RETURNS
*
* True if the debugger was attached to process.
*/
BOOL
WINAPI
DebugActiveProcess
(
DWORD
pid
)
BOOL
WINAPI
DebugActiveProcess
(
DWORD
pid
/* The process to be debugged. */
)
{
BOOL
ret
;
SERVER_START_REQ
...
...
@@ -147,8 +165,12 @@ BOOL WINAPI DebugActiveProcess( DWORD pid )
/***********************************************************************
* OutputDebugStringA (KERNEL32.548)
*
* Output by an application of a unicode string to a debugger (if attached)
* and program log.
*/
void
WINAPI
OutputDebugStringA
(
LPCSTR
str
)
void
WINAPI
OutputDebugStringA
(
LPCSTR
str
/* The message to be logged and given to the debugger. */
)
{
SERVER_START_REQ
{
...
...
@@ -165,8 +187,12 @@ void WINAPI OutputDebugStringA( LPCSTR str )
/***********************************************************************
* OutputDebugStringW (KERNEL32.549)
*
* Output by an appliccation of a unicode string to a debugger (if attached)
* and program log.
*/
void
WINAPI
OutputDebugStringW
(
LPCWSTR
str
)
void
WINAPI
OutputDebugStringW
(
LPCWSTR
str
/* The message to be logged and given to the debugger. */
)
{
SERVER_START_REQ
{
...
...
@@ -183,8 +209,12 @@ void WINAPI OutputDebugStringW( LPCWSTR str )
/***********************************************************************
* OutputDebugString16 (KERNEL.115)
*
* Output by a 16 bit application of an ascii string to a debugger (if attached)
* and program log.
*/
void
WINAPI
OutputDebugString16
(
LPCSTR
str
)
void
WINAPI
OutputDebugString16
(
LPCSTR
str
/* The message to be logged and given to the debugger.*/
)
{
OutputDebugStringA
(
str
);
}
...
...
@@ -192,6 +222,9 @@ void WINAPI OutputDebugString16( LPCSTR str )
/***********************************************************************
* DebugBreak (KERNEL32.181)
*
* Raises an exception so that a debugger (if attached)
* can take some action.
*/
void
WINAPI
DebugBreak
(
void
)
{
...
...
@@ -201,8 +234,16 @@ void WINAPI DebugBreak(void)
/***********************************************************************
* DebugBreak16 (KERNEL.203)
*
* Raises an expection in a 16 bit application so that a debugger (if attached)
* can take some action.
*
* BUGS
*
* Only 386 compatible processors implemented.
*/
void
WINAPI
DebugBreak16
(
CONTEXT86
*
context
)
void
WINAPI
DebugBreak16
(
CONTEXT86
*
context
/* A pointer to the 386 compatible processor state. */
)
{
#ifdef __i386__
EXCEPTION_RECORD
rec
;
...
...
@@ -219,6 +260,12 @@ void WINAPI DebugBreak16( CONTEXT86 *context )
/***********************************************************************
* IsDebuggerPresent (KERNEL32)
*
* Allows a process to determine if there is a debugger attached.
*
* RETURNS
*
* True if there is a debugger attached.
*/
BOOL
WINAPI
IsDebuggerPresent
(
void
)
{
...
...
This diff is collapsed.
Click to expand it.
dlls/kernel/time.c
+
94
−
24
View file @
03131aae
...
...
@@ -33,10 +33,15 @@ static int TIME_GetBias( time_t utc, int *pdaylight)
/***********************************************************************
* SetLocalTime (KERNEL32.655)
*
* FIXME: correct ? Is the timezone param of settimeofday() needed ?
* I don't have any docu about SetLocal/SystemTime(), argl...
* Sets the local time using current time zone and daylight
* savings settings.
*
* RETURNS
*
* True if the time was set, false if the time was invalid or the
* necessary permissions were not held.
*/
BOOL
WINAPI
SetLocalTime
(
const
SYSTEMTIME
*
systime
)
BOOL
WINAPI
SetLocalTime
(
const
SYSTEMTIME
*
systime
/* The desired local time. */
)
{
struct
timeval
tv
;
struct
tm
t
;
...
...
@@ -80,10 +85,22 @@ BOOL WINAPI SetLocalTime(const SYSTEMTIME *systime)
/***********************************************************************
* GetSystemTimeAdjustment (KERNEL32.407)
*
* Indicates the period between clock interrupt and the amount the clock
* is adjusted each interrupt so as to keep it insync with an external source.
*
* RETURNS
*
* Always returns true.
*
* BUGS
*
* Only the special case of disabled time adjustments is supported.
* (also the signature is wrong it should have a return type of BOOL)
*/
DWORD
WINAPI
GetSystemTimeAdjustment
(
LPDWORD
lpTimeAdjustment
,
LPDWORD
lpTimeIncrement
,
LPBOOL
lpTimeAdjustmentDisabled
)
DWORD
WINAPI
GetSystemTimeAdjustment
(
LPDWORD
lpTimeAdjustment
,
/* The clock adjustment per interupt in 100's of nanoseconds. */
LPDWORD
lpTimeIncrement
,
/* The time between clock interupts in 100's of nanoseconds. */
LPBOOL
lpTimeAdjustmentDisabled
/* The clock synchonisation has been disabled. */
)
{
*
lpTimeAdjustment
=
0
;
*
lpTimeIncrement
=
0
;
...
...
@@ -94,8 +111,16 @@ DWORD WINAPI GetSystemTimeAdjustment( LPDWORD lpTimeAdjustment,
/***********************************************************************
* SetSystemTime (KERNEL32.507)
*
* Sets the system time (utc).
*
* RETURNS
*
* True if the time was set, false if the time was invalid or the
* necessary permissions were not held.
*/
BOOL
WINAPI
SetSystemTime
(
const
SYSTEMTIME
*
systime
)
BOOL
WINAPI
SetSystemTime
(
const
SYSTEMTIME
*
systime
/* The desired system time. */
)
{
struct
timeval
tv
;
struct
timezone
tz
;
...
...
@@ -147,8 +172,16 @@ BOOL WINAPI SetSystemTime(const SYSTEMTIME *systime)
/***********************************************************************
* GetTimeZoneInformation (KERNEL32.302)
*
* Fills in the a time zone information structure with values based on
* the current local time.
*
* RETURNS
*
* The daylight savings time standard or TIME_ZONE_ID_INVALID if the call failed.
*/
DWORD
WINAPI
GetTimeZoneInformation
(
LPTIME_ZONE_INFORMATION
tzinfo
)
DWORD
WINAPI
GetTimeZoneInformation
(
LPTIME_ZONE_INFORMATION
tzinfo
/* The time zone structure to be filled in. */
)
{
time_t
gmt
;
int
bias
,
daylight
;
...
...
@@ -168,8 +201,19 @@ DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION tzinfo)
/***********************************************************************
* SetTimeZoneInformation (KERNEL32.515)
*
* Set the local time zone with values based on the time zone structure.
*
* RETURNS
*
* True on successful setting of the time zone.
*
* BUGS
*
* Use the obsolete unix timezone structure and tz_dsttime member.
*/
BOOL
WINAPI
SetTimeZoneInformation
(
const
LPTIME_ZONE_INFORMATION
tzinfo
)
BOOL
WINAPI
SetTimeZoneInformation
(
const
LPTIME_ZONE_INFORMATION
tzinfo
/* The new time zone. */
)
{
struct
timezone
tz
;
...
...
@@ -185,11 +229,21 @@ BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION tzinfo)
/***********************************************************************
* SystemTimeToTzSpecificLocalTime (KERNEL32.683)
*
* Converts the system time (utc) to the local time in the specified time zone.
*
* RETURNS
*
* Returns true when the local time was calculated.
*
* BUGS
*
* Does not handle daylight savings time adjustments correctly.
*/
BOOL
WINAPI
SystemTimeToTzSpecificLocalTime
(
LPTIME_ZONE_INFORMATION
lpTimeZoneInformation
,
LPSYSTEMTIME
lpUniversalTime
,
LPSYSTEMTIME
lpLocalTime
)
LPTIME_ZONE_INFORMATION
lpTimeZoneInformation
,
/* The desired time zone. */
LPSYSTEMTIME
lpUniversalTime
,
/* The utc time to base local time on. */
LPSYSTEMTIME
lpLocalTime
/* The local time in the time zone. */
)
{
FIXME
(
":stub
\n
"
);
SetLastError
(
ERROR_CALL_NOT_IMPLEMENTED
);
...
...
@@ -199,18 +253,21 @@ BOOL WINAPI SystemTimeToTzSpecificLocalTime(
/***********************************************************************
* GetSystemTimeAsFileTime (KERNEL32)
*
* Fills in a file time structure with the current time in UTC format.
*/
VOID
WINAPI
GetSystemTimeAsFileTime
(
LPFILETIME
time
)
VOID
WINAPI
GetSystemTimeAsFileTime
(
LPFILETIME
time
/* The file time struct to be filled with the system time. */
)
{
NtQuerySystemTime
(
(
LARGE_INTEGER
*
)
time
);
}
/*********************************************************************
* TIME_ClockTimeToFileTime
*
(olorin@fandra.org, 20-Sep-1998)
*
C
onvert
s
clock_t into FILETIME.
*
Used by GetProcessTime.
* TIME_ClockTimeToFileTime
(olorin@fandra.org, 20-Sep-1998)
*
*
Used by GetProcessTimes to c
onvert clock_t into FILETIME.
*
* Differences to UnixTimeToFileTime:
* 1) Divided by CLK_TCK
* 2) Time is relative. There is no 'starting date', so there is
...
...
@@ -225,14 +282,27 @@ static void TIME_ClockTimeToFileTime(clock_t unix_time, LPFILETIME filetime)
/*********************************************************************
* GetProcessTimes [KERNEL32.262]
*
* FIXME: lpCreationTime, lpExitTime are NOT INITIALIZED.
* olorin@fandra.org: Would be nice to substract the cpu time,
* used by Wine at startup.
* Also, there is a need to separate times
* used by different applications.
* Returns the user and kernel execution times of a process,
* along with the creation and exit times if known.
*
* olorin@fandra.org:
* Would be nice to subtract the cpu time, used by Wine at startup.
* Also, there is a need to separate times used by different applications.
*
* RETURNS
*
* Always returns true.
*
* BUGS
*
* lpCreationTime, lpExitTime are NOT INITIALIZED.
*/
BOOL
WINAPI
GetProcessTimes
(
HANDLE
hprocess
,
LPFILETIME
lpCreationTime
,
LPFILETIME
lpExitTime
,
LPFILETIME
lpKernelTime
,
LPFILETIME
lpUserTime
)
BOOL
WINAPI
GetProcessTimes
(
HANDLE
hprocess
,
/* The process to be queried (obtained from PROCESS_QUERY_INFORMATION). */
LPFILETIME
lpCreationTime
,
/* The creation time of the process. */
LPFILETIME
lpExitTime
,
/* The exit time of the process if exited. */
LPFILETIME
lpKernelTime
,
/* The time spent in kernal routines in 100's of nanoseconds. */
LPFILETIME
lpUserTime
/* The time spent in user routines in 100's of nanoseconds. */
)
{
struct
tms
tms
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment