xref: /xnu-8796.101.5/libsyscall/mach/servers/ls_defs.h (revision aca3beaa3dfbd42498b42c5e5ce20a938e6554e5) !
1 /*
2  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3  *
4  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5  *
6  * This file contains Original Code and/or Modifications of Original Code
7  * as defined in and that are subject to the Apple Public Source License
8  * Version 2.0 (the 'License'). You may not use this file except in
9  * compliance with the License. The rights granted to you under the License
10  * may not be used to create, or enable the creation or redistribution of,
11  * unlawful or unlicensed copies of an Apple operating system, or to
12  * circumvent, violate, or enable the circumvention or violation of, any
13  * terms of an Apple operating system software license agreement.
14  *
15  * Please obtain a copy of the License at
16  * http://www.opensource.apple.com/apsl/ and read it before using this file.
17  *
18  * The Original Code and all software distributed under the License are
19  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23  * Please see the License for the specific language governing rights and
24  * limitations under the License.
25  *
26  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27  */
28 /*
29  * Mach Operating System
30  * Copyright (c) 1989 Carnegie-Mellon University
31  * Copyright (c) 1988 Carnegie-Mellon University
32  * Copyright (c) 1987 Carnegie-Mellon University
33  * All rights reserved.  The CMU software License Agreement specifies
34  * the terms and conditions for use and redistribution.
35  */
36 
37 /*
38  * Definitions for the logstat module.
39  */
40 
41 
42 #ifndef _LS_DEFS_
43 #define _LS_DEFS_
44 
45 #include <sys/types.h>
46 
47 /*
48  * Definition for a log record.
49  */
50 typedef struct  {
51 	long    code;
52 	long    thread;
53 	long    a1;
54 	long    a2;
55 	long    a3;
56 	long    a4;
57 	long    a5;
58 	long    a6;
59 } log_rec_t;
60 
61 typedef log_rec_t       *log_ptr_t;
62 
63 /*
64  * Statistics record.
65  */
66 typedef struct {
67 	int     datagram_pkts_sent;
68 	int     datagram_pkts_rcvd;
69 	int     srr_requests_sent;
70 	int     srr_bcasts_sent;
71 	int     srr_requests_rcvd;
72 	int     srr_bcasts_rcvd;
73 	int     srr_replies_sent;
74 	int     srr_replies_rcvd;
75 	int     srr_retries_sent;
76 	int     srr_retries_rcvd;
77 	int     srr_cfailures_sent;
78 	int     srr_cfailures_rcvd;
79 	int     deltat_dpkts_sent;
80 	int     deltat_acks_rcvd;
81 	int     deltat_dpkts_rcvd;
82 	int     deltat_acks_sent;
83 	int     deltat_oldpkts_rcvd;
84 	int     deltat_oospkts_rcvd;
85 	int     deltat_retries_sent;
86 	int     deltat_retries_rcvd;
87 	int     deltat_cfailures_sent;
88 	int     deltat_cfailures_rcvd;
89 	int     deltat_aborts_sent;
90 	int     deltat_aborts_rcvd;
91 	int     vmtp_requests_sent;
92 	int     vmtp_requests_rcvd;
93 	int     vmtp_replies_sent;
94 	int     vmtp_replies_rcvd;
95 	int     ipc_in_messages;
96 	int     ipc_out_messages;
97 	int     ipc_unblocks_sent;
98 	int     ipc_unblocks_rcvd;
99 	int     pc_requests_sent;
100 	int     pc_requests_rcvd;
101 	int     pc_replies_rcvd;
102 	int     pc_startups_rcvd;
103 	int     nn_requests_sent;
104 	int     nn_requests_rcvd;
105 	int     nn_replies_rcvd;
106 	int     po_ro_hints_sent;
107 	int     po_ro_hints_rcvd;
108 	int     po_token_requests_sent;
109 	int     po_token_requests_rcvd;
110 	int     po_token_replies_rcvd;
111 	int     po_xfer_requests_sent;
112 	int     po_xfer_requests_rcvd;
113 	int     po_xfer_replies_rcvd;
114 	int     po_deaths_sent;
115 	int     po_deaths_rcvd;
116 	int     ps_requests_sent;
117 	int     ps_requests_rcvd;
118 	int     ps_replies_rcvd;
119 	int     ps_auth_requests_sent;
120 	int     ps_auth_requests_rcvd;
121 	int     ps_auth_replies_rcvd;
122 	int     mallocs_or_vm_allocates;
123 	int     mem_allocs;
124 	int     mem_deallocs;
125 	int     mem_allocobjs;
126 	int     mem_deallocobjs;
127 	int     pkts_encrypted;
128 	int     pkts_decrypted;
129 	int     vmtp_segs_encrypted;
130 	int     vmtp_segs_decrypted;
131 	int     tcp_requests_sent;
132 	int     tcp_replies_sent;
133 	int     tcp_requests_rcvd;
134 	int     tcp_replies_rcvd;
135 	int     tcp_send;
136 	int     tcp_recv;
137 	int     tcp_connect;
138 	int     tcp_accept;
139 	int     tcp_close;
140 } stat_t;
141 
142 typedef stat_t  *stat_ptr_t;
143 
144 
145 /*
146  * Debugging flags record.
147  */
148 typedef struct {
149 	int     print_level;
150 	int     ipc_in;
151 	int     ipc_out;
152 	int     tracing;
153 	int     vmtp;
154 	int     netname;
155 	int     deltat;
156 	int     tcp;
157 	int     mem;
158 } debug_t;
159 
160 typedef debug_t *debug_ptr_t;
161 
162 
163 /*
164  * Parameters record.
165  */
166 typedef struct {
167 	int     srr_max_tries;
168 	int     srr_retry_sec;
169 	int     srr_retry_usec;
170 	int     deltat_max_tries;
171 	int     deltat_retry_sec;
172 	int     deltat_retry_usec;
173 	int     deltat_msg_life;
174 	int     pc_checkup_interval;
175 	int     crypt_algorithm;
176 	int     transport_default;
177 	int     conf_network;
178 	int     conf_netport;
179 	int     timer_quantum;
180 	int     tcp_conn_steady;
181 	int     tcp_conn_opening;
182 	int     tcp_conn_max;
183 	int     compat;
184 	int     syslog;
185 	int     old_nmmonitor;
186 } param_t;
187 
188 typedef param_t *param_ptr_t;
189 
190 
191 /*
192  * Port statistics record.
193  */
194 typedef struct {
195 	u_int   port_id;
196 	u_int   alive;
197 	u_int   nport_id_high;
198 	u_int   nport_id_low;
199 	u_int   nport_receiver;
200 	u_int   nport_owner;
201 	u_int   messages_sent;
202 	u_int   messages_rcvd;
203 	u_int   send_rights_sent;
204 	u_int   send_rights_rcvd_sender;
205 	u_int   send_rights_rcvd_recown;
206 	u_int   rcv_rights_xferd;
207 	u_int   own_rights_xferd;
208 	u_int   all_rights_xferd;
209 	u_int   tokens_sent;
210 	u_int   tokens_requested;
211 	u_int   xfer_hints_sent;
212 	u_int   xfer_hints_rcvd;
213 } port_stat_t, *port_stat_ptr_t;
214 
215 extern port_stat_ptr_t  port_stat_cur;
216 extern port_stat_ptr_t  port_stat_end;
217 extern struct mutex     port_stat_lock;
218 
219 
220 /*
221  * Types for the mem_list operation.
222  *
223  * XXX These must be faked, because we cannot include mem.h here
224  * (mutual includes).
225  */
226 typedef char                    *mem_class_ptr_t;
227 typedef char                    *mem_nam_ptr_t;
228 typedef int                     *mem_bucket_ptr_t;
229 
230 
231 /*
232  * Definitions for print_level.
233  */
234 #define LS_PRINT_NEVER          5
235 #define LS_PRINT_LOG            3
236 #define LS_PRINT_ALWAYS         0
237 
238 #endif  /* _LS_DEFS_ */
239