xref: /illumos-gate/usr/src/lib/libsmbfs/smb/charsets.h (revision 5422785d352a2bb398daceab3d1898a8aa64d006)
1 /*
2  * Copyright (c) 2001 Apple Computer, Inc. All rights reserved.
3  *
4  * @APPLE_LICENSE_HEADER_START@
5  *
6  * "Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
7  * Reserved.  This file contains Original Code and/or Modifications of
8  * Original Code as defined in and that are subject to the Apple Public
9  * Source License Version 1.0 (the 'License').  You may not use this file
10  * except in compliance with the License.  Please obtain a copy of the
11  * License at http://www.apple.com/publicsource and read it before using
12  * this file.
13  *
14  * The Original Code and all software distributed under the License are
15  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
19  * License for the specific language governing rights and limitations
20  * under the License."
21  *
22  * @APPLE_LICENSE_HEADER_END@
23  */
24 /*
25  *      @(#)charsets.h
26  *      (c) 2004   Apple Computer, Inc.  All Rights Reserved
27  *
28  *
29  *      charsets.h -- Routines converting between UTF-8, 16-bit
30  *			little-endian Unicode, 16-bit host-byte-order
31  *			Unicode, and various Windows code pages.
32  *
33  *      MODIFICATION HISTORY:
34  *       28-Nov-2004     Guy Harris	New today
35  */
36 
37 #ifndef __CHARSETS_H__
38 #define	__CHARSETS_H__
39 
40 extern char *convert_wincs_to_utf8(const char *windows_string);
41 extern char *convert_utf8_to_wincs(const char *utf8_string);
42 extern char *convert_leunicode_to_utf8(unsigned short *windows_string);
43 extern char *convert_unicode_to_utf8(unsigned short *windows_string);
44 extern unsigned short *convert_utf8_to_leunicode(const char *utf8_string);
45 extern size_t unicode_strlen(const uint16_t *unicode_string);
46 extern char *utf8_str_tolower(const char *s);
47 extern char *utf8_str_toupper(const char *s);
48 
49 extern char *unpercent(char *component);
50 
51 #endif /* __CHARSETS_H__ */
52