00001 /* 00002 * Ascend Instance Tree Type Definitions 00003 * by Tom Epperly 00004 * 8/16/89 00005 * Version: $Revision: 1.8 $ 00006 * Version control file: $RCSfile: copyinst.h,v $ 00007 * Date last modified: $Date: 1997/09/08 18:07:35 $ 00008 * Last modified by: $Author: ballan $ 00009 * 00010 * This file is part of the Ascend Language Interpreter. 00011 * 00012 * Copyright (C) 1990, 1993, 1994 Thomas Guthrie Epperly 00013 * 00014 * The Ascend Language Interpreter is free software; you can redistribute 00015 * it and/or modify it under the terms of the GNU General Public License as 00016 * published by the Free Software Foundation; either version 2 of the 00017 * License, or (at your option) any later version. 00018 * 00019 * The Ascend Language Interpreter is distributed in hope that it will be 00020 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 * General Public License for more details. 00023 * 00024 * You should have received a copy of the GNU General Public License 00025 * along with the program; if not, write to the Free Software Foundation, 00026 * Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named 00027 * COPYING. 00028 */ 00029 00043 #ifndef ASC_COPYINST_H 00044 #define ASC_COPYINST_H 00045 00050 enum Copy_enum { 00051 c_none, 00052 c_reference, 00053 c_tomodify 00054 }; 00055 00056 extern void CheckChildCopies(unsigned long int num, struct Instance **clist); 00062 extern void RedoChildPointers(unsigned long int num, 00063 struct Instance *newparent, 00064 struct Instance **newchildptrs, 00065 CONST struct Instance *oldparent, 00066 struct Instance * CONST *oldchildptrs); 00072 extern struct Instance *ShortCutMakeUniversalInstance(struct TypeDescription *type); 00086 extern void CollectNodes(struct Instance *i, struct gl_list_t *l); 00094 extern struct Instance *ShortCutProtoInstance(struct TypeDescription *type); 00110 ASC_DLLSPEC struct Instance *CopyInstance(CONST struct Instance *i); 00140 /* @} */ 00141 00142 #endif /* ASC_COPYINST_H */ 00143
1.5.1