Files
mars-nwe/include/nwnss/comn/common/beastClass.h

96 lines
3.0 KiB
C

/****************************************************************************
|
| (C) Copyright 1985, 1991, 1993, 1996 Novell, Inc.
| All Rights Reserved.
|
| This program is free software; you can redistribute it and/or
| modify it under the terms of version 2 of the GNU General Public
| License as published by the Free Software Foundation.
|
| This program is distributed in the hope that it will be useful,
| but WITHOUT ANY WARRANTY; without even the implied warranty of
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| GNU General Public License for more details.
|
| You should have received a copy of the GNU General Public License
| along with this program; if not, contact Novell, Inc.
|
| To contact Novell about this file by physical or electronic mail,
| you may find current contact information at www.novell.com
|
|***************************************************************************
|
| NetWare Advance File Services (NSS) module
|
|---------------------------------------------------------------------------
|
| $Author: taysom $
| $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
|
| $RCSfile$
| $Revision: 465 $
|
|---------------------------------------------------------------------------
| This module is used to:
| This defines all of the primitive BEASTS inside of PSS
+-------------------------------------------------------------------------*/
#ifndef _BEASTCLASS_H_
#define _BEASTCLASS_H_
#ifndef _COMNBEASTS_H_
#include <include/comnBeasts.h>
#endif
#ifndef _COMNBEASTCLASS_H_
#include <comnBeastClass.h>
#endif
/* defines the maximum inheritance depth of beasts*/
#define MAX_BEASTCLASS_INHERITANCE_DEPTH 32
/*---------------------------------------------------------------------------
* This control structure keeps track of all defined beasts in the system.
*---------------------------------------------------------------------------*/
typedef struct BeastClassControl_s
{
NINT arraySize;
BeastClass_s *(*classList)[DEBUG_VISIBLE_IDX];
} BeastClassControl_s;
extern BeastClassControl_s BeastClasses;
/*---------------------------------------------------------------------------
* Basic Beast Class prototypes
*---------------------------------------------------------------------------*/
extern BeastClass_s *BST_GetBeastClass(
NINT beastClassID);
extern STATUS BST_InitOps(
struct GeneralMsg_s *genMsg,
BeastClass_s *newClass,
CommonBeastOps_s *comnOps,
CommonVolumeOps_s *comnVolOps,
LSSSpecificPackUnpackOps_s (*lssOps)[],
void *(*beastSpecificOps)[]);
extern STATUS BST_ExtendBeastList(
NINT index);
/****************************************************************************
* Beast Hash globals
*****************************************************************************/
extern SNINT MaxLimitOfBeastsInMemory;
extern SNINT RemainingLimitOfBeastsInMemory;
extern void BEASTHASH_Destruct(
void *beast);
extern void BST_uninit( /* call destructors only */
void *beast);
#endif