diff options
author | Akinori Ito <aito@eie.yz.yamagata-u.ac.jp> | 2001-11-08 05:14:08 +0000 |
---|---|---|
committer | Akinori Ito <aito@eie.yz.yamagata-u.ac.jp> | 2001-11-08 05:14:08 +0000 |
commit | 68a07bf03b7624c9924065cce9ffa45497225834 (patch) | |
tree | c2adb06a909a8594445e4a3f8587c4bad46e3ecd /parsetagx.h | |
download | w3m-68a07bf03b7624c9924065cce9ffa45497225834.tar.gz w3m-68a07bf03b7624c9924065cce9ffa45497225834.zip |
Initial revision
Diffstat (limited to 'parsetagx.h')
-rw-r--r-- | parsetagx.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/parsetagx.h b/parsetagx.h new file mode 100644 index 0000000..6014784 --- /dev/null +++ b/parsetagx.h @@ -0,0 +1,28 @@ +#ifndef PARSETAGX_H +#define PARSETAGX_H + +#include "html.h" +#include "Str.h" + +/* Parsed Tag structure */ + +struct parsed_tag { + unsigned char tagid; + char *tagname; + unsigned char *attrid; + char **value; + unsigned char *map; + char need_reconstruct; +}; + +#define parsedtag_accepts(tag, id) ((tag)->map&&(tag)->map[id]!=MAX_TAGATTR) +#define parsedtag_exists(tag, id) (parsedtag_accepts(tag,id)&&((tag)->attrid[(tag)->map[id]]!=ATTR_UNKNOWN)) +#define parsedtag_delete(tag, id) (parsedtag_accepts(tag,id)&&((tag)->attrid[(tag)->map[id]]=ATTR_UNKNOWN)) +#define parsedtag_need_reconstruct(tag) ((tag)->need_reconstruct) +#define parsedtag_attname(tag, i) (AttrMAP[(tag)->attrid[i]].name) + +extern struct parsed_tag *parse_tag(char **s, int internal); +extern int parsedtag_get_value(struct parsed_tag *tag, int id, void *value); +extern int parsedtag_set_value(struct parsed_tag *tag, int id, char *value); +extern Str parsedtag2str(struct parsed_tag *tag); +#endif |