Server reorganization:
[wine] / server / process.h
1 /*
2  * Wine server processes
3  *
4  * Copyright (C) 1999 Alexandre Julliard
5  */
6
7 #ifndef __WINE_SERVER_PROCESS_H
8 #define __WINE_SERVER_PROCESS_H
9
10 #ifndef __WINE_SERVER__
11 #error This file can only be used in the Wine server
12 #endif
13
14 #include "object.h"
15
16 /* process structures */
17
18 struct process;
19 struct handle_table;
20
21 struct process_snapshot
22 {
23     struct process *process;  /* process ptr */
24     struct process *parent;   /* process parent */
25     int             threads;  /* number of threads */
26     int             priority; /* priority class */
27 };
28
29 /* process functions */
30
31 extern struct process *create_initial_process(void);
32 extern struct process *get_process_from_id( void *id );
33 extern struct process *get_process_from_handle( int handle, unsigned int access );
34 extern struct handle_table *get_process_handles( struct process *process );
35 extern void add_process_thread( struct process *process,
36                                 struct thread *thread );
37 extern void remove_process_thread( struct process *process,
38                                    struct thread *thread );
39 extern int alloc_console( struct process *process );
40 extern int free_console( struct process *process );
41 extern struct object *get_console( struct process *process, int output );
42 extern struct process_snapshot *process_snap( int *count );
43
44 #endif  /* __WINE_SERVER_PROCESS_H */