1 #ifndef _asl_ipc_user_
2 #define _asl_ipc_user_
3
4 /* Module asl_ipc */
5
6 #include <sys/cdefs.h>
7 #include <sys/types.h>
8 #ifdef _KERNEL
9 #include <sys/mach/ndr.h>
10 #include <sys/mach/kern_return.h>
11 #include <sys/mach/notify.h>
12 #include <sys/mach/mach_types.h>
13 #include <sys/mach/message.h>
14 #include <sys/mach/mig_errors.h>
15 #else /* !_KERNEL */
16 #include <string.h>
17 #include <mach/ndr.h>
18 #include <mach/boolean.h>
19 #include <mach/kern_return.h>
20 #include <mach/notify.h>
21 #include <mach/mach_types.h>
22 #include <mach/message.h>
23 #include <mach/mig_errors.h>
24 #endif /*_KERNEL */
25
26 #ifdef AUTOTEST
27 #ifndef FUNCTION_PTR_T
28 #define FUNCTION_PTR_T
29 typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
30 typedef struct {
31 char *name;
32 function_ptr_t function;
33 } function_table_entry;
34 typedef function_table_entry *function_table_t;
35 #endif /* FUNCTION_PTR_T */
36 #endif /* AUTOTEST */
37
38 #ifndef asl_ipc_MSG_COUNT
39 #define asl_ipc_MSG_COUNT 9
40 #endif /* asl_ipc_MSG_COUNT */
41
42 #include <sys/mach/std_types.h>
43 #include <sys/mach/mig.h>
44 #include <sys/mach/mig.h>
45 #include <sys/mach/mach_types.h>
46 #include <sys/types.h>
47
48 #ifdef __BeforeMigUserHeader
49 __BeforeMigUserHeader
50 #endif /* __BeforeMigUserHeader */
51
52 #include <sys/cdefs.h>
53 __BEGIN_DECLS
54
55
56 /* Routine _asl_server_query */
57 #ifdef mig_external
58 mig_external
59 #else
60 extern
61 #endif /* mig_external */
_asl_server_query(server,request,requestCnt,startid,count,flags,reply,replyCnt,lastid,status,token)62 kern_return_t _asl_server_query
63 #if defined(LINTLIBRARY)
64 (server, request, requestCnt, startid, count, flags, reply, replyCnt, lastid, status, token)
65 mach_port_t server;
66 caddr_t request;
67 mach_msg_type_number_t requestCnt;
68 uint64_t startid;
69 int count;
70 int flags;
71 caddr_t *reply;
72 mach_msg_type_number_t *replyCnt;
73 uint64_t *lastid;
74 int *status;
75 security_token_t *token;
76 { return _asl_server_query(server, request, requestCnt, startid, count, flags, reply, replyCnt, lastid, status, token); }
77 #else
78 (
79 mach_port_t server,
80 caddr_t request,
81 mach_msg_type_number_t requestCnt,
82 uint64_t startid,
83 int count,
84 int flags,
85 caddr_t *reply,
86 mach_msg_type_number_t *replyCnt,
87 uint64_t *lastid,
88 int *status,
89 security_token_t *token
90 );
91 #endif /* defined(LINTLIBRARY) */
92
93 /* Routine _asl_server_query_timeout */
94 #ifdef mig_external
95 mig_external
96 #else
97 extern
98 #endif /* mig_external */
_asl_server_query_timeout(server,request,requestCnt,startid,count,timeout,flags,reply,replyCnt,lastid,status)99 kern_return_t _asl_server_query_timeout
100 #if defined(LINTLIBRARY)
101 (server, request, requestCnt, startid, count, timeout, flags, reply, replyCnt, lastid, status)
102 mach_port_t server;
103 caddr_t request;
104 mach_msg_type_number_t requestCnt;
105 uint64_t startid;
106 int count;
107 natural_t timeout;
108 int flags;
109 caddr_t *reply;
110 mach_msg_type_number_t *replyCnt;
111 uint64_t *lastid;
112 int *status;
113 { return _asl_server_query_timeout(server, request, requestCnt, startid, count, timeout, flags, reply, replyCnt, lastid, status); }
114 #else
115 (
116 mach_port_t server,
117 caddr_t request,
118 mach_msg_type_number_t requestCnt,
119 uint64_t startid,
120 int count,
121 natural_t timeout,
122 int flags,
123 caddr_t *reply,
124 mach_msg_type_number_t *replyCnt,
125 uint64_t *lastid,
126 int *status
127 );
128 #endif /* defined(LINTLIBRARY) */
129
130 /* Routine _asl_server_prune */
131 #ifdef mig_external
132 mig_external
133 #else
134 extern
135 #endif /* mig_external */
_asl_server_prune(server,request,requestCnt,status,token)136 kern_return_t _asl_server_prune
137 #if defined(LINTLIBRARY)
138 (server, request, requestCnt, status, token)
139 mach_port_t server;
140 caddr_t request;
141 mach_msg_type_number_t requestCnt;
142 int *status;
143 security_token_t *token;
144 { return _asl_server_prune(server, request, requestCnt, status, token); }
145 #else
146 (
147 mach_port_t server,
148 caddr_t request,
149 mach_msg_type_number_t requestCnt,
150 int *status,
151 security_token_t *token
152 );
153 #endif /* defined(LINTLIBRARY) */
154
155 /* Routine _asl_server_create_aux_link */
156 #ifdef mig_external
157 mig_external
158 #else
159 extern
160 #endif /* mig_external */
_asl_server_create_aux_link(server,message,messageCnt,fileport,url,urlCnt,status)161 kern_return_t _asl_server_create_aux_link
162 #if defined(LINTLIBRARY)
163 (server, message, messageCnt, fileport, url, urlCnt, status)
164 mach_port_t server;
165 caddr_t message;
166 mach_msg_type_number_t messageCnt;
167 mach_port_t *fileport;
168 caddr_t *url;
169 mach_msg_type_number_t *urlCnt;
170 int *status;
171 { return _asl_server_create_aux_link(server, message, messageCnt, fileport, url, urlCnt, status); }
172 #else
173 (
174 mach_port_t server,
175 caddr_t message,
176 mach_msg_type_number_t messageCnt,
177 mach_port_t *fileport,
178 caddr_t *url,
179 mach_msg_type_number_t *urlCnt,
180 int *status
181 );
182 #endif /* defined(LINTLIBRARY) */
183
184 /* SimpleRoutine _asl_server_message */
185 #ifdef mig_external
186 mig_external
187 #else
188 extern
189 #endif /* mig_external */
_asl_server_message(server,message,messageCnt)190 kern_return_t _asl_server_message
191 #if defined(LINTLIBRARY)
192 (server, message, messageCnt)
193 mach_port_t server;
194 caddr_t message;
195 mach_msg_type_number_t messageCnt;
196 { return _asl_server_message(server, message, messageCnt); }
197 #else
198 (
199 mach_port_t server,
200 caddr_t message,
201 mach_msg_type_number_t messageCnt
202 );
203 #endif /* defined(LINTLIBRARY) */
204
205 /* SimpleRoutine _asl_server_register_direct_watch */
206 #ifdef mig_external
207 mig_external
208 #else
209 extern
210 #endif /* mig_external */
_asl_server_register_direct_watch(server,port)211 kern_return_t _asl_server_register_direct_watch
212 #if defined(LINTLIBRARY)
213 (server, port)
214 mach_port_t server;
215 int port;
216 { return _asl_server_register_direct_watch(server, port); }
217 #else
218 (
219 mach_port_t server,
220 int port
221 );
222 #endif /* defined(LINTLIBRARY) */
223
224 /* SimpleRoutine _asl_server_cancel_direct_watch */
225 #ifdef mig_external
226 mig_external
227 #else
228 extern
229 #endif /* mig_external */
_asl_server_cancel_direct_watch(server,port)230 kern_return_t _asl_server_cancel_direct_watch
231 #if defined(LINTLIBRARY)
232 (server, port)
233 mach_port_t server;
234 int port;
235 { return _asl_server_cancel_direct_watch(server, port); }
236 #else
237 (
238 mach_port_t server,
239 int port
240 );
241 #endif /* defined(LINTLIBRARY) */
242
243 /* Routine _asl_server_query_2 */
244 #ifdef mig_external
245 mig_external
246 #else
247 extern
248 #endif /* mig_external */
_asl_server_query_2(server,request,requestCnt,startid,count,flags,reply,replyCnt,lastid,status)249 kern_return_t _asl_server_query_2
250 #if defined(LINTLIBRARY)
251 (server, request, requestCnt, startid, count, flags, reply, replyCnt, lastid, status)
252 mach_port_t server;
253 caddr_t request;
254 mach_msg_type_number_t requestCnt;
255 uint64_t startid;
256 int count;
257 int flags;
258 caddr_t *reply;
259 mach_msg_type_number_t *replyCnt;
260 uint64_t *lastid;
261 int *status;
262 { return _asl_server_query_2(server, request, requestCnt, startid, count, flags, reply, replyCnt, lastid, status); }
263 #else
264 (
265 mach_port_t server,
266 caddr_t request,
267 mach_msg_type_number_t requestCnt,
268 uint64_t startid,
269 int count,
270 int flags,
271 caddr_t *reply,
272 mach_msg_type_number_t *replyCnt,
273 uint64_t *lastid,
274 int *status
275 );
276 #endif /* defined(LINTLIBRARY) */
277
278 /* Routine _asl_server_match */
279 #ifdef mig_external
280 mig_external
281 #else
282 extern
283 #endif /* mig_external */
_asl_server_match(server,request,requestCnt,startid,count,duration,direction,reply,replyCnt,lastid,status)284 kern_return_t _asl_server_match
285 #if defined(LINTLIBRARY)
286 (server, request, requestCnt, startid, count, duration, direction, reply, replyCnt, lastid, status)
287 mach_port_t server;
288 caddr_t request;
289 mach_msg_type_number_t requestCnt;
290 uint64_t startid;
291 uint64_t count;
292 uint32_t duration;
293 int direction;
294 caddr_t *reply;
295 mach_msg_type_number_t *replyCnt;
296 uint64_t *lastid;
297 int *status;
298 { return _asl_server_match(server, request, requestCnt, startid, count, duration, direction, reply, replyCnt, lastid, status); }
299 #else
300 (
301 mach_port_t server,
302 caddr_t request,
303 mach_msg_type_number_t requestCnt,
304 uint64_t startid,
305 uint64_t count,
306 uint32_t duration,
307 int direction,
308 caddr_t *reply,
309 mach_msg_type_number_t *replyCnt,
310 uint64_t *lastid,
311 int *status
312 );
313 #endif /* defined(LINTLIBRARY) */
314
315 __END_DECLS
316
317 /********************** Caution **************************/
318 /* The following data types should be used to calculate */
319 /* maximum message sizes only. The actual message may be */
320 /* smaller, and the position of the arguments within the */
321 /* message layout may vary from what is presented here. */
322 /* For example, if any of the arguments are variable- */
323 /* sized, and less than the maximum is sent, the data */
324 /* will be packed tight in the actual message to reduce */
325 /* the presence of holes. */
326 /********************** Caution **************************/
327
328 /* typedefs for all requests */
329
330 #ifndef __Request__asl_ipc_subsystem__defined
331 #define __Request__asl_ipc_subsystem__defined
332
333 #ifdef __MigPackStructs
334 #pragma pack(4)
335 #endif
336 typedef struct {
337 mach_msg_header_t Head;
338 /* start of the kernel processed data */
339 mach_msg_body_t msgh_body;
340 mach_msg_ool_descriptor_t request;
341 /* end of the kernel processed data */
342 NDR_record_t NDR;
343 mach_msg_type_number_t requestCnt;
344 uint64_t startid;
345 int count;
346 int flags;
347 } __Request___asl_server_query_t;
348 #ifdef __MigPackStructs
349 #pragma pack()
350 #endif
351
352 #ifdef __MigPackStructs
353 #pragma pack(4)
354 #endif
355 typedef struct {
356 mach_msg_header_t Head;
357 /* start of the kernel processed data */
358 mach_msg_body_t msgh_body;
359 mach_msg_ool_descriptor_t request;
360 /* end of the kernel processed data */
361 NDR_record_t NDR;
362 mach_msg_type_number_t requestCnt;
363 uint64_t startid;
364 int count;
365 int flags;
366 } __Request___asl_server_query_timeout_t;
367 #ifdef __MigPackStructs
368 #pragma pack()
369 #endif
370
371 #ifdef __MigPackStructs
372 #pragma pack(4)
373 #endif
374 typedef struct {
375 mach_msg_header_t Head;
376 /* start of the kernel processed data */
377 mach_msg_body_t msgh_body;
378 mach_msg_ool_descriptor_t request;
379 /* end of the kernel processed data */
380 NDR_record_t NDR;
381 mach_msg_type_number_t requestCnt;
382 } __Request___asl_server_prune_t;
383 #ifdef __MigPackStructs
384 #pragma pack()
385 #endif
386
387 #ifdef __MigPackStructs
388 #pragma pack(4)
389 #endif
390 typedef struct {
391 mach_msg_header_t Head;
392 /* start of the kernel processed data */
393 mach_msg_body_t msgh_body;
394 mach_msg_ool_descriptor_t message;
395 /* end of the kernel processed data */
396 NDR_record_t NDR;
397 mach_msg_type_number_t messageCnt;
398 } __Request___asl_server_create_aux_link_t;
399 #ifdef __MigPackStructs
400 #pragma pack()
401 #endif
402
403 #ifdef __MigPackStructs
404 #pragma pack(4)
405 #endif
406 typedef struct {
407 mach_msg_header_t Head;
408 /* start of the kernel processed data */
409 mach_msg_body_t msgh_body;
410 mach_msg_ool_descriptor_t message;
411 /* end of the kernel processed data */
412 NDR_record_t NDR;
413 mach_msg_type_number_t messageCnt;
414 } __Request___asl_server_message_t;
415 #ifdef __MigPackStructs
416 #pragma pack()
417 #endif
418
419 #ifdef __MigPackStructs
420 #pragma pack(4)
421 #endif
422 typedef struct {
423 mach_msg_header_t Head;
424 /* start of the kernel processed data */
425 mach_msg_body_t msgh_body;
426 /* end of the kernel processed data */
427 NDR_record_t NDR;
428 int port;
429 } __Request___asl_server_register_direct_watch_t;
430 #ifdef __MigPackStructs
431 #pragma pack()
432 #endif
433
434 #ifdef __MigPackStructs
435 #pragma pack(4)
436 #endif
437 typedef struct {
438 mach_msg_header_t Head;
439 /* start of the kernel processed data */
440 mach_msg_body_t msgh_body;
441 /* end of the kernel processed data */
442 NDR_record_t NDR;
443 int port;
444 } __Request___asl_server_cancel_direct_watch_t;
445 #ifdef __MigPackStructs
446 #pragma pack()
447 #endif
448
449 #ifdef __MigPackStructs
450 #pragma pack(4)
451 #endif
452 typedef struct {
453 mach_msg_header_t Head;
454 /* start of the kernel processed data */
455 mach_msg_body_t msgh_body;
456 mach_msg_ool_descriptor_t request;
457 /* end of the kernel processed data */
458 NDR_record_t NDR;
459 mach_msg_type_number_t requestCnt;
460 uint64_t startid;
461 int count;
462 int flags;
463 } __Request___asl_server_query_2_t;
464 #ifdef __MigPackStructs
465 #pragma pack()
466 #endif
467
468 #ifdef __MigPackStructs
469 #pragma pack(4)
470 #endif
471 typedef struct {
472 mach_msg_header_t Head;
473 /* start of the kernel processed data */
474 mach_msg_body_t msgh_body;
475 mach_msg_ool_descriptor_t request;
476 /* end of the kernel processed data */
477 NDR_record_t NDR;
478 mach_msg_type_number_t requestCnt;
479 uint64_t startid;
480 uint64_t count;
481 uint32_t duration;
482 int direction;
483 } __Request___asl_server_match_t;
484 #ifdef __MigPackStructs
485 #pragma pack()
486 #endif
487 #endif /* !__Request__asl_ipc_subsystem__defined */
488
489 /* union of all requests */
490
491 #ifndef __RequestUnion__asl_ipc_subsystem__defined
492 #define __RequestUnion__asl_ipc_subsystem__defined
493 union __RequestUnion__asl_ipc_subsystem {
494 __Request___asl_server_query_t Request__asl_server_query;
495 __Request___asl_server_query_timeout_t Request__asl_server_query_timeout;
496 __Request___asl_server_prune_t Request__asl_server_prune;
497 __Request___asl_server_create_aux_link_t Request__asl_server_create_aux_link;
498 __Request___asl_server_message_t Request__asl_server_message;
499 __Request___asl_server_register_direct_watch_t Request__asl_server_register_direct_watch;
500 __Request___asl_server_cancel_direct_watch_t Request__asl_server_cancel_direct_watch;
501 __Request___asl_server_query_2_t Request__asl_server_query_2;
502 __Request___asl_server_match_t Request__asl_server_match;
503 };
504 #endif /* !__RequestUnion__asl_ipc_subsystem__defined */
505 /* typedefs for all replies */
506
507 #ifndef __Reply__asl_ipc_subsystem__defined
508 #define __Reply__asl_ipc_subsystem__defined
509
510 #ifdef __MigPackStructs
511 #pragma pack(4)
512 #endif
513 typedef struct {
514 mach_msg_header_t Head;
515 /* start of the kernel processed data */
516 mach_msg_body_t msgh_body;
517 mach_msg_ool_descriptor_t reply;
518 /* end of the kernel processed data */
519 NDR_record_t NDR;
520 mach_msg_type_number_t replyCnt;
521 uint64_t lastid;
522 int status;
523 } __Reply___asl_server_query_t;
524 #ifdef __MigPackStructs
525 #pragma pack()
526 #endif
527
528 #ifdef __MigPackStructs
529 #pragma pack(4)
530 #endif
531 typedef struct {
532 mach_msg_header_t Head;
533 /* start of the kernel processed data */
534 mach_msg_body_t msgh_body;
535 mach_msg_ool_descriptor_t reply;
536 /* end of the kernel processed data */
537 NDR_record_t NDR;
538 mach_msg_type_number_t replyCnt;
539 uint64_t lastid;
540 int status;
541 } __Reply___asl_server_query_timeout_t;
542 #ifdef __MigPackStructs
543 #pragma pack()
544 #endif
545
546 #ifdef __MigPackStructs
547 #pragma pack(4)
548 #endif
549 typedef struct {
550 mach_msg_header_t Head;
551 NDR_record_t NDR;
552 kern_return_t RetCode;
553 int status;
554 } __Reply___asl_server_prune_t;
555 #ifdef __MigPackStructs
556 #pragma pack()
557 #endif
558
559 #ifdef __MigPackStructs
560 #pragma pack(4)
561 #endif
562 typedef struct {
563 mach_msg_header_t Head;
564 /* start of the kernel processed data */
565 mach_msg_body_t msgh_body;
566 mach_msg_port_descriptor_t fileport;
567 mach_msg_ool_descriptor_t url;
568 /* end of the kernel processed data */
569 NDR_record_t NDR;
570 mach_msg_type_number_t urlCnt;
571 int status;
572 } __Reply___asl_server_create_aux_link_t;
573 #ifdef __MigPackStructs
574 #pragma pack()
575 #endif
576
577 #ifdef __MigPackStructs
578 #pragma pack(4)
579 #endif
580 typedef struct {
581 mach_msg_header_t Head;
582 NDR_record_t NDR;
583 kern_return_t RetCode;
584 } __Reply___asl_server_message_t;
585 #ifdef __MigPackStructs
586 #pragma pack()
587 #endif
588
589 #ifdef __MigPackStructs
590 #pragma pack(4)
591 #endif
592 typedef struct {
593 mach_msg_header_t Head;
594 NDR_record_t NDR;
595 kern_return_t RetCode;
596 } __Reply___asl_server_register_direct_watch_t;
597 #ifdef __MigPackStructs
598 #pragma pack()
599 #endif
600
601 #ifdef __MigPackStructs
602 #pragma pack(4)
603 #endif
604 typedef struct {
605 mach_msg_header_t Head;
606 NDR_record_t NDR;
607 kern_return_t RetCode;
608 } __Reply___asl_server_cancel_direct_watch_t;
609 #ifdef __MigPackStructs
610 #pragma pack()
611 #endif
612
613 #ifdef __MigPackStructs
614 #pragma pack(4)
615 #endif
616 typedef struct {
617 mach_msg_header_t Head;
618 /* start of the kernel processed data */
619 mach_msg_body_t msgh_body;
620 mach_msg_ool_descriptor_t reply;
621 /* end of the kernel processed data */
622 NDR_record_t NDR;
623 mach_msg_type_number_t replyCnt;
624 uint64_t lastid;
625 int status;
626 } __Reply___asl_server_query_2_t;
627 #ifdef __MigPackStructs
628 #pragma pack()
629 #endif
630
631 #ifdef __MigPackStructs
632 #pragma pack(4)
633 #endif
634 typedef struct {
635 mach_msg_header_t Head;
636 /* start of the kernel processed data */
637 mach_msg_body_t msgh_body;
638 mach_msg_ool_descriptor_t reply;
639 /* end of the kernel processed data */
640 NDR_record_t NDR;
641 mach_msg_type_number_t replyCnt;
642 uint64_t lastid;
643 int status;
644 } __Reply___asl_server_match_t;
645 #ifdef __MigPackStructs
646 #pragma pack()
647 #endif
648 #endif /* !__Reply__asl_ipc_subsystem__defined */
649
650 /* union of all replies */
651
652 #ifndef __ReplyUnion__asl_ipc_subsystem__defined
653 #define __ReplyUnion__asl_ipc_subsystem__defined
654 union __ReplyUnion__asl_ipc_subsystem {
655 __Reply___asl_server_query_t Reply__asl_server_query;
656 __Reply___asl_server_query_timeout_t Reply__asl_server_query_timeout;
657 __Reply___asl_server_prune_t Reply__asl_server_prune;
658 __Reply___asl_server_create_aux_link_t Reply__asl_server_create_aux_link;
659 __Reply___asl_server_message_t Reply__asl_server_message;
660 __Reply___asl_server_register_direct_watch_t Reply__asl_server_register_direct_watch;
661 __Reply___asl_server_cancel_direct_watch_t Reply__asl_server_cancel_direct_watch;
662 __Reply___asl_server_query_2_t Reply__asl_server_query_2;
663 __Reply___asl_server_match_t Reply__asl_server_match;
664 };
665 #endif /* !__RequestUnion__asl_ipc_subsystem__defined */
666
667 #ifndef subsystem_to_name_map_asl_ipc
668 #define subsystem_to_name_map_asl_ipc \
669 { "_asl_server_query", 114 },\
670 { "_asl_server_query_timeout", 115 },\
671 { "_asl_server_prune", 116 },\
672 { "_asl_server_create_aux_link", 117 },\
673 { "_asl_server_message", 118 },\
674 { "_asl_server_register_direct_watch", 119 },\
675 { "_asl_server_cancel_direct_watch", 120 },\
676 { "_asl_server_query_2", 121 },\
677 { "_asl_server_match", 122 }
678 #endif
679
680 #ifdef __AfterMigUserHeader
681 __AfterMigUserHeader
682 #endif /* __AfterMigUserHeader */
683
684 #endif /* _asl_ipc_user_ */
685