2 * daemon-messages.h: Communications to and from the handle daemon
5 * Dick Porter (dick@ximian.com)
7 * (C) 2002 Ximian, Inc.
10 #ifndef _WAPI_DAEMON_MESSAGES_H_
11 #define _WAPI_DAEMON_MESSAGES_H_
13 #include <mono/io-layer/wapi-private.h>
16 WapiHandleRequestType_Error,
17 WapiHandleRequestType_New,
18 WapiHandleRequestType_Open,
19 WapiHandleRequestType_Close,
20 WapiHandleRequestType_Scratch,
21 WapiHandleRequestType_ScratchFree,
22 WapiHandleRequestType_ProcessFork,
23 } WapiHandleRequestType;
28 } WapiHandleRequest_New;
33 } WapiHandleRequest_Open;
38 } WapiHandleRequest_Close;
43 } WapiHandleRequest_Scratch;
48 } WapiHandleRequest_ScratchFree;
56 guint32 stdout_handle;
57 guint32 stderr_handle;
60 } WapiHandleRequest_ProcessFork;
64 WapiHandleRequestType type;
67 WapiHandleRequest_New new;
68 WapiHandleRequest_Open open;
69 WapiHandleRequest_Close close;
70 WapiHandleRequest_Scratch scratch;
71 WapiHandleRequest_ScratchFree scratch_free;
72 WapiHandleRequest_ProcessFork process_fork;
77 WapiHandleResponseType_Error,
78 WapiHandleResponseType_New,
79 WapiHandleResponseType_Open,
80 WapiHandleResponseType_Close,
81 WapiHandleResponseType_Scratch,
82 WapiHandleResponseType_ScratchFree,
83 WapiHandleResponseType_ProcessFork,
84 } WapiHandleResponseType;
89 } WapiHandleResponse_Error;
95 } WapiHandleResponse_New;
101 } WapiHandleResponse_Open;
106 } WapiHandleResponse_Close;
111 } WapiHandleResponse_Scratch;
116 } WapiHandleResponse_ScratchFree;
120 guint32 process_handle;
121 guint32 thread_handle;
124 } WapiHandleResponse_ProcessFork;
128 WapiHandleResponseType type;
131 WapiHandleResponse_Error error;
132 WapiHandleResponse_New new;
133 WapiHandleResponse_Open open;
134 WapiHandleResponse_Close close;
135 WapiHandleResponse_Scratch scratch;
136 WapiHandleResponse_ScratchFree scratch_free;
137 WapiHandleResponse_ProcessFork process_fork;
139 } WapiHandleResponse;
141 extern void _wapi_daemon_request_response (int fd, WapiHandleRequest *req,
142 WapiHandleResponse *resp);
143 extern void _wapi_daemon_request_response_with_fds (int fd,
144 WapiHandleRequest *req,
145 WapiHandleResponse *resp,
146 int in_fd, int out_fd,
148 extern int _wapi_daemon_request (int fd, WapiHandleRequest *req, int *fds,
150 extern int _wapi_daemon_response (int fd, WapiHandleResponse *resp);
152 #endif /* _WAPI_DAEMON_MESSAGES_H_ */