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