brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 28c7c73 Raw
42 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Some of the source code in this file came from fs/cifs/cifs_unicode.c4 * cifs_unicode:  Unicode kernel case support5 *6 * Function:7 *     Convert a unicode character to upper or lower case using8 *     compressed tables.9 *10 *   Copyright (c) International Business Machines  Corp., 2000,200911 *12 *13 * Notes:14 *     These APIs are based on the C library functions.  The semantics15 *     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_H22#define _SMB_UNICODE_H23 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__31int smb_strtoUTF16(__le16 *to, const char *from, int len,32		   const struct nls_table *codepage);33char *smb_strndup_from_utf16(const char *src, const int maxlen,34			     const bool is_unicode,35			     const struct nls_table *codepage);36int smbConvertToUTF16(__le16 *target, const char *source, int srclen,37		      const struct nls_table *cp, int mapchars);38char *ksmbd_extract_sharename(struct unicode_map *um, const char *treename);39#endif40 41#endif /* _SMB_UNICODE_H */42