Home | History | Annotate | Line # | Download | only in makeinfo
      1  1.4     oster /*	$NetBSD: sectioning.h,v 1.4 2025/12/31 22:18:50 oster Exp $	*/
      2  1.1  christos 
      3  1.1  christos /* sectioning.h -- all related stuff @chapter, @section... @contents
      4  1.1  christos    Id: sectioning.h,v 1.5 2004/04/11 17:56:47 karl Exp
      5  1.1  christos 
      6  1.1  christos    Copyright (C) 1999, 2003 Free Software Foundation, Inc.
      7  1.1  christos 
      8  1.1  christos    This program is free software; you can redistribute it and/or modify
      9  1.1  christos    it under the terms of the GNU General Public License as published by
     10  1.1  christos    the Free Software Foundation; either version 2, or (at your option)
     11  1.1  christos    any later version.
     12  1.1  christos 
     13  1.1  christos    This program is distributed in the hope that it will be useful,
     14  1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16  1.1  christos    GNU General Public License for more details.
     17  1.1  christos 
     18  1.1  christos    You should have received a copy of the GNU General Public License
     19  1.1  christos    along with this program; if not, write to the Free Software
     20  1.1  christos    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     21  1.1  christos 
     22  1.1  christos    Written by Karl Heinz Marbaise <kama (at) hippo.fido.de>.  */
     23  1.1  christos 
     24  1.1  christos #ifndef SECTIONING_H
     25  1.1  christos #define SECTIONING_H
     26  1.1  christos 
     27  1.1  christos /* Sectioning.  */
     28  1.1  christos 
     29  1.1  christos /* Level 4.  */
     30  1.4     oster extern void cm_chapter (int arg, int arg2, int arg3),
     31  1.4     oster   cm_unnumbered (int arg, int arg2, int arg3),
     32  1.4     oster   cm_appendix (int arg, int arg2, int arg3),
     33  1.4     oster   cm_top (int arg, int arg2, int arg3);
     34  1.1  christos 
     35  1.1  christos /* Level 3.  */
     36  1.4     oster extern void cm_section (int arg, int arg2, int arg3),
     37  1.4     oster   cm_unnumberedsec (int arg, int arg2, int arg3),
     38  1.4     oster   cm_appendixsec (int arg, int arg2, int arg3);
     39  1.1  christos 
     40  1.1  christos /* Level 2.  */
     41  1.4     oster extern void cm_subsection (int arg, int arg2, int arg3),
     42  1.4     oster   cm_unnumberedsubsec (int arg, int arg2, int arg3),
     43  1.4     oster   cm_appendixsubsec (int arg, int arg2, int arg3);
     44  1.1  christos 
     45  1.1  christos /* Level 1.  */
     46  1.4     oster extern void cm_subsubsection (int arg, int arg2, int arg3),
     47  1.4     oster   cm_unnumberedsubsubsec (int arg, int arg2, int arg3),
     48  1.4     oster   cm_appendixsubsubsec (int arg, int arg2, int arg3);
     49  1.1  christos 
     50  1.1  christos /* Headings.  */
     51  1.4     oster extern void cm_heading (int arg, int arg2, int arg3),
     52  1.4     oster   cm_chapheading (int arg, int arg2, int arg3),
     53  1.4     oster   cm_subheading (int arg, int arg2, int arg3),
     54  1.4     oster   cm_subsubheading (int arg, int arg2, int arg3),
     55  1.4     oster   cm_majorheading (int arg, int arg2, int arg3);
     56  1.1  christos 
     57  1.4     oster extern void cm_raisesections (int arg, int arg2, int arg3),
     58  1.4     oster   cm_lowersections (int arg, int arg2, int arg3),
     59  1.1  christos   cm_ideprecated (int arg, int start, int end);
     60  1.1  christos 
     61  1.1  christos extern void
     62  1.1  christos   sectioning_underscore (char *cmd),
     63  1.1  christos   insert_and_underscore (int level, char *cmd);
     64  1.1  christos 
     65  1.1  christos /* needed in node.c */
     66  1.1  christos extern int set_top_section_level (int level);
     67  1.1  christos 
     68  1.1  christos extern void sectioning_html (int level, char *cmd);
     69  1.1  christos extern int what_section (char *text, char **secname);
     70  1.1  christos extern char *current_chapter_number (void),
     71  1.1  christos   *current_sectioning_number (void),
     72  1.1  christos   *current_sectioning_name (void);
     73  1.1  christos 
     74  1.1  christos /* The argument of @settitle, used for HTML. */
     75  1.1  christos extern char *title;
     76  1.1  christos 
     77  1.1  christos 
     78  1.1  christos /* Here is a structure which associates sectioning commands with
     79  1.1  christos    an integer that reflects the depth of the current section. */
     80  1.1  christos typedef struct
     81  1.1  christos {
     82  1.1  christos   char *name;
     83  1.1  christos   int level; /* I can't replace the levels with defines
     84  1.1  christos                 because it is changed during run */
     85  1.1  christos   int num; /* ENUM_SECT_NO means no enumeration...
     86  1.1  christos               ENUM_SECT_YES means enumerated version
     87  1.1  christos               ENUM_SECT_APP appendix (Character enumerated
     88  1.1  christos                             at first position */
     89  1.1  christos   int toc; /* TOC_NO means do not enter in toc;
     90  1.1  christos               TOC_YES means enter it in toc */
     91  1.1  christos } section_alist_type;
     92  1.1  christos 
     93  1.1  christos extern section_alist_type section_alist[];
     94  1.1  christos 
     95  1.1  christos /* enumerate sections */
     96  1.1  christos #define ENUM_SECT_NO  0
     97  1.1  christos #define ENUM_SECT_YES 1
     98  1.1  christos #define ENUM_SECT_APP 2
     99  1.1  christos 
    100  1.1  christos /* make entries into toc no/yes */
    101  1.1  christos #define TOC_NO  0
    102  1.1  christos #define TOC_YES 1
    103  1.1  christos 
    104  1.1  christos 
    105  1.1  christos #endif /* not SECTIONING_H */
    106