#include "udfdecl.h"
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/nls.h>
#include <linux/crc-itu-t.h>
#include <linux/slab.h>
#include "udf_sb.h"
#define PLANE_SIZE …
#define UNICODE_MAX …
#define SURROGATE_MASK …
#define SURROGATE_PAIR …
#define SURROGATE_LOW …
#define SURROGATE_CHAR_BITS …
#define SURROGATE_CHAR_MASK …
#define ILLEGAL_CHAR_MARK …
#define EXT_MARK …
#define CRC_MARK …
#define EXT_SIZE …
#define CRC_LEN …
static unicode_t get_utf16_char(const uint8_t *str_i, int str_i_max_len,
int str_i_idx, int u_ch, unicode_t *ret)
{ … }
static int udf_name_conv_char(uint8_t *str_o, int str_o_max_len,
int *str_o_idx,
const uint8_t *str_i, int str_i_max_len,
int *str_i_idx,
int u_ch, int *needsCRC,
int (*conv_f)(wchar_t, unsigned char *, int),
int translate)
{ … }
static int udf_name_from_CS0(struct super_block *sb,
uint8_t *str_o, int str_max_len,
const uint8_t *ocu, int ocu_len,
int translate)
{ … }
static int udf_name_to_CS0(struct super_block *sb,
uint8_t *ocu, int ocu_max_len,
const uint8_t *str_i, int str_len)
{ … }
int udf_dstrCS0toChar(struct super_block *sb, uint8_t *utf_o, int o_len,
const uint8_t *ocu_i, int i_len)
{ … }
int udf_get_filename(struct super_block *sb, const uint8_t *sname, int slen,
uint8_t *dname, int dlen)
{ … }
int udf_put_filename(struct super_block *sb, const uint8_t *sname, int slen,
uint8_t *dname, int dlen)
{ … }