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 */
50typedef	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
61typedef	log_rec_t	*log_ptr_t;
62
63/*
64 * Statistics record.
65 */
66typedef	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
142typedef	stat_t	*stat_ptr_t;
143
144
145/*
146 * Debugging flags record.
147 */
148typedef	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
160typedef	debug_t	*debug_ptr_t;
161
162
163/*
164 * Parameters record.
165 */
166typedef 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
188typedef param_t *param_ptr_t;
189
190
191/*
192 * Port statistics record.
193 */
194typedef 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
215extern port_stat_ptr_t	port_stat_cur;
216extern port_stat_ptr_t	port_stat_end;
217extern 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 */
226typedef char			*mem_class_ptr_t;
227typedef char			*mem_nam_ptr_t;
228typedef 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