| 1 |
|
| 2 | |
| 3 | * Some of the source code in this file came from fs/cifs/cifs_unicode.c
|
| 4 | * cifs_unicode: Unicode kernel case support
|
| 5 | *
|
| 6 | * Function:
|
| 7 | * Convert a unicode character to upper or lower case using
|
| 8 | * compressed tables.
|
| 9 | *
|
| 10 | * Copyright (c) International Business Machines Corp., 2000,2009
|
| 11 | *
|
| 12 | *
|
| 13 | * Notes:
|
| 14 | * These APIs are based on the C library functions. The semantics
|
| 15 | * should match the C functions but with expanded size operands.
|
| 16 | *
|
| 17 | * The upper/lower functions are based on a table created by mkupr.
|
| 18 | * This is a compressed table of upper and lower case conversion.
|
| 19 | *
|
| 20 |
|
| 21 | #ifndef _SMB_UNICODE_H
|
| 22 | #define _SMB_UNICODE_H
|
| 23 |
|
| 24 | #include <asm/byteorder.h>
|
| 25 | #include <linux/types.h>
|
| 26 | #include <linux/nls.h>
|
| 27 | #include <linux/unicode.h>
|
| 28 | #include "../../nls/nls_ucs2_utils.h"
|
| 29 |
|
| 30 | #ifdef __KERNEL__
|
| 31 | int smb_strtoUTF16(__le16 *to, const char *from, int len,
|
| 32 | const struct nls_table *codepage);
|
| 33 | char *smb_strndup_from_utf16(const char *src, const int maxlen,
|
| 34 | const bool is_unicode,
|
| 35 | const struct nls_table *codepage);
|
| 36 | int smbConvertToUTF16(__le16 *target, const char *source, int srclen,
|
| 37 | const struct nls_table *cp, int mapchars);
|
| 38 | char *ksmbd_extract_sharename(struct unicode_map *um, const char *treename);
|
| 39 | #endif
|
| 40 |
|
| 41 | #endif
|