00001 /********************************************************************** 00002 * Copyright 2002 Jeff Rush <jrush@taupro.com> 00003 * Original Copyright 1979-2002 Udanax.com 00004 * 00005 * This file is part of the Udanax xanalogical storage system. 00006 * 00007 * Udanax is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * Udanax is distributed in the hope that it will be useful, but 00013 * WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with Udanax; if not, write to the Free Software Foundation, 00019 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 **********************************************************************/ 00021 00030 /* Modification History: 00031 * $Log: types.h,v $ 00032 * Revision 1.4 2002/05/28 03:51:13 jrush 00033 * Updated sources to comply with a GPL licensing. 00034 * 00035 * Revision 1.3 2002/04/13 14:08:35 jrush 00036 * Changed typedef of structs into just structs, for C++ style. 00037 * 00038 * Revision 1.2 2002/04/12 11:46:25 jrush 00039 * Major rearrangement of include contents, to reflect a hopefully more 00040 * logical layout as we refactor Udanax into classes. 00041 * 00042 * Revision 1.1 2002/04/12 09:34:25 jrush 00043 * Renamed xanatypes.h to types.h 00044 * 00045 * Revision 1.1 2002/04/10 18:01:05 jrush 00046 * Provide a place to collect cleaned up type/class tree declarations. 00047 * 00048 * Revision 1.7 2002/04/06 17:05:57 jrush 00049 * Switched from referring to 'task' for a client connection to 'session', 00050 * and converted the typetask typedef/struct into a Session C++ class. 00051 * 00052 * Revision 1.6 2002/04/06 15:00:34 jrush 00053 * Changed INT to just 'int'. 00054 * 00055 * Revision 1.5 2002/02/14 05:40:42 jrush 00056 * Cleaned up source: 00057 * 00058 * 1. ran thru the indent tool to achieve a standard look, 00059 * 2. added structured comments at top for use with DOxygen reporting 00060 * as well as CVS keywords, 00061 * 3. added #ifndef/#defines to prevent duplicate inclusions, 00062 * 4. insured all struct/union defs have names, 00063 * 5. centralized prototypes in protos.h, removing incomplete ones, 00064 * 6. cleaned up use of bool/BOOLEAN type to suit C++ type, 00065 * 7. fixed initializer nesting in tumbler constants. 00066 * 00067 */ 00068 00069 #ifndef __UDANAX_TYPES_H__ 00070 #define __UDANAX_TYPES_H__ 00071 00072 #include "queue.h" 00073 00074 typedef unsigned tagtype; /* for tagging allocated things -- see credel.d */ 00075 00076 typedef int ALIGN; 00077 union header { 00078 struct { 00079 union header *ptr; 00080 unsigned size; 00081 } s; 00082 ALIGN x; 00083 }; 00084 00085 typedef union header HEADER; 00086 00087 /* 00088 * On-Disk Navigation Types 00089 */ 00090 00091 typedef int typediskloafptrdigit; /* long disk block number */ 00092 #define DISKPTRNULL -1 /* invalid disk pointer */ 00093 00094 struct typediskloafptr { 00095 typediskloafptrdigit diskblocknumber; 00096 int insidediskblocknumber; 00097 }; 00098 00099 /* 00100 * Coordinate Types 00101 */ 00102 00103 #include "tumbler.h" 00104 00105 class IStreamAddr: public Tumbler 00106 { 00107 }; 00108 00109 /* 00110 * span 00111 */ 00112 00113 struct typespan { 00114 typespan *next; 00115 typeitemid itemid; 00116 Tumbler stream; 00117 Tumbler width; 00118 }; 00119 typedef typespan *typespanset; 00120 00121 /* 00122 * knives 00123 */ 00124 00125 #define MAXCUTS 4 00126 struct typecutseq { 00127 int numberofcuts; 00128 Tumbler cutsarray[MAXCUTS]; 00129 }; 00130 00131 struct typeknives { /* this is nd internal version of cutseq */ 00132 int nblades; 00133 Tumbler blades[MAXCUTS]; 00134 int dimension; /* always V, assigned by rearrange2d */ 00135 }; 00136 00137 00138 /* 00139 * wisp 00140 */ 00141 00142 #define MAXLOXIZE 2 00143 00144 struct typewid { 00145 Tumbler dsas[MAXLOXIZE]; 00146 }; 00147 typedef typewid typedsp; 00148 typedef typewid typewisp; 00149 00150 #include "session.h" 00151 #include "crum.h" 00152 #include "context.h" 00153 #include "enf.h" 00154 #include "coredisk.h" 00155 00156 #endif /* !__UDANAX_TYPES_H__*/
1.3.4