/*==================================================================== * ultralog.h * * Copyright 1995, Silicon Graphics, Inc. * All Rights Reserved. * * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, * Inc.; the contents of this file may not be disclosed to third * parties, copied or duplicated in any form, in whole or in part, * without the prior written permission of Silicon Graphics, Inc. * * RESTRICTED RIGHTS LEGEND: * Use, duplication or disclosure by the Government is subject to * restrictions as set forth in subdivision (c)(1)(ii) of the Rights * in Technical Data and Computer Software clause at DFARS * 252.227-7013, and/or in similar or successor clauses in the FAR, * DOD or NASA FAR Supplement. Unpublished - rights reserved under the * Copyright Laws of the United States. *====================================================================*/ /************************************************************************** * * $Revision: 1.6 $ * $Date: 1997/02/11 08:39:05 $ * $Source: /hosts/gate3/exdisk2/cvs/N64OS/Master/cvsmdev2/PR/include/ultralog.h,v $ * **************************************************************************/ #ifndef __log__ #define __log__ #ifdef _LANGUAGE_C_PLUS_PLUS extern "C" { #endif #include #define OS_LOG_MAX_ARGS 16 #define OS_LOG_MAGIC 0x20736a73 #define OS_LOG_FLOAT(x) (*(int *) &(x)) #define OS_LOG_VERSION 1 typedef struct { u32 magic; /* log identifier */ u32 len; /* length of log data + log structure */ u32 *base; /* starting addr array */ s32 startCount; /* read offset from dataBase */ s32 writeOffset; /* write offset from dataBase */ } OSLog; typedef struct { u32 magic; u32 timeStamp; u16 argCount; u16 eventID; } OSLogItem; typedef struct { u32 magic; /* log identifier */ u32 version; /* 1 */ } OSLogFileHdr; void osCreateLog(OSLog *log, u32 *base, s32 len); void osLogEvent(OSLog *log, s16 code, s16 numArgs, ...); void osFlushLog(OSLog *log); u32 osLogFloat(f32); extern void osDelay(int count); #ifdef _LANGUAGE_C_PLUS_PLUS } #endif #endif