From owner-FreeBSD-tech-jp@jp.FreeBSD.org Fri Jul 18 02:27:10 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id h6HHRAv20762;
	Fri, 18 Jul 2003 02:27:10 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from sraigw.sra.co.jp (sraigw.sra.co.jp [202.32.10.2])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id h6HHRAT20757
	for <FreeBSD-tech-jp@jp.FreeBSD.org>; Fri, 18 Jul 2003 02:27:10 +0900 (JST)
	(envelope-from soda@sra.co.jp)
Received: from srascb.sra.co.jp (srascb [133.137.8.65])
	by sraigw.sra.co.jp (Postfix) with ESMTP id 46361624AA
	for <FreeBSD-tech-jp@jp.FreeBSD.org>; Fri, 18 Jul 2003 02:27:10 +0900 (JST)
Received: from sranhf.sra.co.jp (IDENT:root@localhost [127.0.0.1])
	by srascb.sra.co.jp (8.9.3p2/3.7W-sra) with ESMTP id CAA29653
	for <FreeBSD-tech-jp@jp.FreeBSD.org>; Fri, 18 Jul 2003 02:27:09 +0900
Received: from srapc342.sra.co.jp (IDENT:root@srapc342.sra.co.jp [133.137.28.111])
	by sranhf.sra.co.jp (8.9.3p2/3.7W-srambox) with ESMTP id CAA20835
	for <FreeBSD-tech-jp@jp.FreeBSD.org>; Fri, 18 Jul 2003 02:27:08 +0900 (JST)
Received: (from soda@localhost) by srapc342.sra.co.jp (8.11.6/3.4W-sra) id h6HHR8s12650; Fri, 18 Jul 2003 02:27:08 +0900 (JST)
Message-Id: <200307171727.h6HHR8s12650@srapc342.sra.co.jp>
From: Noriyuki Soda <soda@sra.co.jp>
To: FreeBSD-tech-jp@jp.FreeBSD.org
In-Reply-To: <20030718.003258.68562311.tshiozak@bsdclub.org>
References: <20030717213132.F6492@ryu16.org>
	<20030718.003258.68562311.tshiozak@bsdclub.org>
Reply-To: FreeBSD-tech-jp@jp.FreeBSD.org
Precedence: list
Date: Fri, 18 Jul 2003 02:27:08 +0900
X-Sequence: FreeBSD-tech-jp 3372
Subject: [FreeBSD-tech-jp 3372] Re: LIBICONV(in kernel) 16bit extension, and ...
Sender: owner-FreeBSD-tech-jp@jp.FreeBSD.org
X-Originator: soda@sra.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030702

>>>>> On Fri, 18 Jul 2003 00:32:58 +0900,
	"T.SHIOZAKI" <tshiozak@bsdclub.org> said:

