-/* $Id: html.h,v 1.13 2009/10/13 10:21:24 kristaps Exp $ */
+/* $Id: html.h,v 1.20 2009/11/14 12:04:59 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
ATTR_VALIGN,
ATTR_TARGET,
ATTR_ID,
+ ATTR_SUMMARY,
ATTR_MAX
};
struct tag {
+ struct tag *next;
enum htmltag tag;
- SLIST_ENTRY(tag) entry;
};
struct ord {
- int pos;
+ struct ord *next;
const void *cookie;
- SLIST_ENTRY(ord) entry;
+ int pos;
};
-SLIST_HEAD(tagq, tag);
-SLIST_HEAD(ordq, ord);
+struct tagq {
+ struct tag *head;
+};
+struct ordq {
+ struct ord *head;
+};
struct htmlpair {
enum htmlattr key;
#define PAIR_STYLE_INIT(p, h) \
do { (p)->key = ATTR_STYLE; \
(p)->val = (h)->buf; } while (/* CONSTCOND */ 0)
+#define PAIR_SUMMARY_INIT(p, v) \
+ do { (p)->key = ATTR_SUMMARY; \
+ (p)->val = (v); } while (/* CONSTCOND */ 0)
struct html {
int flags;
#define HTML_NOSPACE (1 << 0)
-#define HTML_NEWLINE (1 << 1)
#define HTML_IGNDELIM (1 << 2)
struct tagq tags;
struct ordq ords;
char *style;
char buf[BUFSIZ];
size_t buflen;
+ struct tag *metaf;
};
struct roffsu;
void bufncat(struct html *, const char *, size_t);
void bufinit(struct html *);
+void html_idcat(char *, const char *, int);
+
__END_DECLS
#endif /*!HTML_H*/