1 /* 2 * libid3tag - ID3 tag manipulation library 3 * Copyright (C) 2000-2004 Underbit Technologies, Inc. 4 * 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 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * 19 * $Id: utf16.h,v 1.8 2004/01/23 09:41:32 rob Exp $ 20 */ 21 22 # ifndef LIBID3TAG_UTF16_H 23 # define LIBID3TAG_UTF16_H 24 25 # include "id3tag.h" 26 27 enum id3_utf16_byteorder { 28 ID3_UTF16_BYTEORDER_ANY, 29 ID3_UTF16_BYTEORDER_BE, 30 ID3_UTF16_BYTEORDER_LE 31 }; 32 33 id3_length_t id3_utf16_length(id3_utf16_t const *); 34 id3_length_t id3_utf16_size(id3_utf16_t const *); 35 36 id3_length_t id3_utf16_decodechar(id3_utf16_t const *, id3_ucs4_t *); 37 id3_length_t id3_utf16_encodechar(id3_utf16_t *, id3_ucs4_t); 38 39 void id3_utf16_decode(id3_utf16_t const *, id3_ucs4_t *); 40 void id3_utf16_encode(id3_utf16_t *, id3_ucs4_t const *); 41 42 id3_length_t id3_utf16_put(id3_byte_t **, id3_utf16_t, 43 enum id3_utf16_byteorder); 44 id3_utf16_t id3_utf16_get(id3_byte_t const **, enum id3_utf16_byteorder); 45 46 id3_length_t id3_utf16_serialize(id3_byte_t **, id3_ucs4_t const *, 47 enum id3_utf16_byteorder, int); 48 id3_ucs4_t *id3_utf16_deserialize(id3_byte_t const **, id3_length_t, 49 enum id3_utf16_byteorder); 50 51 # endif 52