annotate src/libid3tag/utf16.h @ 2503:10692383c103 trunk

[svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
author yaz
date Sun, 11 Feb 2007 05:19:07 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2503
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
1 /*
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
2 * libid3tag - ID3 tag manipulation library
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
3 * Copyright (C) 2000-2004 Underbit Technologies, Inc.
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
4 *
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
8 * (at your option) any later version.
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
9 *
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
13 * GNU General Public License for more details.
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
14 *
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
18 *
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
19 * $Id: utf16.h,v 1.8 2004/01/23 09:41:32 rob Exp $
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
20 */
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
21
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
22 # ifndef LIBID3TAG_UTF16_H
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
23 # define LIBID3TAG_UTF16_H
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
24
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
25 # include "id3tag.h"
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
26
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
27 enum id3_utf16_byteorder {
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
28 ID3_UTF16_BYTEORDER_ANY,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
29 ID3_UTF16_BYTEORDER_BE,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
30 ID3_UTF16_BYTEORDER_LE
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
31 };
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
32
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
33 id3_length_t id3_utf16_length(id3_utf16_t const *);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
34 id3_length_t id3_utf16_size(id3_utf16_t const *);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
35
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
36 id3_length_t id3_utf16_decodechar(id3_utf16_t const *, id3_ucs4_t *);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
37 id3_length_t id3_utf16_encodechar(id3_utf16_t *, id3_ucs4_t);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
38
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
39 void id3_utf16_decode(id3_utf16_t const *, id3_ucs4_t *);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
40 void id3_utf16_encode(id3_utf16_t *, id3_ucs4_t const *);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
41
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
42 id3_length_t id3_utf16_put(id3_byte_t **, id3_utf16_t,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
43 enum id3_utf16_byteorder);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
44 id3_utf16_t id3_utf16_get(id3_byte_t const **, enum id3_utf16_byteorder);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
45
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
46 id3_length_t id3_utf16_serialize(id3_byte_t **, id3_ucs4_t const *,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
47 enum id3_utf16_byteorder, int);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
48 id3_ucs4_t *id3_utf16_deserialize(id3_byte_t const **, id3_length_t,
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
49 enum id3_utf16_byteorder);
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
50
10692383c103 [svn] first try for libid3tag integration. this improved libid3tag supports vfs operations and is capable of adding id3v2 tag to files which doesn't have id3v2 tag ever.
yaz
parents:
diff changeset
51 # endif