00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __HTTAG_H__
00022 #define __HTTAG_H__
00023
00024 #include "global.h"
00025 #include "htio.h"
00026 #include "stream.h"
00027
00028
00029 #define HT_TAG_SEL 0x01
00030 #define HT_TAG_SEL_LEN(n) (sizeof(ht_tag_sel)+n)
00031 #define HT_TAG_SEL_VLEN(n) (n)
00032
00033 #define HT_STATICTAG_SEL 0x81
00034 #define HT_STATICTAG_SEL_CH "\e\x81"
00035
00036 struct ht_tag_sel {
00037 byte escape HTPACKED;
00038 byte magic HTPACKED;
00039 ID id128_1 HTPACKED;
00040 ID id128_2 HTPACKED;
00041 ID id128_3 HTPACKED;
00042 ID id128_4 HTPACKED;
00043 byte strlen HTPACKED;
00044 };
00045
00046
00047 #define HT_TAG_FLAGS 0x02
00048 #define HT_TAG_FLAGS_LEN sizeof(ht_tag_flags)
00049 #define HT_TAG_FLAGS_VLEN 1
00050
00051 #define HT_STATICTAG_FLAGS 0x82
00052 #define HT_STATICTAG_FLAGS_CH "\e\x82"
00053
00054 struct ht_tag_flags {
00055 byte escape HTPACKED;
00056 byte magic HTPACKED;
00057 FILEOFS offset HTPACKED;
00058 ID id HTPACKED;
00059 };
00060
00061 struct ht_tag_flags_s {
00062 char bitidx HTPACKED;
00063 char *desc HTPACKED;
00064 };
00065
00066
00067 #define HT_TAG_GROUP 0x03
00068 #define HT_TAG_GROUP_LEN sizeof(ht_tag_group)
00069
00070 #define HT_STATICTAG_GROUP 0x83
00071 #define HT_STATICTAG_GROUP_CH "\e\x83"
00072
00073 struct ht_tag_group {
00074 byte escape HTPACKED;
00075 byte magic HTPACKED;
00076 };
00077
00078
00079 #define HT_TAG_COLOR 0x04
00080 #define HT_TAG_COLOR_LEN sizeof(ht_tag_color)
00081
00082 #define HT_STATICTAG_COLOR 0x84
00083 #define HT_STATICTAG_COLOR_CH "\e\x84"
00084
00085 struct ht_tag_color {
00086 byte escape HTPACKED;
00087 byte magic HTPACKED;
00088 dword color HTPACKED;
00089 };
00090
00091
00092 #define HT_TAG_EDIT_BYTE 0x10
00093 #define HT_TAG_EDIT_BYTE_LEN sizeof(ht_tag_edit_byte)
00094 #define HT_TAG_EDIT_BYTE_VLEN (2)
00095 #define HT_TAG_EDIT_BYTE_SIZE (1)
00096
00097 #define HT_STATICTAG_EDIT_BYTE 0x90
00098 #define HT_STATICTAG_EDIT_BYTE_CH "\e\x90"
00099
00100 struct ht_tag_edit_byte {
00101 byte escape HTPACKED;
00102 byte magic HTPACKED;
00103 FILEOFS offset HTPACKED;
00104 };
00105
00106
00107
00108 struct ht_tag_edit_word_generic {
00109 byte escape HTPACKED;
00110 byte magic HTPACKED;
00111 FILEOFS offset HTPACKED;
00112 };
00113
00114
00115
00116 struct ht_tag_edit_dword_generic {
00117 byte escape HTPACKED;
00118 byte magic HTPACKED;
00119 FILEOFS offset HTPACKED;
00120 };
00121
00122
00123
00124 struct ht_tag_edit_qword_generic {
00125 byte escape HTPACKED;
00126 byte magic HTPACKED;
00127 FILEOFS offset HTPACKED;
00128 };
00129
00130
00131 #define HT_TAG_EDIT_WORD_LE 0x11
00132 #define HT_TAG_EDIT_WORD_LE_LEN sizeof(ht_tag_edit_word_generic)
00133 #define HT_TAG_EDIT_WORD_LE_VLEN (4)
00134 #define HT_TAG_EDIT_WORD_LE_SIZE (2)
00135
00136 #define HT_STATICTAG_EDIT_WORD_LE 0x91
00137 #define HT_STATICTAG_EDIT_WORD_LE_CH "\e\x91"
00138
00139
00140 #define HT_TAG_EDIT_DWORD_LE 0x12
00141 #define HT_TAG_EDIT_DWORD_LE_LEN sizeof(ht_tag_edit_dword_generic)
00142 #define HT_TAG_EDIT_DWORD_LE_VLEN (8)
00143 #define HT_TAG_EDIT_DWORD_LE_SIZE (4)
00144
00145 #define HT_STATICTAG_EDIT_DWORD_LE 0x92
00146 #define HT_STATICTAG_EDIT_DWORD_LE_CH "\e\x92"
00147
00148
00149 #define HT_TAG_EDIT_QWORD_LE 0x13
00150 #define HT_TAG_EDIT_QWORD_LE_LEN sizeof(ht_tag_edit_qword_generic)
00151 #define HT_TAG_EDIT_QWORD_LE_VLEN (16)
00152 #define HT_TAG_EDIT_QWORD_LE_SIZE (8)
00153
00154 #define HT_STATICTAG_EDIT_QWORD_LE 0x93
00155 #define HT_STATICTAG_EDIT_QWORD_LE_CH "\e\x93"
00156
00157
00158 #define HT_TAG_EDIT_WORD_BE 0x14
00159 #define HT_TAG_EDIT_WORD_BE_LEN sizeof(ht_tag_edit_word_generic)
00160 #define HT_TAG_EDIT_WORD_BE_VLEN (4)
00161 #define HT_TAG_EDIT_WORD_BE_SIZE (2)
00162
00163 #define HT_STATICTAG_EDIT_WORD_BE 0x94
00164 #define HT_STATICTAG_EDIT_WORD_BE_CH "\e\x94"
00165
00166
00167 #define HT_TAG_EDIT_DWORD_BE 0x15
00168 #define HT_TAG_EDIT_DWORD_BE_LEN sizeof(ht_tag_edit_dword_generic)
00169 #define HT_TAG_EDIT_DWORD_BE_VLEN (8)
00170 #define HT_TAG_EDIT_DWORD_BE_SIZE (4)
00171
00172 #define HT_STATICTAG_EDIT_DWORD_BE 0x95
00173 #define HT_STATICTAG_EDIT_DWORD_BE_CH "\e\x95"
00174
00175
00176 #define HT_TAG_EDIT_QWORD_BE 0x16
00177 #define HT_TAG_EDIT_QWORD_BE_LEN sizeof(ht_tag_edit_qword_generic)
00178 #define HT_TAG_EDIT_QWORD_BE_VLEN (16)
00179 #define HT_TAG_EDIT_QWORD_BE_SIZE (8)
00180
00181 #define HT_STATICTAG_EDIT_QWORD_BE 0x96
00182 #define HT_STATICTAG_EDIT_QWORD_BE_CH "\e\x96"
00183
00184
00185 #define HT_TAG_EDIT_WORD_VE 0x17
00186 #define HT_TAG_EDIT_WORD_VE_LEN sizeof(ht_tag_edit_word_generic)
00187 #define HT_TAG_EDIT_WORD_VE_VLEN (4)
00188 #define HT_TAG_EDIT_WORD_VE_SIZE (2)
00189
00190 #define HT_STATICTAG_EDIT_WORD_VE 0x97
00191 #define HT_STATICTAG_EDIT_WORD_VE_CH "\e\x97"
00192
00193
00194 #define HT_TAG_EDIT_DWORD_VE 0x18
00195 #define HT_TAG_EDIT_DWORD_VE_LEN sizeof(ht_tag_edit_dword_generic)
00196 #define HT_TAG_EDIT_DWORD_VE_VLEN (8)
00197 #define HT_TAG_EDIT_DWORD_VE_SIZE (4)
00198
00199 #define HT_STATICTAG_EDIT_DWORD_VE 0x98
00200 #define HT_STATICTAG_EDIT_DWORD_VE_CH "\e\x98"
00201
00202
00203 #define HT_TAG_EDIT_QWORD_VE 0x19
00204 #define HT_TAG_EDIT_QWORD_VE_LEN sizeof(ht_tag_edit_qword_generic)
00205 #define HT_TAG_EDIT_QWORD_VE_VLEN (16)
00206 #define HT_TAG_EDIT_QWORD_VE_SIZE (8)
00207
00208 #define HT_STATICTAG_EDIT_QWORD_VE 0x99
00209 #define HT_STATICTAG_EDIT_QWORD_VE_CH "\e\x99"
00210
00211
00212 #define HT_TAG_EDIT_TIME 0x1a
00213 #define HT_TAG_EDIT_TIME_LEN sizeof(ht_tag_edit_time)
00214 #define HT_TAG_EDIT_TIME_VLEN (19)
00215 #define HT_TAG_EDIT_TIME_SIZE (4)
00216
00217 #define HT_STATICTAG_EDIT_TIME 0x9a
00218 #define HT_STATICTAG_EDIT_TIME_CH "\e\x9a"
00219
00220 struct ht_tag_edit_time {
00221 byte escape HTPACKED;
00222 byte magic HTPACKED;
00223 FILEOFS offset HTPACKED;
00224 };
00225
00226
00227 #define HT_TAG_EDIT_CHAR 0x1b
00228 #define HT_TAG_EDIT_CHAR_LEN sizeof(ht_tag_edit_char)
00229 #define HT_TAG_EDIT_CHAR_VLEN (1)
00230 #define HT_TAG_EDIT_CHAR_SIZE (1)
00231
00232 #define HT_STATICTAG_EDIT_CHAR 0x9b
00233 #define HT_STATICTAG_EDIT_CHAR_CH "\e\x9b"
00234
00235 struct ht_tag_edit_char {
00236 byte escape HTPACKED;
00237 byte magic HTPACKED;
00238 FILEOFS offset HTPACKED;
00239 };
00240
00241
00242 #define HT_TAG_EDIT_BIT 0x1c
00243 #define HT_TAG_EDIT_BIT_LEN sizeof(ht_tag_edit_bit)
00244 #define HT_TAG_EDIT_BIT_VLEN (1)
00245 #define HT_TAG_EDIT_BIT_SIZE (1)
00246
00247 #define HT_STATICTAG_EDIT_BIT 0x9c
00248 #define HT_STATICTAG_EDIT_BIT_CH "\e\x9c"
00249
00250 struct ht_tag_edit_bit {
00251 byte escape HTPACKED;
00252 byte magic HTPACKED;
00253 FILEOFS offset HTPACKED;
00254 byte bitidx HTPACKED;
00255 };
00256
00257
00258 #define HT_TAG_EDIT_SELVIS 0x1d
00259 #define HT_TAG_EDIT_SELVIS_LEN sizeof(ht_tag_edit_selvis)
00260 #define HT_TAG_EDIT_SELVIS_VLEN (1)
00261
00262 #define HT_STATICTAG_EDIT_SELVIS 0x9d
00263 #define HT_STATICTAG_EDIT_SELVIS_CH "\e\x9d"
00264
00265 struct ht_tag_edit_selvis {
00266 byte escape HTPACKED;
00267 byte magic HTPACKED;
00268 FILEOFS offset HTPACKED;
00269 char ch HTPACKED;
00270 };
00271
00272
00273 #define HT_TAG_DESC_BYTE 0x20
00274 #define HT_TAG_DESC_BYTE_LEN sizeof(ht_tag_desc_byte)
00275
00276 #define HT_STATICTAG_DESC_BYTE 0xa0
00277 #define HT_STATICTAG_DESC_BYTE_CH "\e\xa0"
00278
00279 struct ht_tag_desc_byte {
00280 byte escape HTPACKED;
00281 byte magic HTPACKED;
00282 ID id HTPACKED;
00283 FILEOFS offset HTPACKED;
00284 };
00285
00286
00287 struct ht_tag_desc_word_generic {
00288 byte escape HTPACKED;
00289 byte magic HTPACKED;
00290 ID id HTPACKED;
00291 FILEOFS offset HTPACKED;
00292 };
00293
00294
00295 struct ht_tag_desc_dword_generic {
00296 byte escape HTPACKED;
00297 byte magic HTPACKED;
00298 ID id HTPACKED;
00299 FILEOFS offset HTPACKED;
00300 };
00301
00302
00303 struct ht_tag_desc_qword_generic {
00304 byte escape HTPACKED;
00305 byte magic HTPACKED;
00306 ID id HTPACKED;
00307 FILEOFS offset HTPACKED;
00308 };
00309
00310
00311 #define HT_TAG_DESC_WORD_LE 0x21
00312 #define HT_TAG_DESC_WORD_LE_LEN sizeof(ht_tag_desc_word_generic)
00313
00314 #define HT_STATICTAG_DESC_WORD_LE 0xa1
00315 #define HT_STATICTAG_DESC_WORD_LE_CH "\e\xa1"
00316
00317
00318 #define HT_TAG_DESC_DWORD_LE 0x22
00319 #define HT_TAG_DESC_DWORD_LE_LEN sizeof(ht_tag_desc_dword_generic)
00320
00321 #define HT_STATICTAG_DESC_DWORD_LE 0xa2
00322 #define HT_STATICTAG_DESC_DWORD_LE_CH "\e\xa2"
00323
00324
00325 #define HT_TAG_DESC_QWORD_LE 0x23
00326 #define HT_TAG_DESC_QWORD_LE_LEN sizeof(ht_tag_desc_qword_generic)
00327
00328 #define HT_STATICTAG_DESC_QWORD_LE 0xa3
00329 #define HT_STATICTAG_DESC_QWORD_LE_CH "\e\xa3"
00330
00331
00332 #define HT_TAG_DESC_WORD_BE 0x24
00333 #define HT_TAG_DESC_WORD_BE_LEN sizeof(ht_tag_desc_word_generic)
00334
00335 #define HT_STATICTAG_DESC_WORD_BE 0xa4
00336 #define HT_STATICTAG_DESC_WORD_BE_CH "\e\xa4"
00337
00338
00339 #define HT_TAG_DESC_DWORD_BE 0x25
00340 #define HT_TAG_DESC_DWORD_BE_LEN sizeof(ht_tag_desc_dword_generic)
00341
00342 #define HT_STATICTAG_DESC_DWORD_BE 0xa5
00343 #define HT_STATICTAG_DESC_DWORD_BE_CH "\e\xa5"
00344
00345
00346 #define HT_TAG_DESC_QWORD_BE 0x26
00347 #define HT_TAG_DESC_QWORD_BE_LEN sizeof(ht_tag_desc_qword_generic)
00348
00349 #define HT_STATICTAG_DESC_QWORD_BE 0xa6
00350 #define HT_STATICTAG_DESC_QWORD_BE_CH "\e\xa6"
00351
00352
00353 #define HT_TAG_DESC_WORD_VE 0x27
00354 #define HT_TAG_DESC_WORD_VE_LEN sizeof(ht_tag_desc_word_generic)
00355
00356 #define HT_STATICTAG_DESC_WORD_VE 0xa7
00357 #define HT_STATICTAG_DESC_WORD_VE_CH "\e\xa7"
00358
00359
00360 #define HT_TAG_DESC_DWORD_VE 0x28
00361 #define HT_TAG_DESC_DWORD_VE_LEN sizeof(ht_tag_desc_dword_generic)
00362
00363 #define HT_STATICTAG_DESC_DWORD_VE 0xa8
00364 #define HT_STATICTAG_DESC_DWORD_VE_CH "\e\xa8"
00365
00366
00367 #define HT_TAG_DESC_QWORD_VE 0x29
00368 #define HT_TAG_DESC_QWORD_VE_LEN sizeof(ht_tag_desc_qword_generic)
00369
00370 #define HT_STATICTAG_DESC_QWORD_VE 0xa9
00371 #define HT_STATICTAG_DESC_QWORD_VE_CH "\e\xa9"
00372
00373 enum tag_endian { tag_endian_big, tag_endian_little, tag_endian_var };
00374
00375
00376
00377
00378
00379 #define palkey_tags_default "default"
00380
00381 #define palidx_tags_edit_tag_cursor_select 0
00382 #define palidx_tags_edit_tag_cursor_edit 1
00383 #define palidx_tags_edit_tag_cursor_unfocused 2
00384 #define palidx_tags_edit_tag_selected 3
00385 #define palidx_tags_edit_tag_modified 4
00386 #define palidx_tags_edit_tag 5
00387 #define palidx_tags_sel_tag_cursor_focused 6
00388 #define palidx_tags_sel_tag_cursor_unfocused 7
00389 #define palidx_tags_sel_tag 8
00390
00391 #define STATICTAG_SEL(len8, str) HT_STATICTAG_SEL_CH "0000000000000000" "0000000000000000" len8 str
00392 #define STATICTAG_REF(id64, len8, str) HT_STATICTAG_SEL_CH id64 "0000000000000000" len8 str
00393 #define STATICTAG_FLAGS(ofs32, id32) HT_STATICTAG_FLAGS_CH ofs32 id32
00394 #define STATICTAG_GROUP() HT_STATICTAG_GROUP_CH
00395 #define STATICTAG_COLOR(color8) HT_STATICTAG_COLOR_CH color8
00396
00397 #define STATICTAG_EDIT_BYTE(ofs32) HT_STATICTAG_EDIT_BYTE_CH ofs32
00398 #define STATICTAG_EDIT_WORD_LE(ofs32) HT_STATICTAG_EDIT_WORD_LE_CH ofs32
00399 #define STATICTAG_EDIT_DWORD_LE(ofs32) HT_STATICTAG_EDIT_DWORD_LE_CH ofs32
00400 #define STATICTAG_EDIT_QWORD_LE(ofs32) HT_STATICTAG_EDIT_QWORD_LE_CH ofs32
00401 #define STATICTAG_EDIT_WORD_BE(ofs32) HT_STATICTAG_EDIT_WORD_BE_CH ofs32
00402 #define STATICTAG_EDIT_DWORD_BE(ofs32) HT_STATICTAG_EDIT_DWORD_BE_CH ofs32
00403 #define STATICTAG_EDIT_QWORD_BE(ofs32) HT_STATICTAG_EDIT_QWORD_BE_CH ofs32
00404 #define STATICTAG_EDIT_WORD_VE(ofs32) HT_STATICTAG_EDIT_WORD_VE_CH ofs32
00405 #define STATICTAG_EDIT_DWORD_VE(ofs32) HT_STATICTAG_EDIT_DWORD_VE_CH ofs32
00406 #define STATICTAG_EDIT_QWORD_VE(ofs32) HT_STATICTAG_EDIT_QWORD_VE_CH ofs32
00407 #define STATICTAG_EDIT_TIME(ofs32) HT_STATICTAG_EDIT_TIME_CH ofs32
00408 #define STATICTAG_EDIT_CHAR(ofs32) HT_STATICTAG_EDIT_CHAR_CH ofs32
00409 #define STATICTAG_EDIT_BIT(ofs32, bitidx8) HT_STATICTAG_EDIT_BIT_CH ofs32 bitidx8
00410 #define STATICTAG_EDIT_SELVIS(ofs32, char8) HT_STATICTAG_EDIT_SELVIS_CH ofs32 char8
00411
00412 #define STATICTAG_DESC_BYTE(ofs32, id32) HT_STATICTAG_DESC_BYTE_CH ofs32 id32
00413 #define STATICTAG_DESC_WORD_LE(ofs32, id32) HT_STATICTAG_DESC_WORD_LE_CH ofs32 id32
00414 #define STATICTAG_DESC_DWORD_LE(ofs32, id32) HT_STATICTAG_DESC_DWORD_LE_CH ofs32 id32
00415 #define STATICTAG_DESC_QWORD_LE(ofs32, id32) HT_STATICTAG_DESC_QWORD_LE_CH ofs32 id32
00416 #define STATICTAG_DESC_WORD_BE(ofs32, id32) HT_STATICTAG_DESC_WORD_BE_CH ofs32 id32
00417 #define STATICTAG_DESC_DWORD_BE(ofs32, id32) HT_STATICTAG_DESC_DWORD_BE_CH ofs32 id32
00418 #define STATICTAG_DESC_QWORD_BE(ofs32, id32) HT_STATICTAG_DESC_QWORD_BE_CH ofs32 id32
00419 #define STATICTAG_DESC_WORD_VE(ofs32, id32) HT_STATICTAG_DESC_WORD_VE_CH ofs32 id32
00420 #define STATICTAG_DESC_DWORD_VE(ofs32, id32) HT_STATICTAG_DESC_DWORD_VE_CH ofs32 id32
00421 #define STATICTAG_DESC_QWORD_VE(ofs32, id32) HT_STATICTAG_DESC_QWORD_VE_CH ofs32 id32
00422
00423 #define tag_class_no 0
00424 #define tag_class_edit 1
00425 #define tag_class_sel 2
00426
00427 typedef char TAGSTRING;
00428
00429 void statictag_to_tag(char *statictag_str, TAGSTRING *tag_str, dword relocation, bool std_bigendian);
00430
00431 TAGSTRING *tag_findnext(const TAGSTRING *tagstring);
00432
00433 vcp tag_get_color(const TAGSTRING *tagstring);
00434 void tag_get_id(const TAGSTRING *tagstring, dword *id128_1, dword *id128_2, dword *id128_3, dword *id128_4);
00435 int tag_get_len(const TAGSTRING *tagstring);
00436 dword tag_get_offset(const TAGSTRING *tagstring);
00437 int tag_get_size(const TAGSTRING *tagstring);
00438 int tag_get_vlen(const TAGSTRING *tagstring);
00439 int tag_get_seltextlen(const TAGSTRING *tagstring);
00440 TAGSTRING *tag_get_seltext(const TAGSTRING *tagstring);
00441 int tag_get_micropos(const TAGSTRING *tagstring, int i);
00442 int tag_get_microsize(const TAGSTRING *tagstring);
00443 bool tag_get_desc_id(const TAGSTRING *tagstring, dword *id);
00444
00445 void tag_set_offset(TAGSTRING *tagstring, dword offset);
00446 void tag_set_value(TAGSTRING *tagstring, dword value);
00447
00448 int tag_is_editable(const TAGSTRING *tagstring);
00449
00450 void tag_strcat(TAGSTRING *dest, const TAGSTRING *src);
00451 void tag_strcpy(TAGSTRING *dest, const TAGSTRING *src);
00452 TAGSTRING *tag_strdup(const TAGSTRING *tagstring);
00453 int tag_strlen(const TAGSTRING *tagstring);
00454 int tag_strvlen(const TAGSTRING *tagstring);
00455
00456 int tag_count_selectable_tags_in_group(const TAGSTRING *tagstring, int group);
00457 int tag_count_selectable_tags(const TAGSTRING *tagstring);
00458 int tag_count_groups(const TAGSTRING *tagstring);
00459 TAGSTRING *tag_get_selectable_tag(const TAGSTRING *tagstring, int n, int group);
00460 TAGSTRING *tag_get_group(const TAGSTRING *tagstring, int group);
00461 int tag_get_class(const TAGSTRING *tagstring);
00462
00463 TAGSTRING *tag_make_sel(TAGSTRING *buf, char *string);
00464 TAGSTRING *tag_make_ref(TAGSTRING *buf, dword id128_1, dword id128_2, dword id128_3, dword id128_4, char *string);
00465 TAGSTRING *tag_make_ref_len(TAGSTRING *buf, dword id128_1, dword id128_2, dword id128_3, dword id128_4, char *string, int strlen);
00466 TAGSTRING *tag_make_flags(TAGSTRING *buf, dword id, dword offset);
00467 TAGSTRING *tag_make_group(TAGSTRING *buf);
00468 TAGSTRING *tag_make_color(TAGSTRING *buf, dword color);
00469 TAGSTRING *tag_make_default_color(TAGSTRING *buf);
00470 TAGSTRING *tag_make_edit_byte(TAGSTRING *buf, FILEOFS ofs32);
00471 TAGSTRING *tag_make_edit_word(TAGSTRING *buf, FILEOFS ofs32, tag_endian e);
00472 TAGSTRING *tag_make_edit_dword(TAGSTRING *buf, FILEOFS ofs32, tag_endian e);
00473 TAGSTRING *tag_make_edit_qword(TAGSTRING *buf, FILEOFS ofs32, tag_endian e);
00474 TAGSTRING *tag_make_edit_time(TAGSTRING *buf, FILEOFS ofs32);
00475 TAGSTRING *tag_make_edit_char(TAGSTRING *buf, FILEOFS ofs32);
00476 TAGSTRING *tag_make_edit_bit(TAGSTRING *buf, FILEOFS ofs32, int bitidx);
00477 TAGSTRING *tag_make_edit_selvis(TAGSTRING *buf, FILEOFS offset, char ch);
00478 TAGSTRING *tag_make_desc_byte(TAGSTRING *buf, FILEOFS ofs32, dword id32);
00479 TAGSTRING *tag_make_desc_word(TAGSTRING *buf, FILEOFS ofs32, dword id32, tag_endian e);
00480 TAGSTRING *tag_make_desc_dword(TAGSTRING *buf, FILEOFS ofs32, dword id32, tag_endian e);
00481 TAGSTRING *tag_make_desc_qword(TAGSTRING *buf, FILEOFS ofs32, dword id32, tag_endian e);
00482 char *tag_striptags(char *dest, const TAGSTRING *src);
00483
00484 #endif