/usr/include/xotcl/xotcl.h is in xotcl-dev 1.6.7-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | /* -*- Mode: c++ -*-
*
* $Id: xotcl.h,v 1.13 2007/09/18 19:27:33 neumann Exp $
*
* Extended Object Tcl (XOTcl)
*
* Copyright (C) 1999-2008 Gustaf Neumann, Uwe Zdun
*
* This software is based upon MIT Object Tcl by David Wetherall and
* Christopher J. Lindblad, that contains the following copyright
* message:
*
* Copyright 1993 Massachusetts Institute of Technology
*
* Permission to use, copy, modify, distribute, and sell this
* software and its documentation for any purpose is hereby granted
* without fee, provided that the above copyright notice appear in
* all copies and that both that copyright notice and this permission
* notice appear in supporting documentation, and that the name of
* M.I.T. not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission. M.I.T. makes no representations about the suitability
* of this software for any purpose. It is provided "as is" without
* express or implied warranty.
* */
#ifndef _xotcl_h_
#define _xotcl_h_
#include "tcl.h"
#undef TCL_STORAGE_CLASS
#ifdef BUILD_xotcl
# define TCL_STORAGE_CLASS DLLEXPORT
#else
# ifdef USE_XOTCL_STUBS
# define TCL_STORAGE_CLASS
# else
# define TCL_STORAGE_CLASS DLLIMPORT
# endif
#endif
/* use documented interface to link XOTcl state to an interpreter */
#define USE_ASSOC_DATA 1
/* new namespace support (post xotcl 1.2.0) */
#define NAMESPACEINSTPROCS 1
/* activate bytecode support
#define XOTCL_BYTECODE
*/
/* activate/deacticate profiling information at the end
of running the program
#define PROFILE
*/
/* make self, proc and class in instproc and procs
#define AUTOVARS
*/
#define KEEP_TCL_CMD_TYPE 1
/* activate/deacticate assert
#define NDEBUG 1
*/
#define NDEBUG 1
/* activate/deacticate memory tracing
#define XOTCL_MEM_TRACE 1
#define XOTCL_MEM_COUNT 1
*/
/*#define REFCOUNTED 1*/
/*
#define XOTCLOBJ_TRACE 1
#define REFCOUNT_TRACE 1
*/
/* turn tracing output on/off
#define CALLSTACK_TRACE 1
#define DISPATCH_TRACE 1
#define NAMESPACE_TRACE 1
#define OBJDELETION_TRACE 1
#define STACK_TRACE 1
*/
#ifdef XOTCL_MEM_COUNT
# define DO_FULL_CLEANUP 1
#endif
#ifdef AOL_SERVER
# ifndef TCL_THREADS
# define TCL_THREADS
# endif
#endif
#ifdef TCL_THREADS
# define DO_CLEANUP
#endif
#ifdef DO_FULL_CLEANUP
# define DO_CLEANUP
#endif
/*
* prevent old TCL-versions
*/
#if TCL_MAJOR_VERSION < 8
# error Tcl distribution is TOO OLD, we require at least tcl8.0
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<1
# define PRE81
#else
# if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION==1
# define V81
# endif
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<2
# define PRE82
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<3
# define PRE83
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<4
# define PRE84
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<5
# define PRE85
#endif
#if TCL_MAJOR_VERSION==8 && TCL_MINOR_VERSION<6
# define PRE86
#endif
#if !defined(FORWARD_COMPATIBLE)
# if defined(PRE85)
# define FORWARD_COMPATIBLE 1
# else
# define FORWARD_COMPATIBLE 0
# endif
#endif
#define XOTCL_NONLEAF_METHOD (ClientData)0x01
#if defined(PRE86)
# define CONST86
# define Tcl_GetErrorLine(interp) (interp)->errorLine
# define Tcl_NRCallObjProc(interp, proc, cd, objc, objv) \
(*(proc))((cd), (interp), (objc), (objv))
#else
# define NRE
#endif
/*
* A special definition used to allow this header file to be included
* in resource files so that they can get obtain version information from
* this file. Resource compilers don't like all the C stuff, like typedefs
* and procedure declarations, that occur below.
*/
#ifndef RC_INVOKED
/*
#ifdef __cplusplus
extern "C" {
#endif
*/
/*
* The structures XOTcl_Object and XOTcl_Class define mostly opaque
* data structures for the internal use strucures XOTclObject and
* XOTclClass (both defined in XOTclInt.h). Modification of elements
* visible elements must be mirrored in both incarnations.
*/
typedef struct XOTcl_Object {
Tcl_Obj *cmdName;
} XOTcl_Object;
typedef struct XOTcl_Class {
struct XOTcl_Object object;
} XOTcl_Class;
/*
* Include the public function declarations that are accessible via
* the stubs table.
*/
#include "xotclDecls.h"
/*
* Xotcl_InitStubs is used by extensions that can be linked
* against the xotcl stubs library. If we are not using stubs
* then this reduces to package require.
*/
#ifdef USE_XOTCL_STUBS
# ifdef __cplusplus
extern "C"
# endif
CONST char *
Xotcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, CONST char *version, int exact));
#else
# define Xotcl_InitStubs(interp, version, exact) \
Tcl_PkgRequire(interp, "XOTcl", version, exact)
#endif
#endif /* RC_INVOKED */
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _xotcl_h_ */
|