Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6a27b488
Commit
6a27b488
authored
Aug 18, 2004
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fd type is no longer used, get rid of it.
parent
1ffddb4d
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
50 additions
and
74 deletions
+50
-74
comm.c
dlls/kernel/comm.c
+1
-1
file.c
dlls/kernel/file.c
+1
-1
sync.c
dlls/kernel/sync.c
+1
-1
vxd.c
dlls/kernel/vxd.c
+2
-2
cdrom.c
dlls/ntdll/cdrom.c
+1
-1
directory.c
dlls/ntdll/directory.c
+1
-2
file.c
dlls/ntdll/file.c
+5
-5
ntdll.spec
dlls/ntdll/ntdll.spec
+1
-1
server.c
dlls/ntdll/server.c
+1
-4
virtual.c
dlls/ntdll/virtual.c
+2
-2
int13.c
dlls/winedos/int13.c
+1
-1
int21.c
dlls/winedos/int21.c
+2
-2
socket.c
dlls/winsock/socket.c
+1
-1
server.h
include/wine/server.h
+1
-2
server_protocol.h
include/wine/server_protocol.h
+1
-8
registry.c
misc/registry.c
+1
-1
fd.c
server/fd.c
+3
-5
file.c
server/file.c
+4
-5
file.h
server/file.h
+2
-2
named_pipe.c
server/named_pipe.c
+3
-4
protocol.def
server/protocol.def
+0
-7
serial.c
server/serial.c
+8
-8
sock.c
server/sock.c
+7
-7
trace.c
server/trace.c
+0
-1
No files found.
dlls/kernel/comm.c
View file @
6a27b488
...
...
@@ -110,7 +110,7 @@ static int get_comm_fd( HANDLE handle, DWORD access )
{
int
fd
,
ret
;
ret
=
wine_server_handle_to_fd
(
handle
,
access
,
&
fd
,
NULL
,
NULL
);
ret
=
wine_server_handle_to_fd
(
handle
,
access
,
&
fd
,
NULL
);
if
(
ret
)
SetLastError
(
RtlNtStatusToDosError
(
ret
)
);
return
fd
;
}
...
...
dlls/kernel/file.c
View file @
6a27b488
...
...
@@ -866,7 +866,7 @@ BOOL WINAPI SetFilePointerEx( HANDLE hFile, LARGE_INTEGER distance,
return
ret
;
}
if
(
!
(
status
=
wine_server_handle_to_fd
(
hFile
,
0
,
&
fd
,
NULL
,
NULL
)))
if
(
!
(
status
=
wine_server_handle_to_fd
(
hFile
,
0
,
&
fd
,
NULL
)))
{
off_t
pos
,
res
;
...
...
dlls/kernel/sync.c
View file @
6a27b488
...
...
@@ -1068,7 +1068,7 @@ BOOL WINAPI PeekNamedPipe( HANDLE hPipe, LPVOID lpvBuffer, DWORD cbBuffer,
#ifdef FIONREAD
int
avail
=
0
,
fd
,
ret
,
flags
;
ret
=
wine_server_handle_to_fd
(
hPipe
,
GENERIC_READ
,
&
fd
,
NULL
,
&
flags
);
ret
=
wine_server_handle_to_fd
(
hPipe
,
GENERIC_READ
,
&
fd
,
&
flags
);
if
(
ret
)
{
SetLastError
(
RtlNtStatusToDosError
(
ret
)
);
...
...
dlls/kernel/vxd.c
View file @
6a27b488
...
...
@@ -135,7 +135,7 @@ static DeviceIoProc get_vxd_proc( HANDLE handle )
DeviceIoProc
ret
=
NULL
;
int
status
,
i
,
fd
;
status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
);
status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
);
if
(
status
)
{
SetLastError
(
RtlNtStatusToDosError
(
status
)
);
...
...
@@ -236,7 +236,7 @@ HANDLE VXD_Open( LPCWSTR filenameW, DWORD access, SECURITY_ATTRIBUTES *sa )
FreeLibrary
(
module
);
goto
done
;
}
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
);
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
);
if
(
fstat
(
fd
,
&
st
)
!=
-
1
)
{
vxd_modules
[
i
].
dev
=
st
.
st_dev
;
...
...
dlls/ntdll/cdrom.c
View file @
6a27b488
...
...
@@ -1925,7 +1925,7 @@ NTSTATUS CDROM_DeviceIoControl(HANDLE hDevice,
piosb
->
Information
=
0
;
if
((
status
=
wine_server_handle_to_fd
(
hDevice
,
0
,
&
fd
,
NULL
,
NULL
)))
goto
error
;
if
((
status
=
wine_server_handle_to_fd
(
hDevice
,
0
,
&
fd
,
NULL
)))
goto
error
;
if
((
status
=
CDROM_Open
(
fd
,
&
dev
)))
{
wine_server_release_fd
(
hDevice
,
fd
);
...
...
dlls/ntdll/directory.c
View file @
6a27b488
...
...
@@ -674,8 +674,7 @@ NTSTATUS WINAPI NtQueryDirectoryFile( HANDLE handle, HANDLE event,
return
io
->
u
.
Status
=
STATUS_NOT_IMPLEMENTED
;
}
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
GENERIC_READ
,
&
fd
,
NULL
,
NULL
))
!=
STATUS_SUCCESS
)
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
GENERIC_READ
,
&
fd
,
NULL
))
!=
STATUS_SUCCESS
)
return
io
->
u
.
Status
;
io
->
Information
=
0
;
...
...
dlls/ntdll/file.c
View file @
6a27b488
...
...
@@ -408,7 +408,7 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent,
hFile
,
hEvent
,
apc
,
apc_user
,
io_status
,
buffer
,
length
,
offset
,
key
);
io_status
->
Information
=
0
;
io_status
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
GENERIC_READ
,
&
unix_handle
,
NULL
,
&
flags
);
io_status
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
GENERIC_READ
,
&
unix_handle
,
&
flags
);
if
(
io_status
->
u
.
Status
)
return
io_status
->
u
.
Status
;
if
(
flags
&
FD_FLAG_RECV_SHUTDOWN
)
...
...
@@ -604,7 +604,7 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent,
hFile
,
hEvent
,
apc
,
apc_user
,
io_status
,
buffer
,
length
,
offset
,
key
);
io_status
->
Information
=
0
;
io_status
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
GENERIC_WRITE
,
&
unix_handle
,
NULL
,
&
flags
);
io_status
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
GENERIC_WRITE
,
&
unix_handle
,
&
flags
);
if
(
io_status
->
u
.
Status
)
return
io_status
->
u
.
Status
;
if
(
flags
&
FD_FLAG_SEND_SHUTDOWN
)
...
...
@@ -872,7 +872,7 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
if
(
len
<
info_sizes
[
class
])
return
io
->
u
.
Status
=
STATUS_INFO_LENGTH_MISMATCH
;
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
0
,
&
fd
,
NULL
,
NULL
)))
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
hFile
,
0
,
&
fd
,
NULL
)))
return
io
->
u
.
Status
;
switch
(
class
)
...
...
@@ -1027,7 +1027,7 @@ NTSTATUS WINAPI NtSetInformationFile(HANDLE handle, PIO_STATUS_BLOCK io,
TRACE
(
"(%p,%p,%p,0x%08lx,0x%08x)
\n
"
,
handle
,
io
,
ptr
,
len
,
class
);
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
)))
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
)))
return
io
->
u
.
Status
;
io
->
u
.
Status
=
STATUS_SUCCESS
;
...
...
@@ -1230,7 +1230,7 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
int
fd
;
struct
stat
st
;
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
))
!=
STATUS_SUCCESS
)
if
((
io
->
u
.
Status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
))
!=
STATUS_SUCCESS
)
return
io
->
u
.
Status
;
io
->
u
.
Status
=
STATUS_NOT_IMPLEMENTED
;
...
...
dlls/ntdll/ntdll.spec
View file @
6a27b488
...
...
@@ -1121,7 +1121,7 @@
# Server interface
@ cdecl -norelay wine_server_call(ptr)
@ cdecl wine_server_fd_to_handle(long long long ptr)
@ cdecl wine_server_handle_to_fd(long long ptr ptr
ptr
)
@ cdecl wine_server_handle_to_fd(long long ptr ptr)
@ cdecl wine_server_release_fd(long long)
@ cdecl wine_server_send_fd(long)
...
...
dlls/ntdll/server.c
View file @
6a27b488
...
...
@@ -460,14 +460,12 @@ int wine_server_fd_to_handle( int fd, unsigned int access, int inherit, obj_hand
* handle [I] Wine file handle.
* access [I] Win32 file access rights requested.
* unix_fd [O] Address where Unix file descriptor will be stored.
* type [O] Address where the file type will be stored. Optional.
* flags [O] Address where the Unix flags associated with file will be stored. Optional.
*
* RETURNS
* NTSTATUS code
*/
int
wine_server_handle_to_fd
(
obj_handle_t
handle
,
unsigned
int
access
,
int
*
unix_fd
,
enum
fd_type
*
type
,
int
*
flags
)
int
wine_server_handle_to_fd
(
obj_handle_t
handle
,
unsigned
int
access
,
int
*
unix_fd
,
int
*
flags
)
{
obj_handle_t
fd_handle
;
int
ret
,
fd
=
-
1
;
...
...
@@ -480,7 +478,6 @@ int wine_server_handle_to_fd( obj_handle_t handle, unsigned int access, int *uni
req
->
handle
=
handle
;
req
->
access
=
access
;
if
(
!
(
ret
=
wine_server_call
(
req
)))
fd
=
reply
->
fd
;
if
(
type
)
*
type
=
reply
->
type
;
if
(
flags
)
*
flags
=
reply
->
flags
;
}
SERVER_END_REQ
;
...
...
dlls/ntdll/virtual.c
View file @
6a27b488
...
...
@@ -1638,7 +1638,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HANDLE handle, HANDLE process, PVOID *addr_p
SERVER_END_REQ
;
if
(
res
)
return
res
;
if
((
res
=
wine_server_handle_to_fd
(
handle
,
0
,
&
unix_handle
,
NULL
,
NULL
)))
return
res
;
if
((
res
=
wine_server_handle_to_fd
(
handle
,
0
,
&
unix_handle
,
NULL
)))
return
res
;
if
(
NtQueryVolumeInformationFile
(
handle
,
&
io
,
&
device_info
,
sizeof
(
device_info
),
FileFsDeviceInformation
)
==
STATUS_SUCCESS
)
...
...
@@ -1651,7 +1651,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HANDLE handle, HANDLE process, PVOID *addr_p
int
shared_fd
;
if
((
res
=
wine_server_handle_to_fd
(
shared_file
,
GENERIC_READ
,
&
shared_fd
,
NULL
,
NULL
)))
goto
done
;
NULL
)))
goto
done
;
res
=
map_image
(
handle
,
unix_handle
,
base
,
size_low
,
header_size
,
shared_fd
,
removable
,
addr_ptr
);
wine_server_release_fd
(
shared_file
,
shared_fd
);
...
...
dlls/winedos/int13.c
View file @
6a27b488
...
...
@@ -122,7 +122,7 @@ static void INT13_ReadFloppyParams( CONTEXT86 *context )
h
=
CreateFileW
(
drive_root
,
GENERIC_READ
,
FILE_SHARE_READ
,
NULL
,
OPEN_EXISTING
,
FILE_FLAG_BACKUP_SEMANTICS
,
NULL
);
if
(
h
==
INVALID_HANDLE_VALUE
||
wine_server_handle_to_fd
(
h
,
GENERIC_READ
,
&
floppy_fd
,
NULL
,
NULL
))
wine_server_handle_to_fd
(
h
,
GENERIC_READ
,
&
floppy_fd
,
NULL
))
{
WARN
(
"Can't determine floppy geometry !
\n
"
);
INT13_SetStatus
(
context
,
0x07
);
/* drive parameter activity failed */
...
...
dlls/winedos/int21.c
View file @
6a27b488
...
...
@@ -908,7 +908,7 @@ static HANDLE INT21_OpenMagicDevice( LPCWSTR name, DWORD access )
struct
stat
st
;
if
(
!
(
handle
=
INT21_CreateMagicDeviceHandle
(
magic_devices
[
i
].
name
)))
return
0
;
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
);
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
);
fstat
(
fd
,
&
st
);
wine_server_release_fd
(
handle
,
fd
);
magic_devices
[
i
].
dev
=
st
.
st_dev
;
...
...
@@ -2684,7 +2684,7 @@ static void INT21_Ioctl_Char( CONTEXT86 *context )
int
status
,
i
,
fd
;
HANDLE
handle
=
DosFileHandleToWin32Handle
(
BX_reg
(
context
));
status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
);
status
=
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
);
if
(
status
)
{
SET_AX
(
context
,
RtlNtStatusToDosError
(
status
)
);
...
...
dlls/winsock/socket.c
View file @
6a27b488
...
...
@@ -315,7 +315,7 @@ inline static unsigned int set_error( unsigned int err )
inline
static
int
get_sock_fd
(
SOCKET
s
,
DWORD
access
,
int
*
flags
)
{
int
fd
;
if
(
set_error
(
wine_server_handle_to_fd
(
SOCKET2HANDLE
(
s
),
access
,
&
fd
,
NULL
,
flags
)
))
if
(
set_error
(
wine_server_handle_to_fd
(
SOCKET2HANDLE
(
s
),
access
,
&
fd
,
flags
)
))
return
-
1
;
return
fd
;
}
...
...
include/wine/server.h
View file @
6a27b488
...
...
@@ -53,8 +53,7 @@ struct __server_request_info
extern
unsigned
int
wine_server_call
(
void
*
req_ptr
);
extern
void
wine_server_send_fd
(
int
fd
);
extern
int
wine_server_fd_to_handle
(
int
fd
,
unsigned
int
access
,
int
inherit
,
obj_handle_t
*
handle
);
extern
int
wine_server_handle_to_fd
(
obj_handle_t
handle
,
unsigned
int
access
,
int
*
unix_fd
,
enum
fd_type
*
type
,
int
*
flags
);
extern
int
wine_server_handle_to_fd
(
obj_handle_t
handle
,
unsigned
int
access
,
int
*
unix_fd
,
int
*
flags
);
extern
void
wine_server_release_fd
(
obj_handle_t
handle
,
int
unix_fd
);
/* do a server call and set the last error code */
...
...
include/wine/server_protocol.h
View file @
6a27b488
...
...
@@ -792,15 +792,8 @@ struct get_handle_fd_reply
{
struct
reply_header
__header
;
int
fd
;
int
type
;
int
flags
;
};
enum
fd_type
{
FD_TYPE_INVALID
,
FD_TYPE_DEFAULT
,
FD_TYPE_SOCKET
};
#define FD_FLAG_OVERLAPPED 0x01
#define FD_FLAG_TIMEOUT 0x02
#define FD_FLAG_RECV_SHUTDOWN 0x04
...
...
@@ -3649,6 +3642,6 @@ union generic_reply
struct
set_global_windows_reply
set_global_windows_reply
;
};
#define SERVER_PROTOCOL_VERSION 14
8
#define SERVER_PROTOCOL_VERSION 14
9
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
misc/registry.c
View file @
6a27b488
...
...
@@ -1706,7 +1706,7 @@ static void init_cdrom_registry( HANDLE handle )
#ifdef HDIO_GET_DMA
{
int
fd
,
dma
;
if
(
!
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
,
NULL
))
if
(
!
wine_server_handle_to_fd
(
handle
,
0
,
&
fd
,
NULL
))
{
if
(
ioctl
(
fd
,
HDIO_GET_DMA
,
&
dma
)
!=
-
1
)
value
=
dma
;
wine_server_release_fd
(
handle
,
fd
);
...
...
server/fd.c
View file @
6a27b488
...
...
@@ -1117,11 +1117,10 @@ int no_flush( struct fd *fd, struct event **event )
}
/* default get_file_info() routine */
int
no_get_file_info
(
struct
fd
*
fd
,
int
*
flags
)
int
no_get_file_info
(
struct
fd
*
fd
)
{
set_error
(
STATUS_OBJECT_TYPE_MISMATCH
);
*
flags
=
0
;
return
FD_TYPE_INVALID
;
return
0
;
}
/* default queue_async() routine */
...
...
@@ -1168,7 +1167,6 @@ DECL_HANDLER(get_handle_fd)
struct
fd
*
fd
;
reply
->
fd
=
-
1
;
reply
->
type
=
FD_TYPE_INVALID
;
if
((
fd
=
get_handle_fd_obj
(
current
->
process
,
req
->
handle
,
req
->
access
)))
{
...
...
@@ -1179,7 +1177,7 @@ DECL_HANDLER(get_handle_fd)
assert
(
fd
->
unix_fd
!=
-
1
);
send_client_fd
(
current
->
process
,
fd
->
unix_fd
,
req
->
handle
);
}
reply
->
type
=
fd
->
fd_ops
->
get_file_info
(
fd
,
&
reply
->
flags
);
reply
->
flags
=
fd
->
fd_ops
->
get_file_info
(
fd
);
release_object
(
fd
);
}
}
...
...
server/file.c
View file @
6a27b488
...
...
@@ -69,7 +69,7 @@ static void file_destroy( struct object *obj );
static
int
file_get_poll_events
(
struct
fd
*
fd
);
static
void
file_poll_event
(
struct
fd
*
fd
,
int
event
);
static
int
file_flush
(
struct
fd
*
fd
,
struct
event
**
event
);
static
int
file_get_info
(
struct
fd
*
fd
,
int
*
flags
);
static
int
file_get_info
(
struct
fd
*
fd
);
static
void
file_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
);
static
const
struct
object_ops
file_ops
=
...
...
@@ -258,13 +258,12 @@ static int file_flush( struct fd *fd, struct event **event )
return
ret
;
}
static
int
file_get_info
(
struct
fd
*
fd
,
int
*
flags
)
static
int
file_get_info
(
struct
fd
*
fd
)
{
struct
file
*
file
=
get_fd_user
(
fd
);
*
flags
=
0
;
if
(
is_overlapped
(
file
))
*
flags
|=
FD_FLAG_OVERLAPPED
;
return
FD_TYPE_DEFAULT
;
if
(
is_overlapped
(
file
))
return
FD_FLAG_OVERLAPPED
;
else
return
0
;
}
static
void
file_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
)
...
...
server/file.h
View file @
6a27b488
...
...
@@ -37,7 +37,7 @@ struct fd_ops
/* flush the object buffers */
int
(
*
flush
)(
struct
fd
*
,
struct
event
**
);
/* get file information */
int
(
*
get_file_info
)(
struct
fd
*
,
int
*
flags
);
int
(
*
get_file_info
)(
struct
fd
*
);
/* queue an async operation - see register_async handler in async.c*/
void
(
*
queue_async
)(
struct
fd
*
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
);
};
...
...
@@ -64,7 +64,7 @@ extern void default_fd_remove_queue( struct object *obj, struct wait_queue_entry
extern
int
default_fd_signaled
(
struct
object
*
obj
,
struct
thread
*
thread
);
extern
void
default_poll_event
(
struct
fd
*
fd
,
int
event
);
extern
int
no_flush
(
struct
fd
*
fd
,
struct
event
**
event
);
extern
int
no_get_file_info
(
struct
fd
*
fd
,
int
*
flags
);
extern
int
no_get_file_info
(
struct
fd
*
fd
);
extern
void
no_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
);
extern
void
main_loop
(
void
);
...
...
server/named_pipe.c
View file @
6a27b488
...
...
@@ -125,7 +125,7 @@ static const struct object_ops named_pipe_ops =
/* common to clients and servers */
static
int
pipe_end_get_poll_events
(
struct
fd
*
fd
);
static
int
pipe_end_get_info
(
struct
fd
*
fd
,
int
*
flags
);
static
int
pipe_end_get_info
(
struct
fd
*
fd
);
/* server end functions */
static
void
pipe_server_dump
(
struct
object
*
obj
,
int
verbose
);
...
...
@@ -476,10 +476,9 @@ static int pipe_client_flush( struct fd *fd, struct event **event )
return
0
;
}
static
int
pipe_end_get_info
(
struct
fd
*
fd
,
int
*
flags
)
static
int
pipe_end_get_info
(
struct
fd
*
fd
)
{
*
flags
=
0
;
return
FD_TYPE_DEFAULT
;
return
0
;
}
static
struct
named_pipe
*
create_named_pipe
(
const
WCHAR
*
name
,
size_t
len
)
...
...
server/protocol.def
View file @
6a27b488
...
...
@@ -603,15 +603,8 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
unsigned int access; /* wanted access rights */
@REPLY
int fd; /* file descriptor */
int type; /* the type of file (see below) */
int flags; /* file read/write flags (see below) */
@END
enum fd_type
{
FD_TYPE_INVALID,
FD_TYPE_DEFAULT,
FD_TYPE_SOCKET
};
#define FD_FLAG_OVERLAPPED 0x01 /* fd opened in overlapped mode */
#define FD_FLAG_TIMEOUT 0x02 /* read/write is synchronous */
#define FD_FLAG_RECV_SHUTDOWN 0x04
...
...
server/serial.c
View file @
6a27b488
...
...
@@ -61,7 +61,7 @@ static void serial_destroy(struct object *obj);
static
int
serial_get_poll_events
(
struct
fd
*
fd
);
static
void
serial_poll_event
(
struct
fd
*
fd
,
int
event
);
static
int
serial_get_info
(
struct
fd
*
fd
,
int
*
flags
);
static
int
serial_get_info
(
struct
fd
*
fd
);
static
int
serial_flush
(
struct
fd
*
fd
,
struct
event
**
event
);
static
void
serial_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
);
...
...
@@ -201,22 +201,22 @@ static int serial_get_poll_events( struct fd *fd )
return
events
;
}
static
int
serial_get_info
(
struct
fd
*
fd
,
int
*
flags
)
static
int
serial_get_info
(
struct
fd
*
fd
)
{
int
flags
=
0
;
struct
serial
*
serial
=
get_fd_user
(
fd
);
assert
(
serial
->
obj
.
ops
==
&
serial_ops
);
*
flags
=
0
;
if
(
!
(
serial
->
options
&
(
FILE_SYNCHRONOUS_IO_ALERT
|
FILE_SYNCHRONOUS_IO_NONALERT
)))
*
flags
|=
FD_FLAG_OVERLAPPED
;
flags
|=
FD_FLAG_OVERLAPPED
;
else
if
(
!
(
serial
->
readinterval
==
MAXDWORD
&&
serial
->
readmult
==
0
&&
serial
->
readconst
==
0
))
*
flags
|=
FD_FLAG_TIMEOUT
;
if
(
serial
->
readinterval
==
MAXDWORD
&&
flags
|=
FD_FLAG_TIMEOUT
;
if
(
serial
->
readinterval
==
MAXDWORD
&&
serial
->
readmult
==
0
&&
serial
->
readconst
==
0
)
*
flags
|=
FD_FLAG_AVAILABLE
;
flags
|=
FD_FLAG_AVAILABLE
;
return
FD_TYPE_DEFAULT
;
return
flags
;
}
static
void
serial_poll_event
(
struct
fd
*
fd
,
int
event
)
...
...
server/sock.c
View file @
6a27b488
...
...
@@ -93,7 +93,7 @@ static void sock_destroy( struct object *obj );
static
int
sock_get_poll_events
(
struct
fd
*
fd
);
static
void
sock_poll_event
(
struct
fd
*
fd
,
int
event
);
static
int
sock_get_info
(
struct
fd
*
fd
,
int
*
flags
);
static
int
sock_get_info
(
struct
fd
*
fd
);
static
void
sock_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
);
static
int
sock_get_error
(
int
err
);
...
...
@@ -475,19 +475,19 @@ static int sock_get_poll_events( struct fd *fd )
return
ev
;
}
static
int
sock_get_info
(
struct
fd
*
fd
,
int
*
flags
)
static
int
sock_get_info
(
struct
fd
*
fd
)
{
int
flags
=
FD_FLAG_AVAILABLE
;
struct
sock
*
sock
=
get_fd_user
(
fd
);
assert
(
sock
->
obj
.
ops
==
&
sock_ops
);
*
flags
=
FD_FLAG_AVAILABLE
;
if
(
sock
->
flags
&
WSA_FLAG_OVERLAPPED
)
*
flags
|=
FD_FLAG_OVERLAPPED
;
if
(
sock
->
flags
&
WSA_FLAG_OVERLAPPED
)
flags
|=
FD_FLAG_OVERLAPPED
;
if
(
sock
->
type
!=
SOCK_STREAM
||
sock
->
state
&
FD_WINE_CONNECTED
)
{
if
(
!
(
sock
->
state
&
FD_READ
)
)
*
flags
|=
FD_FLAG_RECV_SHUTDOWN
;
if
(
!
(
sock
->
state
&
FD_WRITE
)
)
*
flags
|=
FD_FLAG_SEND_SHUTDOWN
;
if
(
!
(
sock
->
state
&
FD_READ
)
)
flags
|=
FD_FLAG_RECV_SHUTDOWN
;
if
(
!
(
sock
->
state
&
FD_WRITE
)
)
flags
|=
FD_FLAG_SEND_SHUTDOWN
;
}
return
FD_TYPE_SOCKET
;
return
flags
;
}
static
void
sock_queue_async
(
struct
fd
*
fd
,
void
*
ptr
,
unsigned
int
status
,
int
type
,
int
count
)
...
...
server/trace.c
View file @
6a27b488
...
...
@@ -890,7 +890,6 @@ static void dump_get_handle_fd_request( const struct get_handle_fd_request *req
static
void
dump_get_handle_fd_reply
(
const
struct
get_handle_fd_reply
*
req
)
{
fprintf
(
stderr
,
" fd=%d,"
,
req
->
fd
);
fprintf
(
stderr
,
" type=%d,"
,
req
->
type
);
fprintf
(
stderr
,
" flags=%d"
,
req
->
flags
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment