bbint.h 3.02 KB
#ifndef _BBINT_H_
#define _BBINT_H_

/*====================================================================
 * bbint.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.
 *====================================================================*/
#include "bbfs.h"

#ifdef _LANGUAGE_C_PLUS_PLUS
extern "C" {
#endif

#ifdef _LANGUAGE_C

/*
 *
 * Global Variables
 *
 */

extern u32 __osBbIsBb;	/* is system a BB? */

/* BB Card */
extern u8 __osBbCardChange;
extern u8 __osBbCardMultiplane;
extern u8 __osBbCardInit;
extern u16 __osBbCardBlocks;
extern OSMesgQueue __osBbCardCmdQ, __osBbCardRetQ;
extern OSIoMesg __osBbCardIoMsg;

/* File System */
extern BbFat16* __osBbFat;
extern u16 __osBbFatBlock;
extern u16 __osBbFsBlocks;
extern u8  __osBbFsAutoSync;

/* State Management */
extern u32   __osBbStashMagic;
extern void* __osBbEepromAddress;
extern u32   __osBbEepromSize;
extern void* __osBbFlashAddress;
extern u32   __osBbFlashSize;
extern void* __osBbSramAddress;
extern u32   __osBbSramSize;
extern void* __osBbPakAddress[MAXCONTROLLERS];
extern u32   __osBbPakSize;
extern s32   __osBbPakBindings[MAXCONTROLLERS];
extern u8    __osBbStateName[];
extern u32   __osBbStateDirty;
extern u32   __osBbAuxDataLimit;

extern u32   __osBbHackFlags;

/**************************************************************************
 *
 * Function prototypes
 *
 */
/* Card */
extern void __osBbCreateCardManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf,
	                                s32 cmdMsgCnt);
extern void __osBbCardCreateAccessQueue(void);
extern s32  __osBbCardGetAccess(void);
extern void __osBbCardRelAccess(void);
extern u32  __osBbCardPresent(void);
extern s32  __osBbCardStatus(u32 dev, u8 *status, u32 buf);
extern void __osBbCardDmaCopy(u32 which, void *addr, u32 in);
extern void __osBbCardInitEvent(void);
extern s32  __osBbCardFlushEvent(void);
extern void __osBbCardBeginEvent(void);
extern s32  __osBbCardWaitEvent(void);

    /* File System */
extern s32  __osBbFsGetAccess(void);
extern void __osBbFsRelAccess(void);
extern s32  __osBbFsSync(int force);
extern void __osBbFsFormatName(char* fname, const char* name);
extern u16  __osBbFReallocBlock(BbInode* in, u16 block, BbFatEntry newVal);

    /* Misc */
extern void __osBbDelay(u32 usec);
extern void __osBbVideoPllInit(s32 tvType);

#endif /* _LANGUAGE_C */

#ifdef _LANGUAGE_C_PLUS_PLUS
}
#endif

#endif  /* _BBINT_H_ */