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
b39a8d9e
Commit
b39a8d9e
authored
Aug 30, 2010
by
Eric Pouech
Committed by
Alexandre Julliard
Sep 01, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Enhanced the console input object so that it doesn't require a wineconsole to be running.
parent
258dba1a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
140 additions
and
31 deletions
+140
-31
server_protocol.h
include/wine/server_protocol.h
+3
-1
wineconsole.c
programs/wineconsole/wineconsole.c
+1
-0
console.c
server/console.c
+126
-27
debugger.c
server/debugger.c
+6
-2
protocol.def
server/protocol.def
+1
-0
request.h
server/request.h
+2
-1
trace.c
server/trace.c
+1
-0
No files found.
include/wine/server_protocol.h
View file @
b39a8d9e
...
@@ -1426,6 +1426,8 @@ struct alloc_console_request
...
@@ -1426,6 +1426,8 @@ struct alloc_console_request
unsigned
int
access
;
unsigned
int
access
;
unsigned
int
attributes
;
unsigned
int
attributes
;
process_id_t
pid
;
process_id_t
pid
;
int
input_fd
;
char
__pad_28
[
4
];
};
};
struct
alloc_console_reply
struct
alloc_console_reply
{
{
...
@@ -5504,6 +5506,6 @@ union generic_reply
...
@@ -5504,6 +5506,6 @@ union generic_reply
struct
set_cursor_reply
set_cursor_reply
;
struct
set_cursor_reply
set_cursor_reply
;
};
};
#define SERVER_PROTOCOL_VERSION 40
4
#define SERVER_PROTOCOL_VERSION 40
5
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
#endif
/* __WINE_WINE_SERVER_PROTOCOL_H */
programs/wineconsole/wineconsole.c
View file @
b39a8d9e
...
@@ -596,6 +596,7 @@ static struct inner_data* WINECON_Init(HINSTANCE hInst, DWORD pid, LPCWSTR appna
...
@@ -596,6 +596,7 @@ static struct inner_data* WINECON_Init(HINSTANCE hInst, DWORD pid, LPCWSTR appna
req
->
access
=
GENERIC_READ
|
GENERIC_WRITE
;
req
->
access
=
GENERIC_READ
|
GENERIC_WRITE
;
req
->
attributes
=
0
;
req
->
attributes
=
0
;
req
->
pid
=
pid
;
req
->
pid
=
pid
;
req
->
input_fd
=
-
1
;
ret
=
!
wine_server_call_err
(
req
);
ret
=
!
wine_server_call_err
(
req
);
data
->
hConIn
=
wine_server_ptr_handle
(
reply
->
handle_in
);
data
->
hConIn
=
wine_server_ptr_handle
(
reply
->
handle_in
);
...
...
server/console.c
View file @
b39a8d9e
This diff is collapsed.
Click to expand it.
server/debugger.c
View file @
b39a8d9e
...
@@ -426,8 +426,12 @@ static int debugger_attach( struct process *process, struct thread *debugger )
...
@@ -426,8 +426,12 @@ static int debugger_attach( struct process *process, struct thread *debugger )
if
(
list_empty
(
&
process
->
thread_list
))
goto
error
;
/* no thread running in the process */
if
(
list_empty
(
&
process
->
thread_list
))
goto
error
;
/* no thread running in the process */
/* don't let a debugger debug its console... won't work */
/* don't let a debugger debug its console... won't work */
if
(
debugger
->
process
->
console
&&
console_get_renderer
(
debugger
->
process
->
console
)
->
process
==
process
)
if
(
debugger
->
process
->
console
)
goto
error
;
{
struct
thread
*
renderer
=
console_get_renderer
(
debugger
->
process
->
console
);
if
(
renderer
&&
renderer
->
process
==
process
)
goto
error
;
}
suspend_process
(
process
);
suspend_process
(
process
);
if
(
!
set_process_debugger
(
process
,
debugger
))
if
(
!
set_process_debugger
(
process
,
debugger
))
...
...
server/protocol.def
View file @
b39a8d9e
...
@@ -1137,6 +1137,7 @@ enum server_fd_type
...
@@ -1137,6 +1137,7 @@ enum server_fd_type
unsigned int access; /* wanted access rights */
unsigned int access; /* wanted access rights */
unsigned int attributes; /* object attributes */
unsigned int attributes; /* object attributes */
process_id_t pid; /* pid of process which shall be attached to the console */
process_id_t pid; /* pid of process which shall be attached to the console */
int input_fd; /* if pid=-1 (bare console to current process), fd for input */
@REPLY
@REPLY
obj_handle_t handle_in; /* handle to console input */
obj_handle_t handle_in; /* handle to console input */
obj_handle_t event; /* handle to renderer events change notification */
obj_handle_t event; /* handle to renderer events change notification */
...
...
server/request.h
View file @
b39a8d9e
...
@@ -954,7 +954,8 @@ C_ASSERT( sizeof(struct set_socket_deferred_request) == 24 );
...
@@ -954,7 +954,8 @@ C_ASSERT( sizeof(struct set_socket_deferred_request) == 24 );
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
access
)
==
12
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
access
)
==
12
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
attributes
)
==
16
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
attributes
)
==
16
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
pid
)
==
20
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
pid
)
==
20
);
C_ASSERT
(
sizeof
(
struct
alloc_console_request
)
==
24
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_request
,
input_fd
)
==
24
);
C_ASSERT
(
sizeof
(
struct
alloc_console_request
)
==
32
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_reply
,
handle_in
)
==
8
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_reply
,
handle_in
)
==
8
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_reply
,
event
)
==
12
);
C_ASSERT
(
FIELD_OFFSET
(
struct
alloc_console_reply
,
event
)
==
12
);
C_ASSERT
(
sizeof
(
struct
alloc_console_reply
)
==
16
);
C_ASSERT
(
sizeof
(
struct
alloc_console_reply
)
==
16
);
...
...
server/trace.c
View file @
b39a8d9e
...
@@ -1588,6 +1588,7 @@ static void dump_alloc_console_request( const struct alloc_console_request *req
...
@@ -1588,6 +1588,7 @@ static void dump_alloc_console_request( const struct alloc_console_request *req
fprintf
(
stderr
,
" access=%08x"
,
req
->
access
);
fprintf
(
stderr
,
" access=%08x"
,
req
->
access
);
fprintf
(
stderr
,
", attributes=%08x"
,
req
->
attributes
);
fprintf
(
stderr
,
", attributes=%08x"
,
req
->
attributes
);
fprintf
(
stderr
,
", pid=%04x"
,
req
->
pid
);
fprintf
(
stderr
,
", pid=%04x"
,
req
->
pid
);
fprintf
(
stderr
,
", input_fd=%d"
,
req
->
input_fd
);
}
}
static
void
dump_alloc_console_reply
(
const
struct
alloc_console_reply
*
req
)
static
void
dump_alloc_console_reply
(
const
struct
alloc_console_reply
*
req
)
...
...
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