7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #pragma ident "%Z%%M% %I% %E% SMI"
28
29 #include <sys/types.h>
30 #include <sys/param.h>
31 #include <sys/sysmacros.h>
32 #include <sys/systm.h>
33 #include <sys/debug.h>
34 #include <sys/kmem.h>
35 #include <sys/sunddi.h>
36 #include <sys/byteorder.h>
37 #include <sys/errno.h>
38 #include <sys/euc.h>
39 #include <sys/modctl.h>
40 #include <sys/kiconv.h>
41
42 #include <sys/kiconv_ja.h>
43 #include <sys/kiconv_ja_jis_to_unicode.h>
44 #include <sys/kiconv_ja_unicode_to_jis.h>
45
46 /*
47 * The following vector shows remaining bytes in a UTF-8 character.
48 * Index will be the first byte of the character. This is defined in
1579 (sizeof (kiconv_ja_aliases) / sizeof (char *))
1580
1581 static kiconv_module_info_t kiconv_ja_info = {
1582 "kiconv_ja", /* module name */
1583 KICONV_JA_MAX_JA_OPS, /* number of conversion in kiconv_ja */
1584 kiconv_ja_ops_tbl, /* kiconv_ja ops table */
1585 KICONV_JA_MAX_JA_ALIAS, /* number of alias in kiconv_ja */
1586 kiconv_ja_aliases, /* kiconv_ja aliases */
1587 kiconv_ja_canonicals, /* kiconv_ja canonicals */
1588 0
1589 };
1590
1591 static struct modlkiconv modlkiconv_ja = {
1592 &mod_kiconvops,
1593 "kiconv module for Japanese",
1594 &kiconv_ja_info
1595 };
1596
1597 static struct modlinkage modlinkage = {
1598 MODREV_1,
1599 (void *)&modlkiconv_ja,
1600 NULL
1601 };
1602
1603 int
1604 _init(void)
1605 {
1606 int err;
1607
1608 err = mod_install(&modlinkage);
1609 if (err)
1610 cmn_err(CE_WARN, "kiconv_ja: failed to load kernel module");
1611
1612 return (err);
1613 }
1614
1615 int
1616 _info(struct modinfo *modinfop)
1617 {
1618 return (mod_info(&modlinkage, modinfop));
1619 }
1620
|
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #include <sys/types.h>
28 #include <sys/param.h>
29 #include <sys/sysmacros.h>
30 #include <sys/systm.h>
31 #include <sys/debug.h>
32 #include <sys/kmem.h>
33 #include <sys/sunddi.h>
34 #include <sys/byteorder.h>
35 #include <sys/errno.h>
36 #include <sys/euc.h>
37 #include <sys/modctl.h>
38 #include <sys/kiconv.h>
39
40 #include <sys/kiconv_ja.h>
41 #include <sys/kiconv_ja_jis_to_unicode.h>
42 #include <sys/kiconv_ja_unicode_to_jis.h>
43
44 /*
45 * The following vector shows remaining bytes in a UTF-8 character.
46 * Index will be the first byte of the character. This is defined in
1577 (sizeof (kiconv_ja_aliases) / sizeof (char *))
1578
1579 static kiconv_module_info_t kiconv_ja_info = {
1580 "kiconv_ja", /* module name */
1581 KICONV_JA_MAX_JA_OPS, /* number of conversion in kiconv_ja */
1582 kiconv_ja_ops_tbl, /* kiconv_ja ops table */
1583 KICONV_JA_MAX_JA_ALIAS, /* number of alias in kiconv_ja */
1584 kiconv_ja_aliases, /* kiconv_ja aliases */
1585 kiconv_ja_canonicals, /* kiconv_ja canonicals */
1586 0
1587 };
1588
1589 static struct modlkiconv modlkiconv_ja = {
1590 &mod_kiconvops,
1591 "kiconv module for Japanese",
1592 &kiconv_ja_info
1593 };
1594
1595 static struct modlinkage modlinkage = {
1596 MODREV_1,
1597 { (void *)&modlkiconv_ja, NULL }
1598 };
1599
1600 int
1601 _init(void)
1602 {
1603 int err;
1604
1605 err = mod_install(&modlinkage);
1606 if (err)
1607 cmn_err(CE_WARN, "kiconv_ja: failed to load kernel module");
1608
1609 return (err);
1610 }
1611
1612 int
1613 _info(struct modinfo *modinfop)
1614 {
1615 return (mod_info(&modlinkage, modinfop));
1616 }
1617
|