ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.N.b.tar.gz#/lib/gcc-lib/m68k-next-nextstep3/2.7.2.2.f.2/include/driverkit/debuggingMsg.h

This is debuggingMsg.h in view mode; [Download] [Up]

/* 	Copyright (c) 1991 NeXT Computer, Inc.  All rights reserved. 
 *
 * debuggingMsg.h - exported interface to driver debugging module (DDM) 
 *		  server. This interface is used by Apps like Viewers 
 *		  and other modules which must collect and/or analyze 
 *		  DDM data (as opposed to those modules which generate 
 *		  DDM data).
 *
 * HISTORY
 * 22-Feb-91    Doug Mitchell at NeXT
 *      Created. 
 */

#import <mach/message.h>
#import <kernserv/clock_timer.h>

/*
 * Message format for communicating with DDM server.
 */
#define IO_DDM_STRING_LENGTH	128

typedef struct {
	msg_header_t 	header;			/* standard header */
	msg_type_t	argType;		/* describes args*/
	unsigned	index;			/* index into */
						/* IODebuggingMasks[] or*/
						/* actual log array */
	unsigned	maskValue;	
	unsigned	status;			/* I/O result*/
	
	/*
	 * TBD - can't pass long longs in mach message (yet).
	 * As of 30 Nov. 92, all IODebuggingMsg's contain 32 bits of
	 * microseconds in timestampLowInt, stored big-endian.
	 */
	unsigned	timestampHighInt;
	unsigned	timestampLowInt;
	int		cpuNumber;
	msg_type_t	stringType;		/* describes string*/
	char		string[IO_DDM_STRING_LENGTH];
} IODDMMsg;

/*
 * Values for IODebuggingMsg.header.msg_id.
 */
#define IO_DDM_MSG_BASE			0x545454
#define IO_LOCK_DDM_MSG			(IO_DDM_MSG_BASE + 0)	
					/* freeze state of DDM*/
#define IO_UNLOCK_DDM_MSG		(IO_DDM_MSG_BASE + 1)	
					/* unfreeze state of DDM*/
#define IO_GET_DDM_ENTRY_MSG		(IO_DDM_MSG_BASE + 2)	
					/* get a DDM string */
#define IO_SET_DDM_MASK_MSG		(IO_DDM_MSG_BASE + 3)	
					/* set IODDMMasks*/
#define IO_CLEAR_DDM_MSG		(IO_DDM_MSG_BASE + 4)	
					/* clear DDM log*/
							
/*
 * Values for IODebuggingMsg.status.
 */
#define IO_DDM_SUCCESS		0
#define IO_NO_DDM_BUFFER	1		/* no entry at specified*/
						/* 	offset*/
#define IO_BAD_DDM_INDEX	2		/* invalid index*/

/*
 * Extract an unsigned long long from msg->timestampHighInt and
 * msg.timestampLowInt.
 */
static inline ns_time_t IONsTimeFromDDMMsg(IODDMMsg *msg)
{
	ns_time_t ns;
	
	ns = ((unsigned long long)(msg->timestampHighInt)) << 32;
	ns += msg->timestampLowInt;
	return ns;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.