text: /*
   * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
   *
   * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   * 
   * This file contains Original Code and/or Modifications of Original Code
   * as defined in and that are subject to the Apple Public Source License
   * Version 2.0 (the 'License'). You may not use this file except in
   * compliance with the License. The rights granted to you under the License
   * may not be used to create, or enable the creation or redistribution of,
   * unlawful or unlicensed copies of an Apple operating system, or to
   * circumvent, violate, or enable the circumvention or violation of, any
   * terms of an Apple operating system software license agreement.
   * 
   * Please obtain a copy of the License at
   * http://www.opensource.apple.com/apsl/ and read it before using this file.
   * 
   * The Original Code and all software distributed under the License are
   * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   * Please see the License for the specific language governing rights and
   * limitations under the License.
   * 
   * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   */
  /* 
   * Mach Operating System
   * Copyright (c) 1989 Carnegie-Mellon University
   * Copyright (c) 1988 Carnegie-Mellon University
   * Copyright (c) 1987 Carnegie-Mellon University
   * All rights reserved.  The CMU software License Agreement specifies
   * the terms and conditions for use and redistribution.
   */
  
  /*
   * Definitions for the logstat module.
   */
  
  
  #ifndef	_LS_DEFS_
  #define	_LS_DEFS_
  
  #include <sys/types.h>
  
  /*
   * Definition for a log record.
   */
  typedef	struct	{
  	long	code;
  	long	thread;
  	long	a1;
  	long	a2;
  	long	a3;
  	long	a4;
  	long	a5;
  	long	a6;
  } log_rec_t;
  
  typedef	log_rec_t	*log_ptr_t;
  
  /*
   * Statistics record.
   */
  typedef	struct {
  	int	datagram_pkts_sent;
  	int	datagram_pkts_rcvd;
  	int	srr_requests_sent;
  	int	srr_bcasts_sent;
  	int	srr_requests_rcvd;
  	int	srr_bcasts_rcvd;
  	int	srr_replies_sent;
  	int	srr_replies_rcvd;
  	int	srr_retries_sent;
  	int	srr_retries_rcvd;
  	int	srr_cfailures_sent;
  	int	srr_cfailures_rcvd;
  	int	deltat_dpkts_sent;
  	int	deltat_acks_rcvd;
  	int	deltat_dpkts_rcvd;
  	int	deltat_acks_sent;
  	int	deltat_oldpkts_rcvd;
  	int	deltat_oospkts_rcvd;
  	int	deltat_retries_sent;
  	int	deltat_retries_rcvd;
  	int	deltat_cfailures_sent;
  	int	deltat_cfailures_rcvd;
  	int	deltat_aborts_sent;
  	int	deltat_aborts_rcvd;
  	int	vmtp_requests_sent;
  	int	vmtp_requests_rcvd;
  	int	vmtp_replies_sent;
  	int	vmtp_replies_rcvd;
  	int	ipc_in_messages;
  	int	ipc_out_messages;
  	int	ipc_unblocks_sent;
  	int	ipc_unblocks_rcvd;
  	int	pc_requests_sent;
  	int	pc_requests_rcvd;
  	int	pc_replies_rcvd;
  	int	pc_startups_rcvd;
  	int	nn_requests_sent;
  	int	nn_requests_rcvd;
  	int	nn_replies_rcvd;
  	int	po_ro_hints_sent;
  	int	po_ro_hints_rcvd;
  	int	po_token_requests_sent;
  	int	po_token_requests_rcvd;
  	int	po_token_replies_rcvd;
  	int	po_xfer_requests_sent;
  	int	po_xfer_requests_rcvd;
  	int	po_xfer_replies_rcvd;
  	int	po_deaths_sent;
  	int	po_deaths_rcvd;
  	int	ps_requests_sent;
  	int	ps_requests_rcvd;
  	int	ps_replies_rcvd;
  	int	ps_auth_requests_sent;
  	int	ps_auth_requests_rcvd;
  	int	ps_auth_replies_rcvd;
  	int	mallocs_or_vm_allocates;
  	int	mem_allocs;
  	int	mem_deallocs;
  	int	mem_allocobjs;
  	int	mem_deallocobjs;
  	int	pkts_encrypted;
  	int	pkts_decrypted;
  	int	vmtp_segs_encrypted;
  	int	vmtp_segs_decrypted;
  	int	tcp_requests_sent;
  	int	tcp_replies_sent;
  	int	tcp_requests_rcvd;
  	int	tcp_replies_rcvd;
  	int	tcp_send;
  	int	tcp_recv;
  	int	tcp_connect;
  	int	tcp_accept;
  	int	tcp_close;
  } stat_t;
  
  typedef	stat_t	*stat_ptr_t;
  
  
  /*
   * Debugging flags record.
   */
  typedef	struct {
  	int	print_level;
  	int	ipc_in;
  	int	ipc_out;
  	int	tracing;
  	int	vmtp;
  	int	netname;
  	int	deltat;
  	int	tcp;
  	int	mem;
  } debug_t;
  
  typedef	debug_t	*debug_ptr_t;
  
  
  /*
   * Parameters record.
   */
  typedef struct {
      	int	srr_max_tries;
  	int	srr_retry_sec;
  	int	srr_retry_usec;
      	int	deltat_max_tries;
  	int	deltat_retry_sec;
  	int	deltat_retry_usec;
  	int	deltat_msg_life;
  	int	pc_checkup_interval;
  	int	crypt_algorithm;
  	int	transport_default;
  	int	conf_network;
  	int	conf_netport;
  	int	timer_quantum;
  	int	tcp_conn_steady;
  	int	tcp_conn_opening;
  	int	tcp_conn_max;
  	int	compat;
  	int	syslog;
  	int	old_nmmonitor;
  } param_t;
  
  typedef param_t *param_ptr_t;
  
  
  /*
   * Port statistics record.
   */
  typedef struct {
  	u_int	port_id;
  	u_int	alive;
  	u_int	nport_id_high;
  	u_int	nport_id_low;
  	u_int	nport_receiver;
  	u_int	nport_owner;
  	u_int	messages_sent;
  	u_int	messages_rcvd;
  	u_int	send_rights_sent;
  	u_int	send_rights_rcvd_sender;
  	u_int	send_rights_rcvd_recown;
  	u_int	rcv_rights_xferd;
  	u_int	own_rights_xferd;
  	u_int	all_rights_xferd;
  	u_int	tokens_sent;
  	u_int	tokens_requested;
  	u_int	xfer_hints_sent;
  	u_int	xfer_hints_rcvd;
  } port_stat_t, *port_stat_ptr_t;
  
  extern port_stat_ptr_t	port_stat_cur;
  extern port_stat_ptr_t	port_stat_end;
  extern struct mutex	port_stat_lock;
  
  
  /*
   * Types for the mem_list operation.
   *
   * XXX These must be faked, because we cannot include mem.h here
   * (mutual includes).
   */
  typedef char			*mem_class_ptr_t;
  typedef char			*mem_nam_ptr_t;
  typedef int			*mem_bucket_ptr_t;
  
  	
  /*
   * Definitions for print_level.
   */
  #define	LS_PRINT_NEVER		5
  #define	LS_PRINT_LOG		3
  #define	LS_PRINT_ALWAYS		0
  
  #endif	/* _LS_DEFS_ */
  