1/*
2 * linux/fs/nls_tis-620.c
3 */
4
5#include <linux/module.h>
6#include <linux/kernel.h>
7#include <linux/string.h>
8#include <linux/nls.h>
9#include <linux/errno.h>
10
11static struct nls_table *p_nls;
12
13static struct nls_table table = {
14	"tis-620",
15	NULL,
16	NULL,
17	NULL,
18	NULL,
19	THIS_MODULE,
20};
21
22static int __init init_nls_tis_620(void)
23{
24	p_nls = load_nls("cp874");
25
26	if (p_nls) {
27		table.uni2char = p_nls->uni2char;
28		table.char2uni = p_nls->char2uni;
29		table.charset2upper = p_nls->charset2upper;
30		table.charset2lower = p_nls->charset2lower;
31		return register_nls(&table);
32	}
33
34	return -EINVAL;
35}
36
37static void __exit exit_nls_tis_620(void)
38{
39	unregister_nls(&table);
40	unload_nls(p_nls);
41}
42
43module_init(init_nls_tis_620)
44module_exit(exit_nls_tis_620)
45MODULE_LICENSE("Dual BSD/GPL");
46
47/*
48 * Overrides for Emacs so that we follow Linus's tabbing style.
49 * Emacs will notice this stuff at the end of the file and automatically
50 * adjust the settings for this buffer only.  This must remain at the end
51 * of the file.
52 *
53---------------------------------------------------------------------------
54 * Local variables:
55 * c-indent-level: 8
56 * c-brace-imaginary-offset: 0
57 * c-brace-offset: -8
58 * c-argdecl-indent: 8
59 * c-label-offset: -8
60 * c-continued-statement-offset: 8
61 * c-continued-brace-offset: 0
62 * End:
63 */
64