2 * $XConsortium: store_desc.h /main/6 1996/07/18 14:51:13 drk $
4 * Copyright (c) 1993 HAL Computer Systems International, Ltd.
5 * All rights reserved. Unpublished -- rights reserved under
6 * the Copyright Laws of the United States. USE OF A COPYRIGHT
7 * NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
10 * THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
11 * SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
12 * DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
13 * PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
16 * RESTRICTED RIGHTS LEGEND
17 * Use, duplication, or disclosure by the Government is subject
18 * to the restrictions as set forth in subparagraph (c)(l)(ii)
19 * of the Rights in Technical Data and Computer Software clause
20 * at DFARS 252.227-7013.
22 * HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
30 #define _store_desc_h 1
32 #include "object/handler.h"
33 #include "schema/desc.h"
35 #include "storage/lru.h"
36 #include "storage/page_storage.h"
37 #include "storage/unixf_storage.h"
40 #define ACTIVE_UNIXF_SZ NUM_FILES
41 #define INACTIVE_UNIXF_SZ 1000
44 class store_desc : public desc
48 store_desc(const char* name);
49 store_desc(int class_code, const char* comment = "");
52 virtual abs_storage* get_store() {
56 void set_mode(const char*);
57 void set_order(const char*);
60 mmdb_byte_order_t get_order();
62 virtual ostream& asciiOut(ostream& out, Boolean last = true);
66 char mode_str[NAMESIZ];
67 char order_str[NAMESIZ];
71 static lru* v_unixf_pool_ptr;
72 #define v_unixf_pool (*v_unixf_pool_ptr)
74 static lru v_unixf_pool;
77 abs_storage* v_store_ptr;
84 friend void initialize_MMDB();
85 friend void quit_MMDB();
89 class page_store_desc : public store_desc
94 ~page_store_desc() {};
96 abs_storage* init_store(char* store_path);
101 void set_page_sz(int);
102 void set_cached_pages(int);
104 virtual ostream& asciiOut(ostream& out, Boolean last = true);