ftp.nice.ch/pub/next/unix/database/yooda.1.3.s.tar.gz#/yooda/kernel/config.h

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

/* YOODA : Yet another Object Oriented Database
   Copyright (C) 1994  Eric Abecassis

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */


/*****************************************************************************
******************************************************************************
**                                                                            
**        Y     Y   OOOO    OOOO   DDDDD     AA
**         Y   Y   O    O  O    O  D    D   A  A
**          Y Y    O    O  O    O  D    D  A    A 
**           Y     O    O  O    O  D    D  AAAAAA
**           Y     O    O  O    O  D    D  A    A
**           Y      OOOO    OOOO   DDDDD   A    A
**
******************************************************************************
******************************************************************************/
/*****************************************************************************
*
*  MODULE :             System configuration
*  SCOPE :              System configuration
*  FILE :               config.h
*  AUTHORS :            E. Abecassis
*  CREATION DATE :      August 1, 1993
*  COPYRIGHTS :        (C) E. Abecassis, 1993
*  HISTORY :
*
******************************************************************************/

#ifndef __config_H
#define __config_H

/* IMPORTS *******************************************************************/

/*****************************************************************************/

//#define _vmpage_8192

// page size must be the size given by getpagesize on your system
#if defined(__alpha) || defined(_vmpage_8192)
#define PAGE_SIZE 8192
#else
#define PAGE_SIZE 4096
#endif

// A volume is limited to a size of 1 Gbytes
#define VOL_SIZE (1024*1024*1024)

// Number of pages in a volume is computed from the to precedent values
#define PAGE_IN_VOL (VOL_SIZE / PAGE_SIZE)

// Number of bits in a simple byte
#define BIT_IN_BYTE 8

// Size of a slot in a page
#define SLOT_SIZE 16

// Define number of slot in a page
#if defined(__alpha) || defined(_vmpage_8192)
#define SLOT_IN_PG 453
#else
#define SLOT_IN_PG 239
#endif

// Define the maximum number of volume in a database
#define MAX_VOL 256

// Define the maximum number of vue on a DBServer
#define MAX_VUE 16

// Define maximum number of logged pages
#define MAX_LOG (1024 * 256)

// Number of entries in a page directory
#if defined(__alpha) || defined(_vmpage_8192)
#define MAX_DIR_PG (SLOT_IN_PG+3)
#else
#define MAX_DIR_PG (SLOT_IN_PG+1)
#endif

// Size of a short page header
#define PAGE_HEADER_SIZE (sizeof(PageGen))

// First data page in a volume
#define YOO_FIRST_USED_PAGE VolAllocator::SizeInPage

// Volume which contains temporary data
#define YOO_TMP_VOL 0

// Volume which contains admin data
#define YOO_ADMIN_VOL 1

// Volume which contains user data
#define YOO_DEF_VOL 2

// Maximum number of pages in virtual memory
// IPX, IPC, SLC, ELC value
#define YOO_MAX_VM_SIZE 110000
// MP630, SPARC 10
//#define VM_SIZE 524287

#endif

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