Alexandre Julliard
0f273c17ff
server: Added data_size_t type to represent sizes in the server protocol.
...
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
3396a66ee7
server: Retrieve the groups for a token from the server.
2006-05-15 14:25:43 +02:00
Mike McCormack
0193211946
server: Fill in NtNotifyChangeDirectoryFile's buffer with change data.
2006-02-06 11:58:55 +01:00
Mike McCormack
08351071fd
server: Fix the file notification interface to use directory handles.
2006-01-27 12:13:56 +01:00
Robert Shearman
a40ce39340
user: Fix WM_QUIT message ordering from PostQuitMessage.
...
Added a new server call as PostQuitMessage should set a flag in the
message queue to return the WM_QUIT message when there are no other
pending messages, rather than posting a message to the thread queue as
it does at the moment.
2006-01-17 13:14:31 +01:00
Alexandre Julliard
67505c00af
server: Support for opening devices.
...
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Vitaliy Margolen
80444dfe51
Implement symbolic link object in wineserver.
...
Implement Nt[Create|Open|Query]SymbolicLinkObject.
Change tests accordingly.
2005-11-30 19:22:57 +01:00
Vitaliy Margolen
3c6bdcce53
Implement directory object in wineserver.
...
Implement Nt[Create|Open]DirectoryObject.
Change tests accordingly.
2005-11-29 17:21:05 +01:00
Alexandre Julliard
ead9b062e3
Added a struct unicode_str to encapsulate object names.
2005-11-18 16:31:18 +00:00
Alexandre Julliard
f62f6e8fe1
Don't cache file descriptors open on removable devices.
2005-08-24 18:33:50 +00:00
Alexandre Julliard
38502f70eb
Added a separate set_handle_cached_fd request instead of abusing
...
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard
964815bc42
Added an unmount_device request that invalidates all file descriptors
...
open on a given Unix device.
2005-08-08 15:11:03 +00:00
Robert Shearman
91eaea53ae
- Change the default user SID to match what was previously returned by
...
NtQueryInformationToken.
- Implement TokenUser for NtQueryInformationToken.
- Add a function for getting the user's registry path from a SID.
2005-07-18 13:22:55 +00:00
Alexandre Julliard
9ad5628639
Moved the server start time to the init_thread request and got rid of
...
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard
4391be583e
Get rid of the boot_done request.
2005-07-13 14:20:13 +00:00
Alexandre Julliard
6aa0cc5e3c
Load the HKEY_CURRENT_USER branch at server startup too.
2005-07-11 20:44:59 +00:00
Alexandre Julliard
8c518808b8
Put in place the basic infrastructure to allow supporting multiple
...
desktop windows.
2005-07-08 11:37:40 +00:00
Alexandre Julliard
1bf96e09a9
Beginnings of support for window stations and desktops.
2005-06-08 18:44:50 +00:00
Robert Shearman
4ad93416a8
Implement NtAccessCheck.
2005-05-24 12:32:18 +00:00
Eric Pouech
e6267369b2
- changed ATOM support in wineserver to match NTDLL needs
...
- adapted accordingly kernel32 atom support
2005-05-10 15:15:50 +00:00
Mike McCormack
abe70f7648
Implemented GetLastInputInfo.
2005-04-28 12:04:14 +00:00
Robert Shearman
d2ea92d14e
- Clean up well-known privileges.
...
- Implement checking tokens for privileges in the server.
- Implement NtPrivilegeCheck.
2005-04-22 21:17:15 +00:00
Mike McCormack
2ab6a775bd
Implement mailslots.
2005-03-30 19:02:15 +00:00
Alexandre Julliard
4d32a475a8
Replace the link_window request by a set_parent request since that is
...
all link_window is used for at this point.
Get rid of the WIN_LinkWindow/UnlinkWindow functions.
2005-03-25 10:38:56 +00:00
Alexandre Julliard
0bc8377bc2
Create a new server request for accepting hardware messages instead of
...
abusing reply_message.
Allow passing the determined window for a hardware message back to the
server to have it redispatch the message to the correct thread.
2005-03-23 10:33:17 +00:00
Alexandre Julliard
5054c79880
Try to always keep the server window Z-order in sync with the X11 one
...
using a heuristic based on mouse and expose events.
2005-03-21 12:37:00 +00:00
Robert Shearman
b0f02b28b9
- Implement AdjustTokenPrivileges, DuplicateTokenEx and
...
GetTokenInformation (for the TokenPrivileges case).
- Return STATUS_NO_TOKEN for OpenThreadToken when there is no token
set for the thread.
2005-02-11 11:52:06 +00:00
Eric Pouech
4634447d6b
- got rid of include/async.h
...
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Robert Shearman
7572b125b5
Implement NtQueryTimer.
2004-12-13 21:10:58 +00:00
Alexandre Julliard
5defa49979
Moved update region handling to the server.
2004-12-07 17:31:53 +00:00
Alexandre Julliard
4616dcb9a7
Moved the WindowFromPoint functionality to the server so that we can
...
properly take into account the window region.
2004-07-20 22:17:38 +00:00
Alexandre Julliard
618a7e5813
Added support for window regions in the server.
2004-06-29 03:53:25 +00:00
Alexandre Julliard
e8d86b7cd4
Moved visible region calculation to the server.
2004-06-23 20:44:58 +00:00
Alexandre Julliard
8c29b5f0cc
Removed the no longer used SMB file I/O support, we can't do reliable
...
file I/O in user space anyway.
2004-05-14 22:24:48 +00:00
Alexandre Julliard
c07ce0571e
Moved loading of the home registry files to the server, there's no
...
real need to make these configurable.
2004-05-07 04:13:21 +00:00
Alexandre Julliard
72f87b8c06
Use pread/pwrite everywhere to avoid changing the file position while
...
the client is using it.
Get rid of the no longer used truncate_file request.
2004-05-01 02:50:06 +00:00
Alexandre Julliard
18c08d307a
Removed the get_file_info request.
2004-04-08 19:09:04 +00:00
Alexandre Julliard
db4517010b
Handle the set_file_pointer request on the client side.
2004-04-07 22:02:09 +00:00
Alexandre Julliard
a1fe8b4f24
Use futimes() instead of utime() to implement SetFileTime, so that it
...
can be done on the client side.
2004-03-27 01:48:52 +00:00
Alexandre Julliard
adc0610db7
Make the standard create_file request handle serial ports too, and
...
remove the create_serial request.
2004-03-18 04:08:48 +00:00
Alexandre Julliard
db692c8f39
Open a real file handle for drive devices, and get rid of the server
...
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00
Mike Hearn
43cb03be3a
Implemented RegFlushKey and NtFlushKey.
2004-01-03 00:38:30 +00:00
Alexandre Julliard
bfce151ae5
Added window classes in the server, and support for inter-process
...
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.
2003-12-10 04:08:06 +00:00
Alexandre Julliard
8d174d3f47
Store the global shell, progman and taskman windows in the server
...
(based on a patch by Martin Fuchs).
2003-10-07 03:40:23 +00:00
Mike McCormack
5ac945c021
Implement registry key unloading.
2003-08-19 03:08:17 +00:00
Mike McCormack
36cd6f5dbb
Added a security token object in wineserver.
2003-07-24 00:07:00 +00:00
Ulrich Czekalla
b2df5f9f19
- use global atoms for the format ids
...
- add timeout when calling XCheckTypedWindowEvent
- fix broken IsClipboardFormatAvailable; it tried to do a trick with
EnumClipboardFormats by making incorrect assumptions
- in X11DRV_IsClipboardFormatAvailable do a quick exit if no one owns
the selection
- add 1 second *minimum* time lapse between XSelectionOwner calls
- sync clipboard ownership between different wine processes
- prevents apps from getting into wierd state where they thought they
didn't own the selection but they did and as a result queried
themselves for available selection data
2003-06-23 23:02:02 +00:00
Eric Pouech
412d37f6e6
- adapted kernel32 so that it no longer (directly) manages console
...
handles as wineserver handles
- console input handle object is no longer waitable (input record
synchronisation is now implemented as a simple semaphore), and removed
FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
(CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
(FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Eric Pouech
c00a4473bd
Implement anonymous pipes on top of named pipes.
2003-05-20 04:32:53 +00:00
Alexandre Julliard
3e588e3a57
Implemented file change notifications, based on a patch by Mike
...
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Eric Pouech
2359b57574
- no longer depend on toolhelp definitions for generating snapshots
...
- added get_dll_info request
2003-01-09 00:01:28 +00:00
Alexandre Julliard
8ba666f3a7
Store the keyboard state in the thread input structure on the server
...
side.
2003-01-08 19:56:31 +00:00
Mike McCormack
11f4b44451
Implemented registry change notifications.
2002-11-25 02:47:32 +00:00
Alexandre Julliard
0286135de3
Rewrote hook support to store the hook chain in the server.
...
Split off 16-bit hook functions and re-implemented them on top of the
32-bit ones; system-wide 16-bit hooks are no longer supported at this
point.
2002-10-29 00:41:42 +00:00
Alexandre Julliard
11e3523949
Rewrote caret implementation to store the information in the server.
2002-10-17 01:24:33 +00:00
Alexandre Julliard
a9e8f59c95
Moved mouse capture handling into the server.
2002-10-12 01:24:37 +00:00
Alexandre Julliard
5030bda77c
Reimplemented Get/SetActiveWindow, Get/SetFocus and
...
Get/SetForegroundWindow by storing the information in the
server. Implemented correct inter-process window activation.
2002-10-11 23:41:06 +00:00
Alexandre Julliard
ab5063b217
Added server-side infrastructure for the thread input structure.
...
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().
2002-10-11 18:50:15 +00:00
Alexandre Julliard
40043ed26f
Added -k option to kill an existing wineserver.
2002-08-16 20:02:15 +00:00
Alexandre Julliard
4144b5b8fc
Create the server directory and socket file in /tmp.
...
Use fcntl file locking to ensure exclusion on the server socket and to
better recover from crashes.
Flush the registry before closing the socket to avoid timeouts on the
client side.
Moved get_config_dir functionality to libwine.
2002-06-20 23:21:27 +00:00
Eric Pouech
93bfa0d6b1
Implementation for console control events (includes process groups
...
support).
2002-06-02 21:22:22 +00:00
Alexandre Julliard
5188574984
Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h.
2002-05-30 20:12:58 +00:00
Martin Wilck
d15bf1c0fe
Fixed handling of deferred connections in WSAAccept().
2002-04-23 22:03:42 +00:00
Chris Morgan
417296c4af
Implement OpenThread() winapi call.
...
Implement a few pthreads functions.
2002-04-02 00:49:05 +00:00
Alexandre Julliard
6543a6522a
Transfer the full process startup info as well as the command-line
...
through the server.
2002-03-29 18:28:56 +00:00
Mike McCormack
fc93261150
Begin to make wine an SMB client.
2002-03-12 19:24:04 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard
3c4538c8db
Reimplemented DebugBreakProcess.
2002-02-27 01:55:02 +00:00
Eric Pouech
fbccb38e18
New XP debugging APIs: implemented DebugActiveProcessStop,
...
DebugSetProcessKillOnExit, DebugBreakProcess.
2002-02-27 01:28:30 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech
0b83d4cbc6
New console code based on Win32 windows.
2001-11-23 23:04:58 +00:00
Alexandre Julliard
805bdc53e8
Store the window caption text in the server.
...
Maintain a paint count separately for each window.
2001-11-13 22:23:48 +00:00
Alexandre Julliard
ddc3317b7a
Store in the server all the window information accessible with
...
Get/SetWindowLong.
2001-10-22 19:08:33 +00:00
Alexandre Julliard
516e40e154
Make sure that GetMessagePos and GetMessageTime return sane values
...
for all messages.
2001-10-17 17:48:49 +00:00
Alexandre Julliard
0d50965a13
Added requests to store window rectangles in the server.
2001-10-16 21:55:37 +00:00
Alexandre Julliard
7a2017dd65
Store window properties in the server. Moved property.c to dlls/user.
2001-10-12 19:10:26 +00:00
Alexandre Julliard
003f02b733
Removed the cleanup_window_queue request.
2001-10-11 20:50:10 +00:00
Alexandre Julliard
a09da0cbbd
Added proper support for storing window parents in the server.
...
Added a few requests to query the window hierarchy.
2001-09-21 21:08:40 +00:00
Alexandre Julliard
1a66d226eb
Added global management of user handles in the server.
...
Very preliminary support for shared window handles.
2001-08-28 18:44:52 +00:00
Mike McCormack
f2e7ce7f6a
Implemented GetNamedPipeInfo.
2001-08-27 19:03:42 +00:00
Mike McCormack
bf55457f24
Implement WaitNamedPipe and DisconnectNamedPipe.
...
Add a state for each pipe handle in the server.
Create a socket on when the pipe is opened, not before.
2001-08-23 23:29:20 +00:00
Alexandre Julliard
d253c58b1b
Rewrote most of SendMessage/PeekMessage.
...
Implemented inter-process messaging.
Moved most message routines to dlls/user, and split off 16-bit
routines to a separate file.
2001-08-07 19:19:08 +00:00
Alexandre Julliard
37ec927536
Use the new protocol.def file to build the request structures.
...
Define protocol structures in a separate server_protocol.h file.
Removed __WINE_SERVER__ checks now that all includes are in the right
directory.
2001-07-19 00:35:37 +00:00
Mike McCormack
de7c3003e2
Start implementing named pipes.
2001-07-10 19:16:49 +00:00
Alexandre Julliard
4b0343dc5f
Moved queue paint count to the server. Removed a few no longer used
...
routines.
2001-06-20 22:55:31 +00:00
Alexandre Julliard
51ab43bd13
Moved the major part of message queue and window timer handling into
...
the server.
Implemented MsgWaitForMultipleObjectsEx.
2001-05-18 22:51:56 +00:00
Michael McCormack
1c32a46d5a
Use poll() on the client-side during server waits to implement
...
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard
e5dedb1906
Added support for nested server waits (to allow waiting in signal
...
handlers).
2001-03-08 01:16:41 +00:00
Alexandre Julliard
8859d77279
Create the server pipes on the client side and transfer them to the
...
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard
f52424055f
New mechanism to transfer file descriptors from client to server.
2001-02-28 21:45:23 +00:00
Alexandre Julliard
d90e964cee
Added separate server pipe to wait on blocking server calls.
...
Send the complete request/reply through the request fifo instead of
just a dummy byte.
Convert error status to text in server reply tracing.
2001-02-21 04:21:50 +00:00
Alexandre Julliard
5f195f8c01
Small server protocol cleanups.
2001-02-20 23:45:07 +00:00
Alexandre Julliard
e939eae00b
Made exception_event_request non-blocking, and added
...
get_exception_status to retrieve the exception result returned by the
debugger.
2001-01-26 20:45:41 +00:00
Alexandre Julliard
e9936d96e1
Changed wait_process and wait_debug_event requests to never block;
...
waiting is always done through WaitForSingleObject().
2001-01-26 00:22:26 +00:00
Alexandre Julliard
8081e5a1e5
Added handle_t type to server interface so that we can make handles
...
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
d549f6909e
Use a separate FIFO pair for server requests that don't need to pass a
...
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +00:00
Alexandre Julliard
0b6a79c961
Converted enum_key_value request to the new request mechanism.
2000-12-15 20:57:00 +00:00
Mike McCormack
1eac1911c7
- created server object for handling async i/o
...
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +00:00
Alexandre Julliard
454355ece1
Convert NtQueryKey and NtEnumerateKey to the new request mechanism.
...
Fixed a few bugs.
2000-10-02 03:46:58 +00:00
Alexandre Julliard
bcf393a5e5
Converted some of the registry server requests to the new request
...
mechanism.
2000-10-01 01:44:50 +00:00
Mike McCormack
654fcc721b
Implemented SetCommMask, SetCommTimeouts, GetCommMask, GetCommTimeouts.
2000-09-16 20:55:12 +00:00
Mike McCormack
44b5bf5998
Added serial port object to the server.
2000-09-07 18:39:51 +00:00
Alexandre Julliard
9c2370bd75
Added exception handling wrapper to a number of server requests.
...
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard
8611353053
Added the data structures and macros that will be needed to support
...
reentrant server requests.
2000-08-29 03:54:30 +00:00
Alexandre Julliard
6c8d9171cd
Added a real root key and simplified creation of the HKEY_* special root keys.
...
Do not prefix all keys with the name of the top key when saving to a file.
Try to load $WINEPREFIX/config into the Wine config branch at startup.
2000-08-26 04:40:07 +00:00
Alexandre Julliard
ea1afcef49
Added APC support in waitable timers.
2000-08-22 20:08:37 +00:00
Turchanov Sergei
43a27e3696
Implemented local atoms in the server.
2000-05-30 20:32:06 +00:00
Alexandre Julliard
c5e433a3a6
Moved idle event handling to the server.
2000-05-30 19:48:18 +00:00
Alexandre Julliard
5b4f3e8d6d
Rewrote Unix process launching to allow passing startup information to
...
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard
07d8446918
Implemented thread and (partial) module snapshots, based on the work
...
of Andreas Mohr <amohr@student.ei.uni-stuttgart.de>.
2000-04-16 19:45:05 +00:00
Alexandre Julliard
c970904c2c
Save the registry on server exit without client intervention.
...
Removed "alt" registry files since we now have symlinks and
WINEPREFIX to replace them.
2000-04-16 17:21:13 +00:00
Alexandre Julliard
ef88637f5b
Made request tracing more robust against bogus lengths.
2000-04-04 19:33:27 +00:00
Alexandre Julliard
12f29b5076
Have threads and processes exit more cleanly whenever possible.
2000-03-17 15:16:57 +00:00
Alexandre Julliard
ea0d028a0b
Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
...
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
2000-03-10 22:16:10 +00:00
Alexandre Julliard
05f0b71bb3
Store the list of loaded dlls in the server, and generate debug events
...
internally.
2000-03-09 18:18:41 +00:00
Alexandre Julliard
b849d79104
Moved global atoms to the server (based on the work of Sergei
...
Turchanov <turchanov@otvprim.ru>).
2000-02-13 13:56:13 +00:00
Alexandre Julliard
0a7c1f6c5b
Implemented GetThreadSelectorEntry through the server.
2000-01-27 02:54:17 +00:00
Alexandre Julliard
2fe57779fb
Made the server listen for new clients on a Unix socket in
...
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Alexandre Julliard
3e2517caa7
Added Get/SetThreadContext support through the server.
2000-01-20 18:59:03 +00:00
Alexandre Julliard
9de03f4f6a
Made sleep_on usable from all requests.
2000-01-04 02:23:38 +00:00
Alexandre Julliard
1dca5e24c7
Moved poll handling to the generic part of the server objects.
...
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
2000-01-01 00:56:27 +00:00
Alexandre Julliard
ad47a30f5e
Implemented waitable timers.
1999-11-29 01:58:35 +00:00
Alexandre Julliard
d7e85d6631
Added registry support to the server.
1999-11-23 19:39:11 +00:00
Alexandre Julliard
eef7025ef8
Added support for WriteProcessMemory through the server.
1999-11-13 19:54:54 +00:00
Alexandre Julliard
8b8828f578
Added support for ReadProcessMemory through the server.
1999-11-12 21:39:14 +00:00
Alexandre Julliard
ec7bb2391d
Added support for CREATE_SUSPENDED flag in CreateProcess.
1999-11-12 03:35:25 +00:00
Ove Kaaven
019211f864
Added socket interface to wineserver.
1999-10-13 16:05:37 +00:00
Alexandre Julliard
ebe29ef376
Further server optimizations:
...
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard
5bc78089db
Made server communication faster by using a shared memory block.
...
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00