1/* html.h -- declarations for html-related utilities.
2   $Id: html.h,v 1.6 2004/11/30 02:03:23 karl Exp $
3
4   Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software Foundation,
18   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19
20#ifndef HTML_H
21#define HTML_H
22
23/* A stack of font tags.  */
24typedef struct hstack
25{
26  struct hstack *next;
27  char *tag;
28  char *attribs;
29} HSTACK;
30
31/* Nonzero if we have output the <head>.  */
32extern int html_output_head_p;
33
34/* Nonzero if we have output a title, from @titlefont or @settitle.  */
35extern int html_title_written;
36
37/* Perform the <head> output.  */
38extern void html_output_head (void);
39
40/* Escape &<>.  */
41extern char *escape_string (char *);
42
43/* Open or close TAG according to START_OR_END.  */
44extern void insert_html_tag (int start_or_end, char *tag);
45
46/* Output HTML <link> to NODE, plus extra ATTRIBUTES.  */
47extern void add_link (char *nodename, char *attributes);
48
49/* Escape URL-special characters.  */
50extern void add_escaped_anchor_name (char *name, int old);
51
52/* See html.c.  */
53extern void add_anchor_name (char *nodename, int href);
54extern void add_url_name (char *nodename, int href);
55extern void add_nodename_to_filename (char *nodename, int href);
56extern char *nodename_to_filename (char *nodename);
57extern int rollback_empty_tag (char *tag);
58
59#if defined (VA_FPRINTF) && __STDC__
60extern void insert_html_tag_with_attribute (int start_or_end, char *tag, char *format, ...);
61#else
62extern void insert_html_tag_with_attribute ();
63#endif
64
65#endif /* !HTML_H */
66