xref: /openbsd-src/gnu/usr.bin/texinfo/makeinfo/html.h (revision a1acfa9b69ad64eb720639240c8438f11107dc85)
11cc83814Sespie /* html.h -- declarations for html-related utilities.
2*a1acfa9bSespie    $Id: html.h,v 1.1.1.3 2006/07/17 16:03:46 espie Exp $
31cc83814Sespie 
4*a1acfa9bSespie    Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
51cc83814Sespie 
61cc83814Sespie    This program is free software; you can redistribute it and/or modify
71cc83814Sespie    it under the terms of the GNU General Public License as published by
81cc83814Sespie    the Free Software Foundation; either version 2, or (at your option)
91cc83814Sespie    any later version.
101cc83814Sespie 
111cc83814Sespie    This program is distributed in the hope that it will be useful,
121cc83814Sespie    but WITHOUT ANY WARRANTY; without even the implied warranty of
131cc83814Sespie    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
141cc83814Sespie    GNU General Public License for more details.
151cc83814Sespie 
161cc83814Sespie    You should have received a copy of the GNU General Public License
171cc83814Sespie    along with this program; if not, write to the Free Software Foundation,
181cc83814Sespie    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
191cc83814Sespie 
201cc83814Sespie #ifndef HTML_H
211cc83814Sespie #define HTML_H
221cc83814Sespie 
23*a1acfa9bSespie /* A stack of font tags.  */
24*a1acfa9bSespie typedef struct hstack
25*a1acfa9bSespie {
26*a1acfa9bSespie   struct hstack *next;
27*a1acfa9bSespie   char *tag;
28*a1acfa9bSespie   char *attribs;
29*a1acfa9bSespie } HSTACK;
30*a1acfa9bSespie 
311cc83814Sespie /* Nonzero if we have output the <head>.  */
321cc83814Sespie extern int html_output_head_p;
331cc83814Sespie 
34*a1acfa9bSespie /* Nonzero if we have output a title, from @titlefont or @settitle.  */
35*a1acfa9bSespie extern int html_title_written;
36*a1acfa9bSespie 
371cc83814Sespie /* Perform the <head> output.  */
38*a1acfa9bSespie extern void html_output_head (void);
391cc83814Sespie 
401cc83814Sespie /* Escape &<>.  */
41*a1acfa9bSespie extern char *escape_string (char *);
421cc83814Sespie 
431cc83814Sespie /* Open or close TAG according to START_OR_END.  */
44*a1acfa9bSespie extern void insert_html_tag (int start_or_end, char *tag);
451cc83814Sespie 
461cc83814Sespie /* Output HTML <link> to NODE, plus extra ATTRIBUTES.  */
47*a1acfa9bSespie extern void add_link (char *nodename, char *attributes);
481cc83814Sespie 
49*a1acfa9bSespie /* Escape URL-special characters.  */
50*a1acfa9bSespie extern void add_escaped_anchor_name (char *name, int old);
511cc83814Sespie 
521cc83814Sespie /* See html.c.  */
53*a1acfa9bSespie extern void add_anchor_name (char *nodename, int href);
54*a1acfa9bSespie extern void add_url_name (char *nodename, int href);
55*a1acfa9bSespie extern void add_nodename_to_filename (char *nodename, int href);
56*a1acfa9bSespie extern char *nodename_to_filename (char *nodename);
57*a1acfa9bSespie extern int rollback_empty_tag (char *tag);
58*a1acfa9bSespie 
59*a1acfa9bSespie #if defined (VA_FPRINTF) && __STDC__
60*a1acfa9bSespie extern void insert_html_tag_with_attribute (int start_or_end, char *tag, char *format, ...);
61*a1acfa9bSespie #else
62*a1acfa9bSespie extern void insert_html_tag_with_attribute ();
63*a1acfa9bSespie #endif
641cc83814Sespie 
651cc83814Sespie #endif /* !HTML_H */
66