/*
 * bufIntDecls.h --
 *
 *	This file contains the declarations for all unsupported
 *	functions that are exported by the Buf library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 */

#ifndef _BUFINTDECLS
#define _BUFINTDECLS

/*
 * WARNING: This file is automatically generated by the tools/genStubs.tcl
 * script.  Any modifications to the function declarations below should be made
 * in the generic/bufInt.decls script.
 */

/* !BEGIN!: Do not edit below this line. */

/*
 * Exported function declarations:
 */


typedef struct BufIntStubs {
    int magic;
    struct BufIntStubHooks *hooks;

} BufIntStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern BufIntStubs *bufIntStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_BUF_STUBS) && !defined(USE_BUF_STUB_PROCS)

/*
 * Inline function declarations:
 */


#endif /* defined(USE_BUF_STUBS) && !defined(USE_BUF_STUB_PROCS) */

/* !END!: Do not edit above this line. */

/* Detect Tcl 8.4 and beyond => API CONSTification
 */

#define GT84 ((TCL_MAJOR_VERSION > 8) || \
((TCL_MAJOR_VERSION == 8) && \
 (TCL_MINOR_VERSION >= 4)))

/* There are currently two cases to consider
 *
 * 1. An API function called with a const string, which was non-const
 *    in the relevant argument before 8.4 and is now const in that
 *    argument. This meanst that before 8.4 the actual parameter
 *    required a cast to unconst the value and doesn't require the
 *    cast for 8.4 and beyond.
 *
 *    This is solved by the macro MC_UNCONSTB84
 *    = MemChan unCONST Before 8.4
 *
 * 2. ... Not yet.
 */

#if GT84
#define MC_UNCONSTB84
#else
#define MC_UNCONSTB84   (char*)
#endif

#endif /* _BUFINTDECLS */
