patch-2.4.4 linux/fs/nls/nls_tis-620.c

Next file: linux/fs/ntfs/Makefile
Previous file: linux/fs/nls/nls_koi8-u.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.3/linux/fs/nls/nls_tis-620.c linux/fs/nls/nls_tis-620.c
@@ -0,0 +1,62 @@
+/*
+ * linux/fs/nls_tis-620.c
+ */
+
+#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;
+
+static struct nls_table table = {
+	"tis-620",
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+	THIS_MODULE,
+};
+
+static int __init init_nls_tis_620(void)
+{
+	p_nls = load_nls("cp874");
+
+	if (p_nls) {
+		table.uni2char = p_nls->uni2char;
+		table.char2uni = p_nls->char2uni;
+		table.charset2upper = p_nls->charset2upper;
+		table.charset2lower = p_nls->charset2lower;
+		return register_nls(&table);
+	}
+
+	return -EINVAL;
+}
+
+static void __exit exit_nls_tis_620(void)
+{
+	unregister_nls(&table);
+	unload_nls(p_nls);
+}
+
+module_init(init_nls_tis_620)
+module_exit(exit_nls_tis_620)
+
+/*
+ * Overrides for Emacs so that we follow Linus's tabbing style.
+ * Emacs will notice this stuff at the end of the file and automatically
+ * adjust the settings for this buffer only.  This must remain at the end
+ * of the file.
+ *
+---------------------------------------------------------------------------
+ * Local variables:
+ * c-indent-level: 8
+ * c-brace-imaginary-offset: 0
+ * c-brace-offset: -8
+ * c-argdecl-indent: 8
+ * c-label-offset: -8
+ * c-continued-statement-offset: 8
+ * c-continued-brace-offset: 0
+ * End:
+ */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)