00001 /* T C L C A D . H 00002 * BRL-CAD 00003 * 00004 * Copyright (c) 2004-2006 United States Government as represented by 00005 * the U.S. Army Research Laboratory. 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public License 00009 * as published by the Free Software Foundation; either version 2.1 of 00010 * the License, or (at your option) any later version. 00011 * 00012 * This library 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 GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this file; see the file named COPYING for more 00019 * information. 00020 */ 00021 /** @addtogroup libtclcad */ 00022 /*@{*/ 00023 /** @file tclcad.h 00024 *@brief 00025 * Header file for the BRL-CAD TclCAD Library, LIBTCLCAD. 00026 * 00027 * This library contains convenience routines for preparing and 00028 * initializing Tcl. 00029 * 00030 * @par Source 00031 * The U. S. Army Research Laboratory 00032 * Aberdeen Proving Ground, Maryland 21005-5068 USA 00033 * 00034 * $Header: /cvsroot/brlcad/brlcad/include/tclcad.h,v 14.3 2006/09/18 05:24:07 lbutler Exp $ 00035 */ 00036 00037 #ifndef __TCLCAD_H__ 00038 #define __TCLCAD_H__ 00039 00040 #include "common.h" 00041 00042 #include "tcl.h" 00043 #include "machine.h" 00044 00045 __BEGIN_DECLS 00046 00047 #ifndef TCLCAD_EXPORT 00048 # if defined(_WIN32) && !defined(__CYGWIN__) && defined(BRLCAD_DLL) 00049 # ifdef TCLCAD_EXPORT_DLL 00050 # define TCLCAD_EXPORT __declspec(dllexport) 00051 # else 00052 # define TCLCAD_EXPORT __declspec(dllimport) 00053 # endif 00054 # else 00055 # define TCLCAD_EXPORT 00056 # endif 00057 #endif 00058 00059 /* 00060 * Macros for providing function prototypes, regardless of whether 00061 * the compiler understands them or not. 00062 * It is vital that the argument list given for "args" be enclosed 00063 * in parens. 00064 * The setting of USE_PROTOTYPES is done in machine.h 00065 */ 00066 #ifdef USE_PROTOTYPES 00067 # define TCLCAD_EXTERN(type_and_name,args) extern type_and_name args 00068 # define TCLCAD_ARGS(args) args 00069 #else 00070 # define TCLCAD_EXTERN(type_and_name,args) extern type_and_name() 00071 # define TCLCAD_ARGS(args) () 00072 #endif 00073 00074 00075 TCLCAD_EXPORT TCLCAD_EXTERN(int tclcad_tk_setup, (Tcl_Interp *interp)); 00076 TCLCAD_EXPORT TCLCAD_EXTERN(void tclcad_auto_path, (Tcl_Interp *interp)); 00077 00078 __END_DECLS 00079 00080 #endif /* __TCLCAD_H__ */ 00081 /*@}*/ 00082 /* 00083 * Local Variables: 00084 * mode: C 00085 * tab-width: 8 00086 * c-basic-offset: 4 00087 * indent-tabs-mode: t 00088 * End: 00089 * ex: shiftwidth=4 tabstop=8 00090 */ 00091