diff options
Diffstat (limited to 'Build/source/texk/bibtex8/gblvars.h')
-rw-r--r-- | Build/source/texk/bibtex8/gblvars.h | 467 |
1 files changed, 467 insertions, 0 deletions
diff --git a/Build/source/texk/bibtex8/gblvars.h b/Build/source/texk/bibtex8/gblvars.h new file mode 100644 index 00000000000..7939a3cf80c --- /dev/null +++ b/Build/source/texk/bibtex8/gblvars.h @@ -0,0 +1,467 @@ +/*- +****************************************************************************** +****************************************************************************** +** +** MODULE +** +** $RCSfile: gblvars.h,v $ +** $Revision: 3.71 $ +** $Date: 1996/08/18 20:47:30 $ +** +** DESCRIPTION +** +** A 32-bit implementation of BibTeX v0.99c for MS-DOS, OS/2 2.x, +** Unix and VMS. This C language implementation is based on the +** original WEB source but it has been enhanced to support 8-bit input +** characters and a very large processing capacity. +** +** For documentation describing how to use and build this program, +** see the 00README.TXT file that accompanies this distribution. +** +** MODULE CONTENTS +** +** This module contains the declarations for all of the global +** variables used by BibTeX. This module must be included by all of +** the .C modules. The variables are declared in alphabetical order. +** +** AUTHORS +** +** Original WEB translation to C, conversion to "big" (32-bit) capacity, +** addition of run-time selectable capacity and 8-bit support extensions +** by: +** +** Niel Kempson +** Snowy Owl Systems Limited, Cheltenham, England +** E-mail: kempson@snowyowl.co.uk +** +** 8-bit support extensions also by: +** +** Alejandro Aguilar-Sierra +** Centro de Ciencias de la Atm\'osfera, +** Universidad Nacional Aut\'onoma de M\'exico, M\'exico +** E-mail: asierra@servidor.unam.mx +** +** COPYRIGHT +** +** This implementation copyright (c) 1991-1995 by Niel Kempson +** and copyright (c) 1995 by Alejandro Aguilar-Sierra. +** +** This program is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 1, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +** +** In other words, you are welcome to use, share and improve this +** program. You are forbidden to forbid anyone else to use, share +** and improve what you give them. Help stamp out software-hoarding! +** +** ACKNOWLEDGEMENT +** +** The original BibTeX was written by Oren Patashnik using Donald +** Knuth's WEB system. This format produces a PASCAL program for +** execution and a TeX documented version of the source code. This +** program started as a (manual) translation of the WEB source into C. +** +** CHANGE LOG +** +** $Log: gblvars.h,v $ +** Revision 3.71 1996/08/18 20:47:30 kempson +** Official release 3.71 (see HISTORY file for details). +** +** Revision 3.70 1996/04/08 10:08:40 kempson +** Final documentation & cosmetic changes for official release 3.70. +** +** Revision 3.6 1995/10/21 22:18:36 kempson +** Added flag to support --wolfgang option. +** +** Revision 3.5 1995/09/24 20:44:37 kempson +** Many changes for final beta test version. +** +** Revision 3.4 1995/04/09 22:15:45 kempson +** Placed under RCS control +** +****************************************************************************** +****************************************************************************** +*/ +#ifndef __GBLVARS_H__ +# define __GBLVARS_H__ 1 + + +/*- +**---------------------------------------------------------------------------- +** If this file is included by BIBTEX.C, declare all of the variables, +** otherwise just reference them as extern. +**---------------------------------------------------------------------------- +*/ +#ifdef __BIBTEX_C__ +# define __EXTERN__ +#else /* NOT __BIBTEX_C__ */ +# define __EXTERN__ extern +#endif /* __BIBTEX_C__ */ + + +__EXTERN__ Boolean_T all_entries; +__EXTERN__ CiteNumber_T all_marker; +__EXTERN__ Boolean_T alpha_found; +__EXTERN__ Boolean_T and_found; +__EXTERN__ Boolean_T at_bib_command; +__EXTERN__ LongJumpBuf_T Aux_Done_Flag; +__EXTERN__ Integer_T aux_name_length; +__EXTERN__ AuxNumber_T aux_ptr; + +__EXTERN__ HashLoc_T b_add_period; +__EXTERN__ HashLoc_T b_call_type; +__EXTERN__ HashLoc_T b_change_case; +__EXTERN__ HashLoc_T b_chr_to_int; +__EXTERN__ HashLoc_T b_cite; +__EXTERN__ HashLoc_T b_concatenate; +__EXTERN__ HashLoc_T b_default; +__EXTERN__ HashLoc_T b_duplicate; +__EXTERN__ HashLoc_T b_empty; +__EXTERN__ HashLoc_T b_equals; +__EXTERN__ HashLoc_T b_format_name; +__EXTERN__ HashLoc_T b_gets; +__EXTERN__ HashLoc_T b_greater_than; +__EXTERN__ HashLoc_T b_if; +__EXTERN__ HashLoc_T b_int_to_chr; +__EXTERN__ HashLoc_T b_int_to_str; +__EXTERN__ HashLoc_T b_less_than; +__EXTERN__ HashLoc_T b_minus; +__EXTERN__ HashLoc_T b_missing; +__EXTERN__ HashLoc_T b_newline; +__EXTERN__ HashLoc_T b_num_names; +__EXTERN__ HashLoc_T b_plus; +__EXTERN__ HashLoc_T b_pop; +__EXTERN__ HashLoc_T b_preamble; +__EXTERN__ HashLoc_T b_purify; +__EXTERN__ HashLoc_T b_quote; +__EXTERN__ HashLoc_T b_skip; +__EXTERN__ HashLoc_T b_stack; +__EXTERN__ HashLoc_T b_substring; +__EXTERN__ HashLoc_T b_swap; +__EXTERN__ HashLoc_T b_text_length; +__EXTERN__ HashLoc_T b_text_prefix; +__EXTERN__ HashLoc_T b_top_stack; +__EXTERN__ HashLoc_T b_type; +__EXTERN__ HashLoc_T b_warning; +__EXTERN__ HashLoc_T b_while; +__EXTERN__ HashLoc_T b_width; +__EXTERN__ HashLoc_T b_write; +__EXTERN__ Integer_T bad; +__EXTERN__ AlphaFile_T bbl_file; +__EXTERN__ Integer_T bbl_line_num; +__EXTERN__ PdsType_T bib_area_string; +__EXTERN__ Integer_T bib_brace_level; +__EXTERN__ Integer_T bib_line_num; +__EXTERN__ BibNumber_T bib_ptr; +__EXTERN__ Boolean_T bib_seen; +__EXTERN__ Integer_T brace_level; +__EXTERN__ PdsType_T bst_area_string; +__EXTERN__ LongJumpBuf_T Bst_Done_Flag; +__EXTERN__ AlphaFile_T bst_file; +__EXTERN__ Integer_T bst_line_num; +__EXTERN__ Boolean_T bst_seen; +__EXTERN__ StrNumber_T bst_str; +__EXTERN__ BufType_T buffer; +__EXTERN__ BufPointer_T buf_ptr1; +__EXTERN__ BufPointer_T buf_ptr2; + +__EXTERN__ Boolean_T citation_seen; +__EXTERN__ Boolean_T cite_found; +__EXTERN__ Boolean_T cite_hash_found; +__EXTERN__ HashLoc_T cite_loc; +__EXTERN__ CiteNumber_T cite_parent_ptr; +__EXTERN__ CiteNumber_T cite_ptr; +__EXTERN__ CiteNumber_T cite_xptr; +__EXTERN__ LongJumpBuf_T Close_Up_Shop_Flag; +__EXTERN__ StrNumber_T cmd_str_ptr; +__EXTERN__ BufPointer_T comma1; +__EXTERN__ BufPointer_T comma2; +__EXTERN__ Char_T **command_line_arg_strings; +__EXTERN__ Integer_T command_num; +__EXTERN__ HashLoc_T control_seq_loc; +__EXTERN__ Integer8_T conversion_type; +__EXTERN__ FieldLoc_T crossref_num; +__EXTERN__ HashLoc_T cur_macro_loc; +__EXTERN__ BufPointer_T cur_token; + +__EXTERN__ Boolean_T double_letter; +__EXTERN__ HashLoc_T dummy_loc; + +__EXTERN__ Boolean_T end_of_group; +__EXTERN__ Integer_T ent_chr_ptr; +__EXTERN__ CiteNumber_T entry_cite_ptr; +__EXTERN__ Boolean_T entry_seen; +__EXTERN__ HashLoc_T entry_type_loc; +__EXTERN__ Integer_T err_count; +__EXTERN__ BufType_T ex_buf; +__EXTERN__ BufPointer_T ex_buf_length; +__EXTERN__ BufPointer_T ex_buf_ptr; +__EXTERN__ BufPointer_T ex_buf_xptr; +__EXTERN__ BufPointer_T ex_buf_yptr; +__EXTERN__ LongJumpBuf_T Exit_Program_Flag; + +__EXTERN__ FieldLoc_T field_end_ptr; +__EXTERN__ HashLoc_T field_name_loc; +__EXTERN__ FieldLoc_T field_parent_ptr; +__EXTERN__ FieldLoc_T field_ptr; +__EXTERN__ HashLoc_T field_val_loc; +__EXTERN__ BufPointer_T first_end; +__EXTERN__ BufPointer_T first_start; +__EXTERN__ HashLoc_T fn_loc; + +__EXTERN__ Integer_T glob_chr_ptr; + +__EXTERN__ Boolean_T hash_found; +__EXTERN__ Integer16_T hash_used; +__EXTERN__ Integer8_T history; + +__EXTERN__ Integer_T impl_fn_num; +__EXTERN__ IntEntLoc_T int_ent_ptr; + +__EXTERN__ BufPointer_T jr_end; + +__EXTERN__ BufPointer_T last; +__EXTERN__ BufPointer_T last_end; +__EXTERN__ BufPointer_T last_token; +__EXTERN__ HashLoc_T lc_cite_loc; +__EXTERN__ HashLoc_T lc_xcite_loc; +__EXTERN__ HashLoc_T literal_loc; +__EXTERN__ LitStkLoc_T lit_stk_ptr; +__EXTERN__ AlphaFile_T log_file; + +__EXTERN__ HashLoc_T macro_def_loc; +__EXTERN__ HashLoc_T macro_name_loc; +__EXTERN__ Boolean_T mess_with_entries; + +__EXTERN__ BufPointer_T name_bf_ptr; +__EXTERN__ BufPointer_T name_bf_xptr; +__EXTERN__ BufPointer_T name_bf_yptr; +__EXTERN__ Integer_T name_length; +__EXTERN__ Integer_T name_ptr; +__EXTERN__ Integer_T nm_brace_level; +__EXTERN__ Boolean_T no_fields; +__EXTERN__ BibNumber_T num_bib_files; +__EXTERN__ CiteNumber_T num_cites; +__EXTERN__ BufPointer_T num_commas; +__EXTERN__ IntEntLoc_T num_ent_ints; +__EXTERN__ StrEntLoc_T num_ent_strs; +__EXTERN__ FieldLoc_T num_fields; +__EXTERN__ Integer8_T num_glb_strs; +__EXTERN__ Integer_T num_names; +__EXTERN__ BibNumber_T num_preamble_strings; +__EXTERN__ FieldLoc_T num_pre_defined_fields; +__EXTERN__ BufPointer_T num_text_chars; +__EXTERN__ BufPointer_T num_tokens; +__EXTERN__ Integer8_T number_of_command_line_args; + +__EXTERN__ CiteNumber_T old_num_cites; +__EXTERN__ BufType_T out_buf; +__EXTERN__ BufPointer_T out_buf_length; +__EXTERN__ BufPointer_T out_buf_ptr; + +__EXTERN__ PoolPointer_T pool_ptr; +__EXTERN__ Integer_T pop_lit1; +__EXTERN__ Integer_T pop_lit2; +__EXTERN__ Integer_T pop_lit3; +__EXTERN__ StkType_T pop_typ1; +__EXTERN__ StkType_T pop_typ2; +__EXTERN__ StkType_T pop_typ3; +__EXTERN__ PoolPointer_T p_ptr1; +__EXTERN__ PoolPointer_T p_ptr2; +__EXTERN__ BibNumber_T preamble_ptr; +__EXTERN__ Boolean_T preceding_white; +__EXTERN__ HashLoc_T pre_def_loc; +__EXTERN__ Boolean_T prev_colon; + +__EXTERN__ Boolean_T read_completed; +__EXTERN__ Boolean_T reading_completed; +__EXTERN__ Boolean_T read_performed; +__EXTERN__ Boolean_T read_seen; +__EXTERN__ ASCIICode_T right_outer_delim; +__EXTERN__ ASCIICode_T right_str_delim; + +__EXTERN__ StrNumber_T s_aux_extension; +__EXTERN__ StrNumber_T s_bbl_extension; +__EXTERN__ StrNumber_T s_bib_area; +__EXTERN__ StrNumber_T s_bib_extension; +__EXTERN__ StrNumber_T s_bst_area; +__EXTERN__ StrNumber_T s_bst_extension; +__EXTERN__ StrNumber_T s_default; +__EXTERN__ StrNumber_T s_l; +__EXTERN__ StrNumber_T s_log_extension; +__EXTERN__ StrNumber_T s_null; +__EXTERN__ StrNumber_T s_t; +__EXTERN__ StrNumber_T s_u; +__EXTERN__ Integer8_T scan_result; +__EXTERN__ CiteNumber_T sort_cite_ptr; +__EXTERN__ StrEntLoc_T sort_key_num; +__EXTERN__ Integer_T sp_brace_level; +__EXTERN__ PoolPointer_T sp_end; +__EXTERN__ PoolPointer_T sp_length; +__EXTERN__ PoolPointer_T sp_ptr; +__EXTERN__ PoolPointer_T sp_xptr1; +__EXTERN__ PoolPointer_T sp_xptr2; +__EXTERN__ PoolPointer_T sp2_length; +__EXTERN__ Boolean_T store_entry; +__EXTERN__ Boolean_T store_field; +__EXTERN__ Boolean_T store_token; +__EXTERN__ StrEntLoc_T str_ent_ptr; +__EXTERN__ Integer8_T str_glb_ptr; +__EXTERN__ Integer_T string_width; +__EXTERN__ StrNumber_T str_num; +__EXTERN__ StrNumber_T str_ptr; +__EXTERN__ BufType_T sv_buffer; +__EXTERN__ BufPointer_T sv_ptr1; +__EXTERN__ BufPointer_T sv_ptr2; + +__EXTERN__ Integer_T tmp_end_ptr; +__EXTERN__ Integer_T tmp_ptr; +__EXTERN__ Boolean_T to_be_written; +__EXTERN__ Boolean_T token_starting; +__EXTERN__ Integer_T token_value; +__EXTERN__ StrNumber_T top_lev_str; +__EXTERN__ Boolean_T type_exists; + +__EXTERN__ Boolean_T use_default; + +__EXTERN__ BufPointer_T von_end; +__EXTERN__ BufPointer_T von_start; + +__EXTERN__ WizFnLoc_T wiz_def_ptr; +__EXTERN__ WizFnLoc_T wiz_fn_ptr; +__EXTERN__ HashLoc_T wiz_loc; + +#ifdef STAT +__EXTERN__ HashLoc_T blt_in_loc[NUM_BLT_IN_FNS + 1]; +__EXTERN__ BltInRange_T blt_in_ptr; +__EXTERN__ Integer_T execution_count[NUM_BLT_IN_FNS + 1]; +__EXTERN__ Integer_T total_ex_count; +#endif /* STAT */ + + +/*- +**---------------------------------------------------------------------------- +** STATIC GLOBAL ARRAYS DECLARED HERE +**---------------------------------------------------------------------------- +*/ +__EXTERN__ AlphaFile_T aux_file[AUX_STACK_SIZE + 1]; +__EXTERN__ StrNumber_T aux_list[AUX_STACK_SIZE + 1]; +__EXTERN__ Integer_T aux_ln_stack[AUX_STACK_SIZE + 1]; +__EXTERN__ AlphaFile_T bib_file[MAX_BIB_FILES + 1]; +__EXTERN__ StrNumber_T bib_list[MAX_BIB_FILES + 1]; +__EXTERN__ Integer_T char_width[LAST_ASCII_CHAR + 1]; +__EXTERN__ Integer_T glb_str_end[MAX_GLOB_STRS]; +__EXTERN__ StrNumber_T glb_str_ptr[MAX_GLOB_STRS]; +__EXTERN__ IDType_T id_class[LAST_ASCII_CHAR + 1]; +__EXTERN__ LexType_T lex_class[LAST_ASCII_CHAR + 1]; +__EXTERN__ Integer_T lit_stack[LIT_STK_SIZE + 1]; +__EXTERN__ StkType_T lit_stk_type[LIT_STK_SIZE + 1]; +__EXTERN__ ASCIICode_T name_sep_char[BUF_SIZE + 1]; +__EXTERN__ BufPointer_T name_tok[BUF_SIZE + 1]; +__EXTERN__ char name_of_file[FILE_NAME_SIZE + 1]; +__EXTERN__ StrNumber_T s_preamble[MAX_BIB_FILES + 1]; +__EXTERN__ char xchr[LAST_ASCII_CHAR + 1]; +__EXTERN__ ASCIICode_T xord[LAST_TEXT_CHAR + 1]; + +#ifdef SUPPORT_8BIT +/* +** Special arrays to manage character set report. +** +** c8upcase - contains the lowercase equivalent for each character. +** If a character has no lowercase equivalent (e.g. +** because it's not a letter), the value is set to that of +** the character. +** +** c8lowcase - contains the uppercase equivalent for each character +** If a character has no uppercase equivalent (e.g. +** because it's not a letter), the value is set to that of +** the character. +** +** c8order - contains the sorting weight for each character. If a +** character doesn't have a specified sorting weight, it +** will be set to the default SORT_LAST to ensure that it +** is sorted after any defined character. +*/ +__EXTERN__ unsigned char c8upcase[LAST_TEXT_CHAR + 1]; +__EXTERN__ unsigned char c8lowcase[LAST_TEXT_CHAR + 1]; +__EXTERN__ int c8order[LAST_TEXT_CHAR + 1]; +#endif /* SUPPORT_8BIT */ + + +/*- +**---------------------------------------------------------------------------- +** DYNAMICALLY ALLOCATED GLOBAL ARRAYS DECLARED HERE +**---------------------------------------------------------------------------- +*/ +__EXTERN__ StrNumber_T *cite_info; +__EXTERN__ StrNumber_T *cite_list; +__EXTERN__ Boolean_T *entry_exists; +__EXTERN__ Integer_T *entry_ints; +__EXTERN__ ASCIICode_T *entry_strs; +__EXTERN__ StrNumber_T *field_info; +__EXTERN__ FnClass_T *fn_type; +__EXTERN__ ASCIICode_T *global_strs[MAX_GLOB_STRS + 1]; +__EXTERN__ StrIlk_T *hash_ilk; +__EXTERN__ HashPointer_T *hash_next; +__EXTERN__ StrNumber_T *hash_text; +__EXTERN__ Integer_T *ilk_info; +__EXTERN__ ASCIICode_T *str_pool; +__EXTERN__ PoolPointer_T *str_start; +__EXTERN__ HashPtr2_T *type_list; +__EXTERN__ HashPtr2_T *wiz_functions; + + +/*- +**---------------------------------------------------------------------------- +** Variables used to record the results of the command line parsing. +**---------------------------------------------------------------------------- +*/ +__EXTERN__ Boolean_T Flag_7bit; +__EXTERN__ Boolean_T Flag_8bit; +__EXTERN__ Boolean_T Flag_8bit_alpha; +__EXTERN__ Boolean_T Flag_big; +__EXTERN__ Boolean_T Flag_debug; +__EXTERN__ Boolean_T Flag_huge; +__EXTERN__ Boolean_T Flag_stats; +__EXTERN__ Boolean_T Flag_trace; +__EXTERN__ Boolean_T Flag_wolfgang; +__EXTERN__ Integer_T M_cites; +__EXTERN__ Integer_T M_entints; +__EXTERN__ Integer_T M_entstrs; +__EXTERN__ Integer_T M_fields; +__EXTERN__ Integer_T M_min_crossrefs; +__EXTERN__ Integer_T M_pool; +__EXTERN__ Integer_T M_strings; +__EXTERN__ Integer_T M_wiz_fn_space; +__EXTERN__ char *Str_auxfile; +__EXTERN__ char *Str_csfile; + + +/*- +**---------------------------------------------------------------------------- +** Variables used to hold the value of certain key capacity limits. The +** values used to be #defined as the uppercase equivalent name, but can +** now be set dynamically from the command line. +**---------------------------------------------------------------------------- +*/ +__EXTERN__ Integer_T Hash_Prime; +__EXTERN__ Integer_T Hash_Size; +__EXTERN__ Integer_T Max_Cites; +__EXTERN__ Integer_T Max_Ent_Ints; +__EXTERN__ Integer_T Max_Ent_Strs; +__EXTERN__ Integer_T Max_Fields; +__EXTERN__ Integer_T Max_Strings; +__EXTERN__ Integer_T Min_Crossrefs; +__EXTERN__ Integer_T Pool_Size; +__EXTERN__ Integer_T Wiz_Fn_Space; +#endif /* __GBLVARS.H__ */ |