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_ProcessKill,
24 WapiHandleRequestType_GetOrSetShare,
25 WapiHandleRequestType_SetShare
26 } WapiHandleRequestType;
31 } WapiHandleRequest_New;
36 } WapiHandleRequest_Open;
41 } WapiHandleRequest_Close;
46 } WapiHandleRequest_Scratch;
51 } WapiHandleRequest_ScratchFree;
59 guint32 stdout_handle;
60 guint32 stderr_handle;
63 } WapiHandleRequest_ProcessFork;
68 } WapiHandleRequest_ProcessKill;
74 guint32 new_sharemode;
76 } WapiHandleRequest_GetOrSetShare;
84 } WapiHandleRequest_SetShare;
88 WapiHandleRequestType type;
91 WapiHandleRequest_New new;
92 WapiHandleRequest_Open open;
93 WapiHandleRequest_Close close;
94 WapiHandleRequest_Scratch scratch;
95 WapiHandleRequest_ScratchFree scratch_free;
96 WapiHandleRequest_ProcessFork process_fork;
97 WapiHandleRequest_ProcessKill process_kill;
98 WapiHandleRequest_GetOrSetShare get_or_set_share;
99 WapiHandleRequest_SetShare set_share;
104 WapiHandleResponseType_Error,
105 WapiHandleResponseType_New,
106 WapiHandleResponseType_Open,
107 WapiHandleResponseType_Close,
108 WapiHandleResponseType_Scratch,
109 WapiHandleResponseType_ScratchFree,
110 WapiHandleResponseType_ProcessFork,
111 WapiHandleResponseType_ProcessKill,
112 WapiHandleResponseType_GetOrSetShare,
113 WapiHandleResponseType_SetShare
114 } WapiHandleResponseType;
119 } WapiHandleResponse_Error;
125 } WapiHandleResponse_New;
131 } WapiHandleResponse_Open;
136 } WapiHandleResponse_Close;
142 } WapiHandleResponse_Scratch;
147 } WapiHandleResponse_ScratchFree;
151 guint32 process_handle;
152 guint32 thread_handle;
155 } WapiHandleResponse_ProcessFork;
160 } WapiHandleResponse_ProcessKill;
167 } WapiHandleResponse_GetOrSetShare;
172 } WapiHandleResponse_SetShare;
176 WapiHandleResponseType type;
179 WapiHandleResponse_Error error;
180 WapiHandleResponse_New new;
181 WapiHandleResponse_Open open;
182 WapiHandleResponse_Close close;
183 WapiHandleResponse_Scratch scratch;
184 WapiHandleResponse_ScratchFree scratch_free;
185 WapiHandleResponse_ProcessFork process_fork;
186 WapiHandleResponse_ProcessKill process_kill;
187 WapiHandleResponse_GetOrSetShare get_or_set_share;
188 WapiHandleResponse_SetShare set_share;
190 } WapiHandleResponse;
192 extern void _wapi_daemon_request_response (int fd, WapiHandleRequest *req,
193 WapiHandleResponse *resp);
194 extern void _wapi_daemon_request_response_with_fds (int fd,
195 WapiHandleRequest *req,
196 WapiHandleResponse *resp,
197 int in_fd, int out_fd,
199 extern int _wapi_daemon_request (int fd, WapiHandleRequest *req, int *fds,
201 extern int _wapi_daemon_response (int fd, WapiHandleResponse *resp);
203 #endif /* _WAPI_DAEMON_MESSAGES_H_ */