96 lines
3.0 KiB
C
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
|