156160Sru/* html.h -- declarations for html-related utilities.
2146515Sru   $Id: html.h,v 1.6 2004/11/30 02:03:23 karl Exp $
356160Sru
4146515Sru   Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
556160Sru
656160Sru   This program is free software; you can redistribute it and/or modify
756160Sru   it under the terms of the GNU General Public License as published by
856160Sru   the Free Software Foundation; either version 2, or (at your option)
956160Sru   any later version.
1056160Sru
1156160Sru   This program is distributed in the hope that it will be useful,
1256160Sru   but WITHOUT ANY WARRANTY; without even the implied warranty of
1356160Sru   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1456160Sru   GNU General Public License for more details.
1556160Sru
1656160Sru   You should have received a copy of the GNU General Public License
1756160Sru   along with this program; if not, write to the Free Software Foundation,
1856160Sru   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
1956160Sru
2056160Sru#ifndef HTML_H
2156160Sru#define HTML_H
2256160Sru
23114472Sru/* A stack of font tags.  */
24114472Srutypedef struct hstack
25114472Sru{
26114472Sru  struct hstack *next;
27114472Sru  char *tag;
28146515Sru  char *attribs;
29114472Sru} HSTACK;
30114472Sru
3156160Sru/* Nonzero if we have output the <head>.  */
3256160Sruextern int html_output_head_p;
3356160Sru
34114472Sru/* Nonzero if we have output a title, from @titlefont or @settitle.  */
35114472Sruextern int html_title_written;
36114472Sru
3756160Sru/* Perform the <head> output.  */
38146515Sruextern void html_output_head (void);
3956160Sru
4056160Sru/* Escape &<>.  */
41146515Sruextern char *escape_string (char *);
4256160Sru
4356160Sru/* Open or close TAG according to START_OR_END.  */
44146515Sruextern void insert_html_tag (int start_or_end, char *tag);
4556160Sru
4656160Sru/* Output HTML <link> to NODE, plus extra ATTRIBUTES.  */
47146515Sruextern void add_link (char *nodename, char *attributes);
4856160Sru
49146515Sru/* Escape URL-special characters.  */
50146515Sruextern void add_escaped_anchor_name (char *name, int old);
5156160Sru
5256160Sru/* See html.c.  */
53146515Sruextern void add_anchor_name (char *nodename, int href);
54146515Sruextern void add_url_name (char *nodename, int href);
55146515Sruextern void add_nodename_to_filename (char *nodename, int href);
56146515Sruextern char *nodename_to_filename (char *nodename);
57146515Sruextern int rollback_empty_tag (char *tag);
5856160Sru
59146515Sru#if defined (VA_FPRINTF) && __STDC__
60146515Sruextern void insert_html_tag_with_attribute (int start_or_end, char *tag, char *format, ...);
61146515Sru#else
62146515Sruextern void insert_html_tag_with_attribute ();
63146515Sru#endif
64146515Sru
6556160Sru#endif /* !HTML_H */
66