Added server snapshot support (processes only for now).
diff --git a/include/server/object.h b/include/server/object.h
index 7fd65b8..7cca596 100644
--- a/include/server/object.h
+++ b/include/server/object.h
@@ -20,6 +20,7 @@
struct object;
struct object_name;
struct thread;
+struct process;
struct file;
struct wait_queue_entry;
@@ -119,42 +120,6 @@
extern int send_reply_v( int client_fd, int type, int pass_fd,
struct iovec *vec, int veclen );
-/* process functions */
-
-struct process;
-
-extern struct process *create_process(void);
-extern struct process *get_process_from_id( void *id );
-extern struct process *get_process_from_handle( int handle, unsigned int access );
-extern void add_process_thread( struct process *process,
- struct thread *thread );
-extern void remove_process_thread( struct process *process,
- struct thread *thread );
-extern void kill_process( struct process *process, int exit_code );
-extern void get_process_info( struct process *process,
- struct get_process_info_reply *reply );
-extern void set_process_info( struct process *process,
- struct set_process_info_request *req );
-extern int alloc_console( struct process *process );
-extern int free_console( struct process *process );
-extern struct object *get_console( struct process *process, int output );
-
-/* handle functions */
-
-/* alloc_handle takes a void *obj for convenience, but you better make sure */
-/* that the thing pointed to starts with a struct object... */
-extern int alloc_handle( struct process *process, void *obj,
- unsigned int access, int inherit );
-extern int close_handle( struct process *process, int handle );
-extern int set_handle_info( struct process *process, int handle,
- int mask, int flags );
-extern struct object *get_handle_obj( struct process *process, int handle,
- unsigned int access, const struct object_ops *ops );
-extern int duplicate_handle( struct process *src, int src_handle, struct process *dst,
- int dst_handle, unsigned int access, int inherit, int options );
-extern int open_object( const char *name, const struct object_ops *ops,
- unsigned int access, int inherit );
-
/* event functions */
extern struct object *create_event( const char *name, int manual_reset, int initial_state );
@@ -232,6 +197,10 @@
extern struct object *create_device( int id );
+/* snapshot functions */
+extern struct object *create_snapshot( int flags );
+extern int snapshot_next_process( int handle, int reset, struct next_process_reply *reply );
+
extern int debug_level;
#endif /* __WINE_SERVER_OBJECT_H */
diff --git a/include/server/request.h b/include/server/request.h
index 4f6dc26..53dcc1b 100644
--- a/include/server/request.h
+++ b/include/server/request.h
@@ -53,6 +53,8 @@
REQ_CREATE_MAPPING,
REQ_GET_MAPPING_INFO,
REQ_CREATE_DEVICE,
+ REQ_CREATE_SNAPSHOT,
+ REQ_NEXT_PROCESS,
REQ_NB_REQUESTS
};
@@ -109,6 +111,8 @@
DECL_HANDLER(create_mapping);
DECL_HANDLER(get_mapping_info);
DECL_HANDLER(create_device);
+DECL_HANDLER(create_snapshot);
+DECL_HANDLER(next_process);
static const struct handler {
void (*handler)();
@@ -162,6 +166,8 @@
{ (void(*)())req_create_mapping, sizeof(struct create_mapping_request) },
{ (void(*)())req_get_mapping_info, sizeof(struct get_mapping_info_request) },
{ (void(*)())req_create_device, sizeof(struct create_device_request) },
+ { (void(*)())req_create_snapshot, sizeof(struct create_snapshot_request) },
+ { (void(*)())req_next_process, sizeof(struct next_process_request) },
};
#endif /* WANT_REQUEST_HANDLERS */