home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fonts 1
/
freshfonts1.bin
/
bbs
/
programs
/
amiga
/
makeindex.lha
/
makeindex-2.12
/
src
/
mkind.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-04-02
|
21KB
|
778 lines
/*
*
* This file is part of
* MakeIndex - A formatter and format independent index processor
*
* Copyright (C) 1989 by Chen & Harrison International Systems, Inc.
* Copyright (C) 1988 by Olivetti Research Center
* Copyright (C) 1987 by Regents of the University of California
*
* Author:
* Pehong Chen
* Chen & Harrison International Systems, Inc.
* Palo Alto, California
* USA
* (phc@renoir.berkeley.edu or chen@orc.olivetti.com)
*
* Contributors:
* Please refer to the CONTRIB file that comes with this release
* for a list of people who have contributed to this and/or previous
* release(s) of MakeIndex.
*
* All rights reserved by the copyright holders. See the copyright
* notice distributed with this software for a complete description of
* the conditions under which it is made available.
*
*/
/***********************************************************************
INSTALLATION NOTES
<11-Nov-1989>
At compile-time (or here, if compile-time definition is not
available), set non-zero ONE OS_xxxx operating system flag, and if
more than one compiler is available, ONE compiler flag:
Operating Systems Compiler(s)
================= ===========
OS_AMIGA SAS/C v6.x
OS_ATARI
OS_BS2000 CCD_2000
OS_BSD
OS_MVSXA IBM_C370
OS_VMCMS IBM_C370
OS_PCDOS IBM_PC_MICROSOFT
OS_SYSV
OS_TOPS20 KCC_20 or PCC_20
OS_VAXVMS
OS_XENIX
================= ===========
If no OS_xxxx symbol is defined, OS_BSD is assumed.
If Standard C prototypes are supported, define the symbol
STDC_PROTOTYPES in the appropriate OS_xxxx section below, and insert
#include's for the standard system files which define library
prototypes. STDC_PROTOTYPES will be defined automatically if
__STDC__ is; the latter must be defined by all Standard C conformant
implementations.
All function declarations in MakeIndex are contained at the end of
this file. If 185STDC_PROTOTYPES is not selected, then all the standard
library functions must be declared explicitly.
If the host system restricts external names to 6 characters, set
SHORTNAMES non-zero in the appropriate OS_xxxx section below.
Installing MakeIndex under BS2000 requires at least Version 8.5
supporting Multiple Public Volume Sets (MPVS). Define WORK in this
file to your CATID (default :w:) for temporary files (.ilg, .ind),
in case of no MPVS support define WORK to NIL.
*/
/**********************************************************************/
#define STDC (__STDC__ || __cplusplus)
/*
* Establish needed operating symbols (defaulting to OS_BSD if none
* specified at compile time). If you add one, add it to the check
* list at the end of this section, too.
*/
#ifndef OS_AMIGA
#define OS_AMIGA 0
#endif
#ifndef OS_ATARI
#define OS_ATARI 0
#endif
#ifndef OS_PCDOS
#define OS_PCDOS 0
#endif
#ifndef IBM_PC_MICROSOFT
#define IBM_PC_MICROSOFT 0
#endif
#ifndef IBM_PC_TURBO
#define IBM_PC_TURBO 0
#endif
#ifdef __TURBOC__
#define IBM_PC_TURBO 1
#endif
#ifndef OS_SYSV
#define OS_SYSV 0
#endif
#ifndef OS_TOPS20
#define OS_TOPS20 0
#endif
#ifndef KCC_20
#define KCC_20 0
#endif
#ifndef PCC_20
#define PCC_20 0
#endif
#ifndef OS_BSD
#define OS_BSD 0
#endif
#ifndef OS_VAXVMS
#define OS_VAXVMS 0
#endif
#ifndef IBM_C370
#define IBM_C370 0
#endif
#ifndef CCD_2000
#define CCD_2000 0
#endif
#if OS_TOPS20
#if (KCC_20 || PCC_20)
#else
#undef PCC_20
#define PCC_20 1 /* PCC-20 is default for Tops-20 */
#endif /* KCC_20 || PCC_20) */
#endif /* OS_TOPS20 */
#ifndef OS_BS2000
#define OS_BS2000 0
#endif
#ifndef OS_MVSXA
#define OS_MVSXA 0
#endif
#ifndef OS_VMCMS
#define OS_VMCMS 0
#endif
#ifndef OS_XENIX
#define OS_XENIX 0
#endif
#if (OS_ATARI || OS_BSD || OS_BS2000 || OS_MVSXA || OS_PCDOS || OS_VMCMS)
#else
#if (OS_SYSV || OS_TOPS20 || OS_VAXVMS || OS_XENIX || OS_AMIGA)
#else
#undef OS_BSD
#define OS_BSD 1 /* Unix is default operating system */
#endif
#endif
#if (OS_MVSXA || OS_VMCMS)
#undef IBM_C370
#define IBM_C370 1 /* IBM_C370 is default for OS_MVSXA and OS_VMCMS */
#endif
#if OS_BS2000
#undef CCD_2000
#define CCD_2000 1 /* CCD_2000 is default for OS_BS2000 */
#endif
#if (CCD_2000 || OS_MVSXA || OS_TOPS20 || OS_VMCMS)
#define SHORTNAMES 1
#else
#define SHORTNAMES 0
#endif
#define STDC_PROTOTYPES STDC
/**********************************************************************/
#include <stdio.h>
#include <ctype.h>
#if (CCD_2000 || OS_SYSV || OS_PCDOS || STDC || _AIX || ardent )
#include <string.h>
#else
#if (OS_ATARI || OS_BSD || PCC_20 || OS_XENIX)
#define strchr index /* convert STDC form to old K&R form */
#define strrchr rindex /* convert STDC form to old K&R form */
#endif /* (OS_ATARI || OS_BSD || PCC_20 || OS_XENIX) */
#endif /* CCD_2000 || OS_SYSV || OS_PCDOS || STDC || _AIX || ardent) */
#if OS_PCDOS
#if (IBM_PC_MICROSOFT || IBM_PC_TURBO)
#include <io.h> /* for function declarations */
#endif /* (IBM_PC_MICROSOFT || IBM_PC_TURBO) */
#include <stddef.h> /* for function declarations */
#include <stdlib.h> /* for function declarations */
#undef STDC_PROTOTYPES
#define STDC_PROTOTYPES 1 /* so we get full argument
type checking */
#endif /* OS_PCDOS */
#if (OS_VMCMS || OS_MVSXA)
#include <stdefs.h> /* for function declarations */
#include <string.h> /* for function declarations */
#undef STDC_PROTOTYPES
#define STDC_PROTOTYPES 1 /* so we get full argument
type checking */
#if 0
#undef __STDC__
#define __STDC__ 1
#endif
#endif /* OS_MVSXA || OS_VMCMS */
#if OS_ATARI
#if ATARI_ST_TURBO
#define access(fn, mode) 0 /* function not available */
#endif
#if __GNUC__
#include <string.h>
#include <types.h>
#endif
#undef STDC_PROTOTYPES
#define STDC_PROTOTYPES 1 /* so we get full argument checking */
#endif /* OS_ATARI */
#if IBM_C370
#define access(fn, mode) 0 /* function not available */
#endif
#if CCD_2000 /* function not available */
#define getenv(P) 0
#endif /* CCD_2000 */
#if OS_AMIGA
#include <stddef.h> /* for function declarations */
#undef STDC_PROTOTYPES
#define STDC_PROTOTYPES 1 /* so we get full argument
type checking */
#endif /* OS_AMIGA */
#if SHORTNAMES
/*
* Provide alternate external names which are unique in the first SIX
* characters as required for portability (and Standard C)
*/
#define check_all chk_all
#define check_idx chk_idx
#define check_mixsym chk_mix
#define compare_one cmp_one
#define compare_page cmp_page
#define compare_string cmp_string
#define delim_n dlm_n
#define delim_p dlm_p
#define delim_r dlm_r
#define delim_t dlm_t
#define encap_i ecp_i
#define encap_p ecp_p
#define encap_range ecp_range
#define encap_s ecp_s
#define group_skip grp_skip
#define group_type grp_type
#define idx_aclose idxaclose
#define idx_actual idxactual
#define idx_keyword idx_kwd
#define indent_length ind_length
#define indent_space ind_space
#define headings_flag hd_flag
#define heading_pre hd_pre
#define heading_suf hd_suf
#define symhead_pos sym_pos
#define symhead_neg sym_neg
#define numhead_pos num_pos
#define numhead_neg num_neg
#define process_idx prc_idx
#define process_precedence prc_pre
#define range_ptr