#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/nls.h>
#include <linux/errno.h>
static struct nls_table *p_nls;
#define IS_SJIS_LOW_BYTE(l) …
#define IS_SJIS_JISX0208(h, l) …
#define IS_SJIS_JISX0201KANA(c) …
#define IS_SJIS_UDC_LOW(h, l) …
#define IS_SJIS_UDC_HI(h, l) …
#define IS_SJIS_IBM(h, l) …
#define IS_SJIS_NECIBM(h, l) …
#define MAP_SJIS2EUC(sjis_hi, sjis_lo, sjis_p, euc_hi, euc_lo, euc_p) …
#define SS2 …
#define SS3 …
#define IS_EUC_BYTE(c) …
#define IS_EUC_JISX0208(h, l) …
#define IS_EUC_JISX0201KANA(h, l) …
#define IS_EUC_UDC_LOW(h, l) …
#define IS_EUC_UDC_HI(h, l) …
#define MAP_EUC2SJIS(euc_hi, euc_lo, euc_p, sjis_hi, sjis_lo, sjis_p) …
static const unsigned char sjisibm2euc_map[][2] = …;
#define IS_EUC_IBM2JISX0208(h, l) …
static struct { … } euc2sjisibm_jisx0212_map[] = …;
static const unsigned char euc2sjisibm_g3upper_map[][2] = …;
static inline int sjisibm2euc(unsigned char *euc, const unsigned char sjis_hi,
const unsigned char sjis_lo);
static inline int euc2sjisibm_jisx0212(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo);
static inline int euc2sjisibm_g3upper(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo);
static inline int euc2sjisibm(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo);
static inline int sjisnec2sjisibm(unsigned char *sjisibm,
const unsigned char sjisnec_hi,
const unsigned char sjisnec_lo);
static inline int sjisibm2euc(unsigned char *euc, const unsigned char sjis_hi,
const unsigned char sjis_lo)
{ … }
static inline int euc2sjisibm_jisx0212(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo)
{ … }
static inline int euc2sjisibm_g3upper(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo)
{ … }
static inline int euc2sjisibm(unsigned char *sjis, const unsigned char euc_hi,
const unsigned char euc_lo)
{ … }
static inline int sjisnec2sjisibm(unsigned char *sjisibm,
const unsigned char sjisnec_hi,
const unsigned char sjisnec_lo)
{ … }
static int uni2char(const wchar_t uni,
unsigned char *out, int boundlen)
{ … }
static int char2uni(const unsigned char *rawstring, int boundlen,
wchar_t *uni)
{ … }
static struct nls_table table = …;
static int __init init_nls_euc_jp(void)
{ … }
static void __exit exit_nls_euc_jp(void)
{ … }
module_init(…) …
module_exit(…)
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;