html.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* html.h -- declarations for html-related utilities.
  2. $Id: html.h,v 1.12 2011-04-06 21:20:24 gray Exp $
  3. Copyright (C) 1999, 2000, 2002, 2004, 2007, 2008
  4. Free Software Foundation, Inc.
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see <http://www.gnu.org/licenses/>. */
  15. #ifndef HTML_H
  16. #define HTML_H
  17. /* A stack of font tags. */
  18. typedef struct hstack
  19. {
  20. struct hstack *next;
  21. char *tag;
  22. char *attribs;
  23. } HSTACK;
  24. /* Nonzero if we have output a title, from @titlefont or @settitle. */
  25. extern int html_title_written;
  26. /* Filename to which to write list of index entries, and stream for them */
  27. extern char *internal_links_filename;
  28. extern FILE *internal_links_stream;
  29. /* Perform the <head> output. */
  30. extern void html_output_head (void);
  31. /* Escape &<>. */
  32. extern char *escape_string (char *);
  33. /* Open or close TAG according to START_OR_END. */
  34. extern void insert_html_tag (int start_or_end, char *tag);
  35. /* Output HTML <link> to NODE, plus extra ATTRIBUTES. */
  36. extern void add_link (char *nodename, char *attributes);
  37. /* Escape URL-special characters. */
  38. extern char *escaped_anchor_name (const char *name);
  39. extern void add_escaped_anchor_name (char *name, int old);
  40. /* See html.c. */
  41. extern void add_anchor_name (char *nodename, int href);
  42. extern void add_url_name (char *nodename, int href);
  43. extern void add_nodename_to_filename (char *nodename, int href);
  44. extern char *nodename_to_filename (char *nodename);
  45. extern int rollback_empty_tag (char *tag);
  46. extern void insert_html_tag_with_attribute (int start_or_end, char *tag, char *format, ...) TEXINFO_PRINTFLIKE(3,4);
  47. #endif /* !HTML_H */