00001 /************************************************************************ 00002 * * 00003 * Copyright (c) 1985 by * 00004 * Digital Equipment Corporation, Maynard, MA * 00005 * All rights reserved. * 00006 * * 00007 * The information in this software is subject to change without * 00008 * notice and should not be construed as a commitment by Digital * 00009 * Equipment Corporation. * 00010 * * 00011 * Digital assumes no responsibility for the use or reliability * 00012 * of its software on equipment which is not supplied by Digital. * 00013 * * 00014 * Redistribution and use in source and binary forms are permitted * 00015 * provided that the above copyright notice and this paragraph are * 00016 * duplicated in all such forms and that any documentation, * 00017 * advertising materials, and other materials related to such * 00018 * distribution and use acknowledge that the software was developed * 00019 * by Digital Equipment Corporation. The name of Digital Equipment * 00020 * Corporation may not be used to endorse or promote products derived * 00021 * from this software without specific prior written permission. * 00022 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * 00023 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * 00024 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.* 00025 * Do not take internally. In case of accidental ingestion, contact * 00026 * your physician immediately. * 00027 * * 00028 ************************************************************************/ 00029 00030 #ifndef _INCL_MNEMCONF_H 00031 00032 /* 00033 /fats/tools/hsv/mnemosyne/mnemconf.h,v 1.1.1.1 1995/06/06 18:18:29 fabio Exp 00034 */ 00035 00036 /* 00037 site specific and shared internal data structures used by mnemosyne. 00038 the only data structure that may need to be shared is the struct ptr, 00039 which is defined herein. 00040 00041 Marcus J. Ranum, 1990. (mjr@decuac.dec.com) 00042 */ 00043 00044 00045 00046 /* if your machine has malloc and all declared as a (void *) not a (char *) */ 00047 #ifdef MALLOC_IS_VOIDSTAR 00048 typedef void *mall_t; 00049 #else 00050 typedef char *mall_t; 00051 #endif 00052 00053 00054 /* size of internal hash tables - don't go wild - this is slow anyhow */ 00055 #define HASHSIZ 2027 00056 00057 00058 /* names of files to write */ 00059 #define LINESFILE "mnem.syms" 00060 #define PTRFILE "mnem.dat" 00061 00062 00063 extern mall_t malloc(); 00064 extern mall_t realloc(); 00065 extern mall_t calloc(); 00066 extern void free(); 00067 00068 00069 /* 00070 storage for a pointer map entry - the only data structure we share 00071 a whole mess of these get written to mnem.dat as calls to malloc and 00072 whatnot are made. the distinction between an *allocated* pointer and 00073 and unallocated one is that 'siz' is 0 in freed ptrs. this is used 00074 by the post-processor to look for memory leaks. 00075 */ 00076 struct ptr { 00077 mall_t ptr; /* pointer to allocated memory */ 00078 int map; /* this pointer's map # */ 00079 struct ptr *next; 00080 00081 /* only part that gets written to the disk */ 00082 struct { 00083 unsigned siz; /* size allocated (or 0) */ 00084 int smap; /* symbol map # */ 00085 } dsk; 00086 }; 00087 00088 #define _INCL_MNEMCONF_H 00089 #endif
1.2.18