> $B$^$:Bh0lE@$G$9$,!"$;$C$+$/(B userland $BB&$N(B iconv(3) $B$+$iJQ49%F!<%V%k$r(B
> $B:n$k;EAH$_$K$J$C$F$$$k$N$G$9$+$i!"(Bquirk $B$N=hM}$O%+!<%M%kB&$G$d$i$:$K!"(B
> $B%f!<%6%i%s%IB&$G%F!<%V%k$r:n$k:]$K!"(Biconv(3) $B$r(B wrap $B$9$k$h$&$J46$8$G(B
> $B=hM}$7$?$[$&$,=@Fp@-$,9b$$$N$G$O$J$$$+$H;W$$$^$9!#(B

Apple HFS $B$H(B NTFS $B$rF1;~$K%^%&%s%H$9$k$H$$$&$3$H$b9M$($i$l$k$7!"(B
$B$=$N>l9g!"EvA3$=$l$>$l$G0[$J$k(B Unicode $B"+"*(B EUC $BJQ49%F!<%V%k$,(B
$BF1;~$K%+!<%M%kFb$GI,MW$K$J$k$N$G!"$=$&$$$&$3$H$r2DG=$K$9$k(B
$B%U%l!<%`%o!<%/$K$9$kI,MW$,$"$j$^$9!#(B

> $B$3$NJ}?K$G$f$/$N$J$i$P!"$?$H$($P(B ntfs $B$GF|K\8l$r;H$$$?$$>l9g$K$O(B
>   mount_ntfs -C eucJP
> $B$H$9$k$N$G$O$J$/$F(B
>   mount_ntfs -C eucJP-ms
> $B$H;XDj$9$k$N$@$H;W$$$^$9!#(B

$B$b$C$H8@$&$H!"$=$b$=$b(B mount_ntfs $B$KBP$7$F%3!<%IJQ49$r;XDj$9$k$N$O!"(B
$B$"$^$j$h$m$7$/$J$$$G$9!#(BNTFS $B$N>l9g!"%U%!%$%k%7%9%F%`B&$N%3!<%I$O(B
UTF-16 $B$H7h$^$C$F$$$k$N$G!"%U%!%$%k%7%9%F%`Kh$K%3!<%I$r;XDj$9$k(B
$BI,MW$O$J$$H&$@$+$i$G$9!#(B

$B$=$&$G$O$J$/!"%+!<%M%kA4BN$KBP$7$F(B ($B$"$k$$$O!"%W%m%;%9C10L$G(B)$B!"(B
$B%"%W%j%1!<%7%g%s$,4|BT$7$F$$$k%3!<%I$r;XDj$9$k%$%s%?!<%U%'!<%9$,(B
$BI,MW$G$9!#(B

$B$?$@$7!"(Bsmbfs $B$d(B cd9660fs$B!"(Bmsdosfs $B$KBP$7$F$O!"%U%!%$%k%7%9%F%`$N(B
$B%3!<%I$r;XDj$9$kI,MW$,$"$j$^$9!#(B($B$3$l$i$O!"%U%!%$%k%7%9%F%`Kh$K(B
$BMQ$$$F$$$kJ8;z%3!<%I$,0[$J$k$N$G(B)

$B7k6I!"2<5-$N$h$&$J;EAH$_$,MW$kH&$G$9!#(B
($B$3$l$O!"0JA0!"=q$-$+$1$N$^$^2??M$+$N?M$K%a!<%k$7$?$^$^J|$j=P$7$F(B
 $B$$$k$b$N$J$N$G!"J,$+$j$E$i$$$+$H;W$$$^$9$,!D(B)

------------------------------ $B$3$3$+$i(B ------------------------------

[1] $B%U%!%$%k%7%9%F%`B&$NOC(B

  $B%U%!%$%k%7%9%F%`$NMQ$$$F$$$kJ8;zId9f$r!"$I$&2r<a$7!"=q$-9~$`$+$H$$$&OC$G$9!#(B

  $B%U%!%$%k%7%9%F%`$K$O!"<!$N(B 3 $B<oN`$,$"$j$^$9!#(B

  (a) $B%U%!%$%k%7%9%F%`$O!"Id9f2=J8;z=89g$r4XCN$;$:!"%"%W%j%1!<%7%g%s$K(B
    $BA4$F$^$+$;$F$$$k$h$&$J%U%!%$%k%7%9%F%`!#(B
	$BNc(B: $B8=>u$N(B *BSD $B$N(B ufs $B7O$J$I(B

  (b) $B%U%!%$%k%7%9%F%`$H$7$F!"MxMQ$9$kId9f2=J8;z=89g$,!"FCDj$N0l$D$K(B
    $B7h$^$C$F$$$k$b$N!#(B
	$BNc(B: NTFS (UTF-16)$B!#(BNFSv4 $B$b$=$&(B(UTF-8)$B!)(B

  (c) $B%U%!%$%k%7%9%F%`Kh$K!"MxMQ$9$kId9f2=J8;z=89g$,0[$J$k$b$N(B
	$BNc(B: MS-DOS $B$N(B FAT $B%U%!%$%k%7%9%F%`!#(B
		$BNc$($PF|K\8l(B MS-DOS $B$K8B$l$P(B SJIS $B$H7h$^$C$F$$$k$,!"(B
		$B$3$l$O3F9q$4$H$K0[$J$k!#%U%l!<%`%o!<%/$H$7$F$O!"(B
		$B%"%a%j%+HG(B MS-DOS $B$G:n@.$7$?%U%!%$%k%7%9%F%`$H!"(B
		$BF|K\8l(B MS-DOS $B$G:n@.$7$?%U%!%$%k%7%9%F%`$r!"F1;~$K(B
		$B%^%&%s%H$9$k$h$&$J$3$H$b5v$7$?$$!#(B		
	    Windows $B7O$N(B VFAT
		$BD9$$%U%!%$%kL>$G$O(B UTF-16 $B$K7h$^$C$F$$$k$N$G!"(B2. $B$K(B
		$BJ,N`$5$l$=$&$@$,!"(BMS-DOS $B$H$N8_49@-$rJ]$DItJ,$K4X$7$F(B
		$B$O!"3F9q$4$H$K0[$J$k$N$G!"7k6I!"$3$A$i$NJ,N`$KF~$k!#(B

[2] userland $B$K$I$&8+$;$k$+$H$$$&OC(B

  $B%"%W%j%1!<%7%g%s$K!"$I$&$$$&Iw$K8+$;$k$+$H$$$&OC$G$9!#(B

  $B2<5-$N(B 2 $B$D$N%*%W%7%g%s$rDs6!$9$k$N$,!"BEEv$J2r$@$H;W$$$^$9!#(B

	(X) $B$"$i$+$8$a!"%f!<%6!<$,MxMQ$7$?$$Id9f2=J8;z=89g$r@_Dj$7$F$*$/!#(B
	  $B%+!<%M%k$,!"%U%!%$%k%7%9%F%`$NId9f2=J8;z=89g$r!"%f!<%6!<$N(B
	  $B5a$a$kId9f2=J8;z=89g$KJQ49$7$F$/$l$k!#(B
	  $B$3$l$O!"$G$-$l$P%W%m%;%9C10L$G;XDj$G$-$k$h$&$K$9$Y$-$G$9$,!"(B
	  name cache $B2s$j$O$d$d$3$7$$$=$&$J$N$G!":G=i$O%7%9%F%`A4BN$G(B
	  1 $B$D$NId9f2=J8;z=89g$H$$$&$N$G==J,$@$H;W$$$^$9!#(B
	  $B$3$N%7%9%F%`A4BN$GMxMQ$9$k%G%U%)!<%k%H$NId9f2=J8;z=89g$O!"(B
	  sysctl $B$G@_Dj$H$$$&$3$H$K$J$k$+$H;W$$$^$9!#(B
	  $B%W%m%;%9C10L$G!"Id9f2=J8;z=89g$,;XDj$G$-$k$h$&$K$J$C$?$H$7(B
	  $B$F$b!"%7%9%F%`A4BN$G$N%G%U%)!<%k%HCM$N;XDj$O$d$O$jI,MW$G$9(B
	  $B$+$i!"(Bsysctl $B$rDI2C$9$k$3$H$OL5BL$K$O$J$j$^$;$s!#(B

	(Y) $B$?$@$7!"EvA3!"%U%!%$%k%7%9%F%`$NId9f2=J8;z=89g(B [1] $B$H!"(B
	  $B%f!<%6!<$N5a$a$kId9f2=J8;z=89g(B [2] $B$N4V$G!"JQ49$G$-$J$$J8;z(B
	  $B$bB8:_$7$^$9!#$3$N$?$a!"%"%W%j%1!<%7%g%s$NB&$G!"$J$K$b$+$b(B
	  $BLLE]$_$?$$$H$$$&%1!<%9$,$"$k$G$7$g$&!#(B

	  $B$3$N>l9g!"%+!<%M%kB&$G$OId9fJQ49$r9T$$$^$;$s!#(B

	  $B%+!<%M%k$H%"%W%j%1!<%7%g%s$N4V$N%$%s%?!<%U%'!<%9$H$7$F$O!"(B
	  $B!V(B/$B!W$G6h@Z$i$l$?%U%!%$%kL>$N3F%3%s%]!<%M%s%HKh$K!"$=$l$>$l(B
	  $BMQ$$$i$l$F$$$kId9f2=J8;z=89g$rJV$9%$%s%?!<%U%'%$%9$r!"(B
	  pathconf() $B$N$h$&$J7A$G@_$1$k$N$,NI$$$+$b$7$l$^$;$s!#(B
	  $B$?$@$7!"$=$N$h$&$J%$%s%?!<%U%'!<%9$,$J$/$H$b!"$H$j$"$($:$O!"(B
	  statfs(2) $B$K!"3F%U%!%$%k%7%9%F%`Kh$NId9f2=J8;z=89g$rJV$9(B
	  $B%*%W%7%g%s$r@_$1$l$P!"$"$H$O%"%W%j%1!<%7%g%sB&$G<BAu2DG=$@(B
	  $B$H;W$$$^$9!#(B

  $B$[$H$s$I$N%"%W%j%1!<%7%g%s$O!"(B(X) $B$r;H$&$3$H$K$J$k$G$7$g$&!#(B

$B$3$3$G!"(B(a) $B$N>l9g$K$O!"!VJQ49$7$J$$!W$H$$$&%*%W%7%g%s$bI,MW$G$9!#(B
$B$G$J$$$H!"8=>u$N(B ufs $B$H$N8_49@-$rJ]$F$^$;$s!#(B
$B$^$?!"(B(Y) $B$N>l9g$b!VJQ49$7$J$$!W$H$$$&%*%W%7%g%s$,I,MW$G$9!#(B

$B$3$l$r<B8=$9$k$?$a$K!"$I$&$9$k$+$G$9$,!"Id9f2=J8;z=89g$N0l<o$H$7$F!"(B
$B!VL5JQ49!W$H$$$&FC<l$JId9f2=J8;z=89g$r9M$($k$3$H$K$7$^$9!#(B
$B$9$J$o$A!"(Biconv_open() $B$G;XDj$5$l$?F~NOB&Id9f2=J8;z=89g$H!"=PNOB&(B
$BId9f2=J8;z=89g$N$I$A$i$+JRJ}$G$b!VL5JQ49!W$@$C$?>l9g!"(Biconv() $B$O(B
$B2?$bJQ49$7$J$$$3$H$K$9$k$o$1$G$9!#(B
($B$H$$$C$F$b!"(BNTFS $B$N$h$&$K(B UTF-16 $B$N>l9g$K$O!"$=$N$^$^(B userland
 $B$K8+$;$k$o$1$K$O$$$+$J$$$N$G!"!VJQ49$7$J$$!W$H8@$C$F$b!"JRB&$,(B
 UTF-16 $B$G(B $BJRB&$,!VL5JQ49!W$N>l9g$OFCNc$H$7$F!"<B:]$K$OL5JQ49(B
 $B$G$O$J$/(B UTF-8 $B$KJQ49$9$k$3$H$K$J$j$^$9!#(B)

$B$3$&$9$k$H!"(B
(a) $B$O!"%U%!%$%k%7%9%F%`Id9f2=J8;z=89g(B [1] $B$H$7$F(B
  $B!VL5JQ49!W$r;XDj$7$?>l9g$K3:Ev(B
(Y) $B$O!"%"%W%j%1!<%7%g%s$NB&$NId9f2=J8;z=89g(B [2] $B$K(B
  $B!VL5JQ49!W$r;XDj$7$?>l9g$K3:Ev(B
$B$7$F!"$&$^$/$$$/H&$G$9!#(B

$B$^$H$a$k$H!"(B

	(a) $B$KJ,N`$5$l$k%U%!%$%k%7%9%F%`$G$O!"(B
	  $B%U%!%$%k%7%9%F%`B&$NId9f2=J8;z=89g(B [1] $B$,!VL5JQ49!W$K8GDj!#(B
		$B>-MhE*$K$O!"(Bmount $B%*%W%7%g%s$GJQ992DG=$K$9$k$N$,NI$$$H(B
		$B;W$$$^$9!#$9$J$o$A!"(B(a) $B$KJ,N`$5$l$k%U%!%$%k%7%9%F%`$O!"(B
		$B>-Mh(B (c) $B$KJ,N`$5$l$k$3$H$K$J$k$o$1$G$9!#(B
	(b) $B$KJ,N`$5$l$k%U%!%$%k%7%9%F%`!"$9$J$o$A(B NTFS $B$N$h$&$J>l9g!"(B
	  mount $B%*%W%7%g%s$G$O2?$b;XDj$7$^$;$s!#(B
		$B$J$<$J$i!"(Buserland $BB&$,5a$a$F$$$kId9f2=J8;z=89g$O!"(B
		[1] $B$G$O$J$/!"(B[2]. $B$NOC$G$"$j!"%U%!%$%k%7%9%F%`Kh$K(B
		$BB8:_$9$k>pJs$G$O$J$$$+$i$G$9!#(B
	(c) $B$KJ,N`$5$l$k%U%!%$%k%7%9%F%`$G$O!"(B
	  mount $B%*%W%7%g%s$G!"%U%!%$%k%7%9%F%`B&$NId9f2=J8;z=89g(B [1] $B$r(B
	  $B;XDj$9$k!#(B

	$B%"%W%j%1!<%7%g%s$K8+$($kId9f2=J8;z=89g(B[2] $B$O!"(B
	mount $B%*%W%7%g%s$G$O$J$/!"(Bsysctl $B$G@_Dj$9$k!#(B
	($B>-MhE*$K$O!"%W%m%;%9C10L$GJQ992DG=$H$9$k!#(B)

$B$H$$$&$3$H$K$J$j$^$9!#(B

------------------------------ $B$3$3$^$G(B ------------------------------
--
soda
