$B$3$N>O$NL\
$BA0JG(B:1.5 $B%a%b%j4IM}$K$b$I$k(B
$B

1.6 $B%U%!%$%k4IM}(B

1.6.1 $B%U%!%$%k4IM}5!G=$N35MW(B

$B35MW(B

$B%U%!%$%k4IM}5!G=$G$O%U%m%C%T!<%G%#%9%/(B ( FD )$B!"(B $B%O!<%I%G%#%9%/(B ( HD ) $BEy$N>e$K:n@.$5$l$k%U%!%$%k%7%9%F%`$NO@M}9=B$!"(B $B$*$h$S%U%!%$%k$r

$B%U%!%$%k%7%9%F%`$re$G$N3F\:Y$,5,Dj$5$l$F$$$k!#(B

$B%U%!%$%k%7%9%F%`$O!"?H%b%G%k$r4pK\$H$7$?9=B$$H$J$C$F$*$j!"(B $B0J2<$N$h$&$JFCD'$r;}$D!#(B

$B%U%!%$%k$O;~7ONs>e$K$*$$$FJ#?t$N%f!<%6$K$h$j;HMQ$5$l!"(B $B$5$i$K%M%C%H%o!<%/4D6-$G$OJ#?t$N%f!<%6$K$h$jF1;~$K;HMQ$5$l$k$?$a%U%!%$%k$N%"%/%;%94IM}$r$-$a:Y$+$/9T$J$$!"(B $B9b$$%l%Y%k$NJ]8n5!9=$rDs6!$7$F$$$k!#(B

$B%U%!%$%k$H%j%s%/(B

$B%U%!%$%k$O%G!<%?$rJ];}$9$k$?$a$NMF4o$^$?$OJ];}$5$l$?%G!<%?<+BN$G$"$j!"(B 1 $B$D$N%U%!%$%k$O2DJQD9$N=g=xIU$1$i$l$?%l%3!<%I$NNs$+$i9=@.$5$l$k!#(B

$B%j%s%/$O%U%!%$%k$r;2>H$9$k$?$a$NH$9$k%U%!%$%k$r<($9%G!<%?$H%j%s%/FH<+$N$$$/$D$+$NB0@-%G!<%?$r$R$H$^$H$a$K$7$?%G!<%?9=B$$G$"$k!#(B

$B%j%s%/$O!"(B 1 $B$D$N%l%3!<%I$H$7$FG$0U$N%U%!%$%k$NCf$KKd$a9~$^$l$FB8:_$9$k!#(B 1 $B$D$N%U%!%$%k$r<($9%j%s%/$OJ#?t8DB8:_$7$F$bNI$/!"(B $B$3$l$K$h$jA4BN$H$7$F%M%C%H%o!<%/>u$NG$0U$N%U%!%$%k4V$N;2>H4X78$,Dj5A$5$l$k!#(B

$B?H%b%G%k$H$NBP1~$K$*$$$F!"(B $B%U%!%$%k$O?H$K(B 1 $BBP(B 1 $B$KBP1~$9$k$3$H$K$J$k!#(B $B?H%b%G%k$G$O!"(B $B%f!<%6$H$N%S%8%e%"%k%$%s%?%U%'!<%9$r4pK\$H$7$F$*$j!"(B $B$=$N0UL#$G!"FC$K2>?H$O%j%s%/$N%S%8%e%"%kI=8=$H$_$J$9$3$H$,$G$-$k!#(B

$B%U%!%$%k$N;2>H$O4pK\E*$K%j%s%/$rDL$7$FD>@\9T$J$o$l$k$?$a!"(B $B%U%!%$%k$NL>A0$O@dBPE*$J0UL#$r;}$?$:!"(B 1$B$D$N8!:w%-!<$H$7$F;HMQ$5$l$k!#(B $B%U%!%$%kL>$H$7$F$O:GBg(B20$BJ8;z$NG$0U$N%U%!%$%kL>$,IU$1$i$l$k$,!"(B $BF10l$N%U%!%$%kL>$,B8:_$7$F$b9=$o$J$$!#(B

$B%U%!%$%k$H%j%s%/(B
$B?^(B 6 : $B%U%!%$%k$H%j%s%/(B

1.6.2 $B%U%!%$%k%7%9%F%`9=@.(B

$B%U%!%$%k%7%9%F%`(B

$B%U%!%$%k%7%9%F%`$O%U%!%$%k$r4IM}$9$k$?$a$N(B 1 $B$D$NJ*M}E*$JC10L$G$"$j!"(B 1$B$D$N5!4o>e$N0J2<$N$h$&$J5-21G^BN>e$K9=C[$5$l!"J*M}E*$J%5%$%:$N>e8B$r;}$D!#(B

$B%U%!%$%k%7%9%F%`$K$O!"I,$:(B 1 $B$D$N%k!<%H%U%!%$%k$,B8:_$7!"(B $B$=$N%k!<%H%U%!%$%k$K4^$^$l$k%j%s%/$r=g?H%b%G%k$H$NBP1~$K$*$$$F%G%P%$%9

$B%U%!%$%k4V$N%j%s%/$K$h$k;2>H4X78$O!"(B $B4pK\E*$K(B 1 $B$D$N%U%!%$%k%7%9%F%`Fb$GDj5A$5$l@09g$,$N%U%!%$%k%7%9%F%`$KB8:_$9$k%U%!%$%k$r;2>H$9$k$?$a$N4V@\E*$J%j%s%/$r;}$D$3$H$,$G$-!"(B $B$3$l$rFC$K4V@\%j%s%/$H8F$V!#(B $B4V@\%j%s%/$K$h$k;2>H$N>l9g$O!"(B $B;2>H@h$NB>$N%U%!%$%k%7%9%F%`$NJQ99$KBP$9$k@09g$OH@h$N%U%!%$%k$NB8:_$OJ]>Z$5$l$J$$>l9g$,$"$k$?$aCm0U$,I,MW$G$"$k!#(B

$B%U%!%$%k%7%9%F%`$N@8@.;~$K$O!"(B $B%U%!%$%k%7%9%F%`L>!"$*$h$S%G%P%$%9=j:_L>$,@_Dj$5$l$k!#(B

$B%U%!%$%k%7%9%F%`L>$O%k!<%H%U%!%$%k$NL>>N$H$7$F$b@_Dj$5$l$k:GBg(B 20 $BJ8;z$NL>A0$G$"$j!"(B $B%7%9%F%`$*$h$S%f!<%6$,%U%!%$%k%7%9%F%`$r@dBPE*$K<1JL$9$k$?$a$K;HMQ$5$l$k!#(B $B%U%!%$%k%7%9%F%`L>$,F10l$N%U%!%$%k%7%9%F%`$O!"F10l$H$_$J$5$l$k$?$a!"(B $B%U%!%$%k%7%9%F%`L>$O%f%K!<%/$G$J$1$l$P$$$1$J$$!#(B

$B%G%P%$%9=j:_L>$O!"(B $B%U%!%$%k%7%9%F%`$,3JG<$5$l$F$$$kJ*M}%G%P%$%9$r<($9:GBg(B20$BJ8;z$NL>A0$G$"$j!"(B $B%M%C%H%o!<%/7PM3$GB>$N%^%7%s$r%"%/%;%9$9$k>l9g$d!"(B $B%U%m%C%T!l9g$K;HMQ$5$l$k!#(B $BDL>o!"(B $B%G%P%$%9=j:_L>$H$7$F$O%O!<%I%G%#%9%/Ey$N5!4o$K8GDjE*$KIUB0$7$F$$$k%G%P%$%9$N>l9g$K$O$=$NG^BN$N0lHLL>>N(B ( $BB($A!V%O!<%I%G%#%9%/!WEy(B ) $B$,;HMQ$5$l!"(B $B%U%m%C%T!<%G%#%9%/Ey$Nl9g$K$O$=$NG^BN$N0lHLL>>N(B ( $BB($A!V%U%m%C%T!<%G%#%9%/!WEy(B ) $B$,;HMQ$5$l$k!#(B

$B%U%!%$%k%7%9%F%`$N9=@.(B
$B?^(B 7 : $B%U%!%$%k%7%9%F%`$N9=@.(B

$B%U%!%$%k%7%9%F%`$N@\B3(B

$B%7%9%F%`$N%9%?!<%H%"%C%W;~$K$O!"(B $B%U%!%$%k%7%9%F%`$O(B 1 $B$D$bB8:_$7$F$$$J$$>uBV$G$"$j!"(B $B@\B3A`:n$r9T$J$&$3$H$K$h$j=i$a$F!"(B $B%U%!%$%k%7%9%F%`$H$7$F;HMQ$9$k$3$H$,2DG=$H$J$k!#(B $B=>$C$F!"(B $BDL>o$O%7%9%F%`$N=i4|2==hM}$H$7$F:GDc8B$N%U%!%$%k%7%9%F%`$N@\B3$r9T$J$&I,MW$,$"$k!#(B

$B%U%!%$%k%7%9%F%`$N@\B3$O!"(B $B@\B3$9$k%U%!%$%k%7%9%F%`$,B8:_$9$kO@M}%G%P%$%9L>$H!"(B $B@\B3L>$r;XDj$7$F9T$J$o$l$k!#@\B3L>$O@\B3$7$?%U%!%$%k%7%9%F%`$r<1JL$9$k$?$a$N:GBg(B 8 $BJ8;z$NL>A0$G$"$j!"(B $B@\B3$7$?%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$r<($9@dBP%Q%9L>>N$H$7$F;HMQ$5$l$k!#(B $B$^$?!"@\B3;~$K$O@\B3$7$?%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$X$N%j%s%/$,F@$i$l$k!#(B

$B=>$C$F!"@\B3;~$KF@$i$l$?%j%s%/!"$^$?$O@\B3L>$r;HMQ$9$k$3$H$K$h$j!"(B $B@\B3$7$?%U%!%$%k%7%9%F%`>e$N%k!<%H%U%!%$%k$r%"%/%;%9$9$k$3$H$,2DG=$H$J$j!"(B $B%k!<%H%U%!%$%k$+$i=ge$NG$0U$N%U%!%$%k$r%"%/%;%9$9$k$3$H$,2DG=$H$J$k!#(B

$B%U%!%$%k%7%9%F%`$N@ZCG$O!"(B $B@ZCG$9$k%U%!%$%k%7%9%F%`$NO@M}%G%P%$%9L>$r;XDj$7$F9T$J$o$l!"(B $B$3$l$K$h$j@ZCG$7$?%U%!%$%k%7%9%F%`>e$N%U%!%$%k$r<($9%j%s%/$rDL$7$?%U%!%$%k$N%"%/%;%9$O$G$-$J$$>uBV$H$J$j!"(B $B$3$N>uBV$r@ZCG>uBV$H8F$V!#(B

$B?H%b%G%k$H$NBP1~$K$*$$$F!"@ZCG>uBV$N%j%s%/$O5u?H$KBP1~$9$k$3$H$K$J$k!#(B

$B%U%!%$%k%7%9%F%`$N@\B3$O!"(B $BC1$K%U%!%$%k%7%9%F%`$NB8:_$r%U%!%$%k4IM}5!G=$KF0E*$KEPO?$9$k$@$1$N5!G=$G$"$j!"(B $B9=B$$r;}$?$J$$J?C3$J@\B3$G$"$k!#(B $B=>$C$F!"J#?t$N%U%!%$%k%7%9%F%`$r$^$?$,$k%M%C%H%o!<%/>u$N@EE*$J%U%!%$%k;2>H9=B$$O!"(B $B0[$J$k%U%!%$%k%7%9%F%`>e$N%U%!%$%k$r;2>H$9$k4V@\%j%s%/$rMxMQ$7$F9=C[$9$k$3$H$K$J$k!#(B

$B%U%!%$%k%7%9%F%`$N@\B3(B
$B?^(B 8 : $B%U%!%$%k%7%9%F%`$N@\B3(B

$B%U%!%$%k(BID

1 $B$D$N%U%!%$%k%7%9%F%`Fb$NA4$F$N%U%!%$%k$K$O!"(B $B@8@.;~$K%U%!%$%k(BID$B$H8F$P$l$k%f%K!<%/$JHV9f$,IU$1$i$l!"(B $BFbItE*$K<1JL$5$l$k!#%U%!%$%k(BID$B$O(B 0 $B!A(B ( $B:GBg%U%!%$%k(BID ) $B$NHO0O$NCM$G$"$j!"(B $B:GBg%U%!%$%k(BID($BB($A!":GBg$N%U%!%$%k?t(B)$B$O%U%!%$%k%7%9%F%`$N@8@.;~$K5,Dj$5$l$k!#(B $B%U%!%$%k(BID$B$O(B 16 $B%S%C%H$N?tCM$GI=$o$5$l$k$?$a!"(B $B:GBg%U%!%$%k(BID$B$O(B 65535 $B$r1[$($k$3$H$O$G$-$J$$!#(B

$B%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$O>o$K(B 0 $B$N%U%!%$%k(B ID $B$r;}$D!#(B

$B%j%s%/(B

$B%j%s%/$O!"%U%!%$%k$r%"%/%;%9$9$k$?$a$NH$9$k%U%!%$%k$,B8:_$9$k%U%!%$%k%7%9%F%`L>!"%U%!%$%k(BID $B!"(B $B$*$h$S%j%s%/$H$7$F$N$$$/$D$+$NB0@-%G!<%?$rJ];}$7$F$$$k%G!<%?9=B$$G$"$k!#(B

$B%j%s%/$O!"%S%8%e%"%k$JA`:n4D6-$G$O!"2>?H$H$7$FI=<($5$l$k!#(B

$B%j%s%/$OC1$J$k%]%$%s%?$H$7$F$NF0E*$J%G!<%?$G$"$k$,!"(B $B%U%!%$%kFb$K(B 1 $B$D$N%l%3!<%I$H$7$F3JG<$9$k$3$H$K$h$j8GDjE*$JB8:_$H$J$k!#(B $B$3$N$h$&$K3JG<$5$l$?%j%s%/$rFC$K8GDj(B ( $B%U%#%C%/%9%I(B ) $B%j%s%/$H8F$V!#8GDj%j%s%/$O%U%!%$%k%7%9%F%`L>$r;}$?$J$$$?$a!"(B $BF10l$N%U%!%$%k%7%9%F%`Fb$N%U%!%$%k$N;2>H$N$_2DG=$G$"$j!"(B $B%U%!%$%k$+$i8GDj%j%s%/$r$,%j%s%/$N%G!<%?9=B$$H$7$F@_Dj$5$l$k$3$H$K$J$k!#(B

$B$3$N$?$a!"(B $B0[$J$k%U%!%$%k%7%9%F%`$r;2>H$9$k%j%s%/$r8GDj%j%s%/$H$7$F%U%!%$%kFb$K3JG<$9$k>l9g$O!"(B $B$"$i$+$8$a!"3JG<$9$k%U%!%$%k%7%9%F%`Fb$K%j%s%/%U%!%$%k$H8F$P$l$kFC

$B%j%s%/%U%!%$%k$O!";2>H$9$k%U%!%$%k$NB8:_$9$k%U%!%$%k%7%9%F%`L>!"(B $B%U%!%$%k(BID$B!"%U%!%$%kL>!"$*$h$S@[email protected]|;~(B $B$rJ];}$7$F$$$kFCH$7$F$$$k0[$J$k%U%!%$%k%7%9%F%`Fb$N%U%!%$%k$X$N%"%/%;%9$H<+F0E*$K2ro$N%U%!%$%k$r<($9%j%s%/$rD>@\%j%s%/$H8F$V!#(B

$BB?=E$N4V@\%j%s%/!"(B $BB($A(B 2 $B$D0J>e$N%j%s%/%U%!%$%k$r7PM3$7$?%U%!%$%k$N;2>H$O%5%]!<%H$5$l$J$$$?$a!"(B $B%"%/%;%9$7$?;~E@$G%U%!%$%k$OB8:_$7$J$$$H$$$&%(%i!<$K$J$k!#(B

$B4V@\%j%s%/$K$h$k%j%s%/%U%!%$%k7PM3$K$h$k%U%!%$%k$N;2>H$O!"(B $B0J2<$N$h$&$K9T$J$o$l$k!#(B

$B4V@\%j%s%/!?%j%s%/%U%!%$%k(B
$B?^(B 9 : $B4V@\%j%s%/!?%j%s%/%U%!%$%k(B

$B:n6H%U%!%$%k(B

$B$"$k%W%m%;%9$,8=:_=hM}$NBP>]$H$7$F$$$k%U%!%$%k$r$=$N%W%m%;%9$N:n6H%U%!%$%k$H8F$V!#(B $B%W%m%;%9$O%7%9%F%`%3!<%k$K$h$jG$0U$N%U%!%$%k$r:n6H%U%!%$%k$H$9$k$3$H$,2DG=$G$"$k!#(B

$B:n6H%U%!%$%k$O%W%m%;%9$N5$5$l$k!#(B

$B:n6H%U%!%$%k$OL$Dj5A$H$9$k$3$H$b2DG=$G$"$j!"(B $B%7%9%F%`$G:G=i$K@8@.$5$l$?%W%m%;%9$N:n6H%U%!%$%k$OL$Dj5A>uBV$H$J$C$F$$$k!#(B

$B%Q%9L>(B

$B%U%!%$%k$N;2>H$O4pK\E*$K%j%s%/$K$h$jD>@\E*$K9T$J$o$l$k$,!"(B $B%P%C%AE*$J%"%W%j%1!<%7%g%sEy$G$O!"(B $B%j%s%/$r%$%s%?%i%/%F%#%V$K=gHV$K$?$I$k$3$H$,$G$-$J$$$?$a!"(B $BD>@\E*$K$?$I$k$Y$-%j%s%/$NNs$r;XDj$9$k$3$H$K$h$j%U%!%$%k$r;2>H$9$k$3$H$K$J$k!#(B

$B$3$N$?$a$N%j%s%/$NNs$H$7$F!"(B $B3F%j%s%/$N;2>H$9$k%U%!%$%kL>$r=gHV$KJB$Y$?$b$N$r!"(B $B%Q%9L>$H8F$V!#$3$N>l9g!"%U%!%$%kL>$@$1$G$O0l0U@-$,J]>Z$5$l$J$$$?$a!"(B $B$=$N=P8==g$r%U%!%$%kL>$KIU2C$7$F;HMQ$9$k!#(B

$B=P8==g$O!"(B 1 $B$D$N%U%!%$%kFb$KF10l$N%U%!%$%kL>$r;}$D%U%!%$%k$r;2>H$9$k%j%s%/$,(B n $B8DB8:_$9$k>l9g$K@hF,$+$iIU$1$i$l$?(B 0 $B!A(B n-1 $B$NO"B3HV9f$G$"$k!#(B $B=P8==g$r>JN,$7$?>l9g$O(B 0$B!"B($A:G=i$H$_$J$5$l$k!#(B

$B?^(B 10 : $B%Q%9L>$N=P8==g(B

$B%Q%9L>$O0J2<$K<($99=J8$r;}$A!"(B $B:GBg(B 256 $BJ8;z$^$G$N(B 1 $B$D$NJ8;zNs$H$7$F

    [$B%Q%9L>(B]     ::$B!a(B[$BFCH(B]$B!C(B[$BFCH(B] / [$BC1=c%Q%9L>(B]$B!C(B[$BC1=c%Q%9L>(B]
    [$BC1=c%Q%9L>(B] ::$B!a(B[$BC1=c%Q%9L>(B] / [$B;2>H;XDj(B]$B!C(B [$B;2>H;XDj(B]
    [$B;2>H;XDj(B]   ::$B!a(B[$B%U%!%$%kL>(B] $B!C(B[$B%U%!%$%kL>(B]$B!'(B[$B=P8==g(B]
    [$BFCH(B]   ::$B!a(B  / [$B@\B3L>(B]$B!C(B $B"a(B
    [$B=P8==g(B]     ::$B!a(B $B?tCM(B
    [$B%U%!%$%kL>(B] ::$B!a(B $BJ8;zNs(B ($B:GBg(B20$BJ8;z(B)
    [$B@\B3L>(B]     ::$B!a(B $BJ8;zNs(B ($B:GBg(B8$BJ8;z(B)

    $BFCH$O0J2<$N0UL#$r;}$D!#(B
      / [$B@\B3L>(B] -- $B;XDj$7$?@\B3L>$G@\B3$7$?%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$r<($9!#(B
      $B"a(B         -- $B:n6H%U%!%$%k$r<($9!#(B

/ $B"a(B : $B$N5-9f$O!"$=$l$>$l0J2<$K<($9FC$H$7$F$O6uGr$r4^$a$?I=<(2DG=$J$9$Y$F$NJ8;z$,;HMQ2DG=$G$"$k!#(B $B%Q%9L>$NJ8;zNs$N:G8e$K(B / $B$,B8:_$7$F$$$?>l9g$O!"(B $B$=$l$OL5;k$5$l$k$b$N$H$9$k!#(B

    $B!?(B  TC_FDLM     0xff21
    $B!'(B  TC_FSEP     0xff22
    $B"a(B  TC_FOWN     0xff23

/ [$B@\B3L>(B]$B$G;O$^$k%Q%9L>$O!"(B $B$=$N%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$+$i$N%Q%9L>$G$"$j!"(B $B@dBP%Q%9L>$H8F$V!#(B $B$=$l0J30$N>l9g$O8=:_$N:n6H%U%!%$%k$+$i$NAjBPE*$J%Q%9L>$G$"$j!"(B $BAjBP%Q%9L>$H8F$V!#(B

$B%Q%9L>$H$7$F$O0J2<$N$h$&$J$b$N$,$"$2$i$l$k!#(B

    /$B:G?7(B/$B%W%m%8%'%/%H(B/$B%=%U%H%&%'%";EMM(B/$B3K;EMM(B/$B%U%!%$%k4IM}(B

    $B30It;EMM(B/$BBh(B10$B>O(B/$BNc(B:1

    $B"a(B

1.6.3 $B%U%!%$%k$N9=@.(B

$B%U%!%$%k$N%?%$%W(B

$B%U%!%$%k$K$O!"Bg$-$/0J2<$N(B2$Bl9g$O!"DL>o%U%!%$%k$r0UL#$9$k!#(B

$BDL>o%U%!%$%k(B :
$B%G!<%?$NJ]B8>l=j$H$7$F$NDL>o$N0UL#$G$N%U%!%$%k$G$"$k!#(B
$B%j%s%/%U%!%$%k(B :
$BJL$N%U%!%$%k%7%9%F%`Fb$N%U%!%$%k$r4V@\E*$K;2>H$9$k$?$a$K;HMQ$5$l$kFC

$B$J$*!"(BFD$B!"(BHD$B!"%W%j%s%?!"DL?.%i%$%sEy$NJ*M}E*$J%G%P%$%9$O!"(B $B%U%!%$%k$H$7$F$G$O$J$/FHN)$7$?%G%P%$%9$H$7$FA0$K$h$j%7%9%F%`$KEPO?$5$l!"(B $B$=$NL>A0$r;HMQ$7$F%"%/%;%9$5$l$k!#(B

$BDL>o%U%!%$%k$N9=@.(B

( $BDL>o(B ) $B%U%!%$%k$O!"(B $BG$0U%P%$%HD9$N%l%3!<%I$N=g=xIU$1$i$l$?Ns!"(B $BB($A%l%3!<%I%9%H%j!<%`$K$h$j9=@.$5$l!"(B $B3F%l%3!<%I$O!"0J2<$NMWAG$K$h$j9=@.$5$l$k!#(B

  • $B%l%3!<%I%?%$%W(B
  • $B%l%3!<%I%5%V%?%$%W(B
  • $B%l%3!<%I%5%$%:(B
  • $B%l%3!<%IK\BN(B

$B%l%3!<%I%?%$%W$O!"%l%3!<%I$N%?%$%W$r<($9(B 0 $B!A(B 31 $B$NCM$G$"$k!#(B

0 $B!'%j%s%/%l%3!<%I(B

$BB>$N%U%!%$%k$X$N%j%s%/$r3JG<$9$k%l%3!<%I$G$"$j!"(B $B$=$NFbMF$O%U%!%$%k4IM}5!G=$K$h$jD>@\E*$K@\E*$JA`:n$O8BDj$5$l$k!#(B

1 $B!A(B31 : $B%G!<%?%l%3!<%I(B

$B%7%9%F%`$H$7$F5,Dj$5$l$k%l%3!<%I%?%$%W$G$"$k$,!"(B $B$=$NFbMF$K4X$7$F$O%U%!%$%k4IM}5!G=$H$7$F$OFC$K4XCN$;$:!"(B $BC1$J$k%P%$%HNs$H$7$F

$B%l%3!<%I%5%V%?%$%W$O!"%l%3!<%I%?%$%W$K1~$8$F;HMQ$5$l$kJd=uE*$J%?%$%W;XDj$d!"(B $B%-!<%o!<%I$K;HMQ$5$l$k(B 16 $B%S%C%H$NId9fL5$7?tCM$G$"$k!#(B

$B%l%3!<%I%5%$%:$O!"%l%3!<%IK\BN$N%P%$%H?t$r<($9(B32$B%S%C%H$N%G!<%?$G$"$k!#(B $B%j%s%/%l%3!<%I$N>l9g$O%l%3!<%I%5%$%:>pJs$r;}$?$J$$$,!"(B $B%l%3!<%I$NF~=PNO$KI,MW$JNN0h$N%5%$%:$G$"$k(B LINK $B9=B$BN$N%5%$%:(B (52$B%P%$%H(B) $B$r%l%3!<%I%5%$%:$H$9$k!#(B $B$?$@$7!"$3$N%j%s%/%l%3!<%I$N%5%$%:$O!"(B $B%U%!%$%k4IM}>pJs$H$7$F$NAm%P%$%H?t$K$O!"(B $B%+%&%s%H$5$l$J$$!#(B

$B%l%3!<%IK\BN$O!"%l%3!<%I%5%$%:$G<($5$l$?%P%$%H?t$N%G!<%?Ns$G$"$j!"(B $B$=$NFbMF$O%l%3!<%I%?%$%W$K0MB8$7$F7h$a$i$l$F$$$k!#(B $B%j%s%/%l%3!<%I$N>l9g$O%l%3!<%IK\BN$OFC

$BHV9f(B / $B8=:_%l%3!<%I(B

$B%U%!%$%k$N3F%l%3!<%I$K$O!"@hF,$N%l%3!<%I$r(B 0 $B$H$7$?%l%3!<%I$N=gHV$K=>$C$?O"B3HV9f$,IU$1$i$l$F$*$j!"(B $B$3$l$r%l%3!<%IHV9f$H8F$V!#(B $B%l%3!<%IHV9f$O%l%3!<%I$N=gHV$r<($7$F$$$k$?$a%l%3!<%I$NA^F~(B / $B:o=|$K$h$jF0E*$KJQ2=$9$k!#(B

$B:G8e$N%l%3!<%I$NA[E*$K%l%3!<%I$,B8:_$7$F$$$k$b$N$H9M$(!"(B $B$3$N%l%3!<%I$r=*C<%l%3!<%I$H8F$V!#(B N $B8D$N%l%3!<%I$,$"$k>l9g!"=*C<%l%3!<%I$O%l%3!<%IHV9f(B N $B$r;}$D$3$H$K$J$k!#(B

$B%*!<%W%s$7$?%U%!%$%k$KBP$7$F$O8=:_!"(B $B%"%/%;%9$NBP>]$H$7$F$$$k%l%3!<%I$r<($98=:_%l%3!<%I$,Dj5A$5$l!"(B $B8=:_%l%3!<%I$N%l%3!<%I$KBP$7$F%G!<%?%"%/%;%9$,9T$J$o$l$k!#(B $B8=:_%l%3!<%I$O%l%3!<%IHV9f$N;XDj!"(B $B%l%3!<%I%?%$%W$K$h$k8!:wEy$K$h$j0\F0$5$;$k$3$H$,$G$-$k!#(B

$B8=:_%l%3!<%I$O%l%3!<%I$NA^F~(B / $B:o=|$K$h$C$F$bJQ2=$;$:!"(B $B8=:_%l%3!<%I$KBP1~$9$k%l%3!<%IHV9f$,JQ2=$9$k$3$H$K$J$k!#(B

$B%l%3!<%IHV9f!?8=:_%l%3!<%I(B
$B?^(B 11 : $B%l%3!<%IHV9f!?8=:_%l%3!<%I(B

$B%j%s%/%U%!%$%k$N9=@.(B

$B%j%s%/%U%!%$%k$O!"(B $B0[$J$k%U%!%$%k%7%9%F%`Fb$KB8:_$9$k%U%!%$%k$r4V@\E*$K;2>H$9$k$?$a$K@8@.$5$l;HMQ$5$l$k%U%!%$%k$G$"$j!"(B $B%"%W%j%1!<%7%g%s%G!<%?$OB8:_$;$:!"0J2<$K<($94IM}MQ%G!<%?$N$_$,J]B8$5$l$F$$$k!#(B

  • $B;2>H$9$k%U%!%$%k$N%U%!%$%k(BID
  • $B;2>H$9$k%U%!%$%k$N%"%W%j%1!<%7%g%s%?%$%W(B
  • $B;2>H$9$k%U%!%$%k$N%U%!%$%kL>(B
  • $B;2>H$9$k%U%!%$%k$N@[email protected]|;~(B
  • $B;2>H$9$k%U%!%$%k$,B8:_$7$?%U%!%$%k%7%9%F%`L>(B
  • $B;2>H$9$k%U%!%$%k$,B8:_$7$?%U%!%$%k%7%9%F%`$N%G%P%$%9=j:_L>(B

1.6.4 $B%U%!%$%k$N%"%/%;%94IM}(B

$B%U%!%$%k$N%"%/%;%94IM}(B

$B%U%!%$%k$N%"%/%;%94IM}$O%U%!%$%k$r%"%/%;%9$G$-$k%f!<%6$rFCDj!"(B $B$^$?$O@)8B$9$k$3$H$K$h$j!"(B $B%U%!%$%k$N5!L)J]8n$dITN8$N2~JQ!?:o=|$+$iJ]8n$9$k$?$a$N5!9=$G$"$j!"(B $B%U%!%$%k$r%"%/%;%9$9$k%W%m%;%9$,;}$D%f!<%6>pJs$H!"(B $B3F%U%!%$%k$K@_Dj$5$l$?%"%/%;%94IM}>pJs$r>H$i$79g$o$;$k$3$H$K$h$j%U%!%$%k%"%/%;%9$N2DH]$r7hDj$9$k$3$H$K$J$k!#(B

$B%f!<%6>pJs(B

$B3F%f!<%6$K$O!"0J2<$K<($9%f!<%6>pJs$,@_Dj$5$l$k!#(B

  • $B%f!<%6L>(B (12$BJ8;z(B) + $B1#$7%f!<%6L>(B (2$BJ8;z(B)
  • $B=jB0%0%k!<%WL>(B1 (12$BJ8;z(B) + $B1#$7%0%k!<%WL>(B1 (2$BJ8;z(B)
  • $B=jB0%0%k!<%WL>(B2 (12$BJ8;z(B) + $B1#$7%0%k!<%WL>(B2 (2$BJ8;z(B)
  • $B=jB0%0%k!<%WL>(B3 (12$BJ8;z(B) + $B1#$7%0%k!<%WL>(B3 (2$BJ8;z(B)
  • $B=jB0%0%k!<%WL>(B4 (12$BJ8;z(B) + $B1#$7%0%k!<%WL>(B4 (2$BJ8;z(B)
  • $B%f!<%6%l%Y%k(B (0$B!A(B15$B!"(B0$B$,:G9b%l%Y%k(B)
  • $B%M%C%H%o!<%/%f!<%6%l%Y%k(B (1$B!A(B15$B!"(B1$B$,:G9b%l%Y%k(B)

$B1#$7%f!<%6L>!"1#$7%0%k!<%WL>$O!"1Q?t;z(B 4 $BJ8;zDxEY$r0E9f2=$7$F!"(B 2 $BJ8;z$K%3!<%I2=$7$?$b$N$G$"$j!"%f!<%6L>!"%0%k!<%WL>$H9g$o$;$F!"(B $B$=$l$>$l(B 14 $BJ8;z$NL>A0$H$7$F;HMQ$5$l$k!#(B $B1#$7L>$OF10lL>$N>WFM$rHr$1$k$H$H$b$K!"0E>Z%3!<%I$H$7$F$NLr3d$r;}$C$F$$$k!#(B

$B1#$7L>$N0E9f2=%"%k%4%j%:%`$O%$%s%W%j%a%s%H$K0MB8$7$?Hs8x3+$N$b$N$G$"$j!"(B $B$^$?8D!9$N5!4oKh$K0[$J$k0E9f2=$,$5$l$kI,MW$,$"$k!#(B

$B$3$l$i$N%f!<%6>pJs$O%7%9%F%`F0:n3+;O;~$K;HMQpJs$H$J$k!#(B $B$3$N%f!<%6>pJs$O;R%W%m%;%9$K7Q>5$5$l!"(B $B$=$N%W%m%;%9$,%U%!%$%k$r%"%/%;%9$9$k:]$N%f!<%6>pJs$H$7$F;HMQ$5$l$k!#(B

$B%U%!%$%k$N%"%/%;%94IM}>pJs(B

$B3F%U%!%$%k$K$O0J2<$N%"%/%;%94IM}>pJs$,@_Dj$5$l$k!#(B

  • $B%U%!%$%k$N=jM-(B(12$BJ8;z(B) + $B1#$7L>(B (2$BJ8;z(B)
  • $B%U%!%$%k$N=jM-%0%k!<%WL>(B (12$BJ8;z(B) + $B1#$7L>(B (2$BJ8;z(B)
  • $B%U%!%$%k$N%"%/%;%9%b!<%I(B
    • $B=jM- $B%U%!%$%k$N=jM-RWE $B$=$l$>$l$N2DH](B
    • $B%0%k!<%W%"%/%;%9%l%Y%k(B :
      $B%U%!%$%k$N=jM-%0%k!<%W$K=jB0$9$k3F%f!<%6$KBP$7$F!"(B RWE $B$=$l$>$l$,5v2D$5$l$F$$$k:GDc%f!<%6%l%Y%k(B (0$B!A(B15) $B$N;XDj(B
    • $B0lHL%"%/%;%9%l%Y%k(B :
      $B0lHL$N%f!<%6$KBP$7$F(B RWE $B$=$l$>$l$,5v2D$5$l$F$$$k:GDc%f!<%6%l%Y%k(B ( 0$B!A(B15 ) $B$N;XDj(B
  • $B%U%!%$%k$N%"%/%;%9B0@-(B
    • $B=q9~IT2DB0@-(B
    • $B:o=|IT2DB0@-(B

$B%"%/%;%9%b!<%I$N!"(BRWE $B$O0J2<$N0UL#$r;}$D!#(B

    R -- $B%U%!%$%k$NFI=P$7$N2DH](B
    W -- $B%U%!%$%k$X$N=q9~$_(B / $BJQ99$N2DH](B
    E -- $B%U%!%$%k$N

$B%U%!%$%k$N=jM-$O!"$=$N%U%!%$%k$r@8@.$7$?%f!<%6L>$,<+F0E*$K@_Dj$5$l!"(B $B@8@.$7$?8e$O0l@ZJQ99$9$k$3$H$O$G$-$J$$!#$^$?!"%0%k!<%WL>!"%"%/%;%9%b!<%I$O!"(B $B%U%!%$%k$N@8@.;~$K;XDj$9$k$3$H$,$G$-$k!#%0%k!<%WL>$O!"(B $B$=$N%f!<%6$,=jB0$9$k:GBg(B 4 $B$D$N%0%k!<%W$N$J$+$N(B 1 $B$D$r;XDj$9$k$3$H$K$J$k!#(B

$BB($A!"%U%!%$%k$N@8@.;~$K$O!"0J2<$N$b$N$r;XDj$9$k$3$H$,$G$-$k!#(B

  • $B=jM-RWE $B$=$l$>$l$N2DH](B
  • $B%0%k!<%W$N(B RWE $B$=$l$>$l$N5v2D:GDc%l%Y%k(B (0$B!A(B15)
  • $B0lHL$N(B RWE $B$=$l$>$l$N5v2D:GDc%l%Y%k(B (0$B!A(B15)
  • $B<+J,$N=jB0%0%k!<%W$NFb$G$I$l$r%U%!%$%k$N=jM-%0%k!<%W$H$9$k$+$N;XDj(B
    ( 0$B$O%0%k!<%W$J$7!"(B1$B!A(B4$B$O<+J,$N=jB0%0%k!<%W$N$I$l$r@_Dj$9$k$+$r<($9(B)

$B%f!<%6Kh$K%G%U%)!<%k%H%"%/%;%9%b!<%I$,Dj5A$5$l$F$*$j!"(B $B%U%!%$%k$N@8@.;~$K%G%U%)!<%k%H$H$7$FE,MQ$5$;$k$3$H$,$G$-$k!#(B $B$3$N%G%U%)!<%k%H%"%/%;%9%b!<%I$O%f!<%6!<8GM-$N>pJs$H$7$F3JG<$5$l$F$$$kFbMF$,;HMQ$5$l$k$,!"(B $B

$B$^$?!"%U%!%$%k$N=jM-!"(B $B%0%k!<%WL>$N:G=i$N(B 1 $B%P%$%H$,(B 0 $B$N>l9g$O!"(B $B=jM-l9g$O=jM-

$B%U%!%$%k$K@_Dj$5$l$?%"%/%;%94IM}>pJs$O!"(B $B$=$N=jM-$O0l@ZJQ99$G$-$J$$(B) $B!#(B $B=jM-l9g$O!"(B $BNc30E*$K%l%Y%k(B 0 $B$N%f!<%6!<$G$"$l$P%"%/%;%94IM}>pJs$rJQ99$9$k$3$H$,$G$-$k!#(B

$B=q9~IT2DB0@-$O!"%U%!%$%k$NFbMF$NJQ99$r6X;_$9$kB0@-$G$"$j!"(B $B$3$NB0@-$,(B ON $B$N>uBV$G$O$9$Y$F$NJQ99A`:n$O=jM-

$B:o=|IT2DB0@-$O!"%U%!%$%k$N:o=|$r6X;_$9$kB0@-$G$"$j!"(B $B$3$NB0@-$,(B ON $B$N>uBV$G$O!"(B $B%U%!%$%k$N:o=|$O=jM-

$B:o=|IT2DB0@-$,@_Dj$5$l$F$$$J$$%U%!%$%k$N:o=|$O!"(B $BFC$K%"%/%;%98"$rI,MW$H$7$J$$$,!"(B $B%U%!%$%k$O$I$3$+$i$b;2>H$5$l$F$$$J$$>l9g$K$N$_:o=|2DG=$G$"$k$?$a!"(B $B

$B$J$*!"%U%!%$%k%7%9%F%`$N@\B3A`:n$K$*$$$F$O!"(B $B=q9~IT2D$N@\B3;XDj$,2DG=$G$"$j!"(B $B$3$N>l9g$O$=$N%U%!%$%k%7%9%F%`$KBP$9$k$$$+$J$kJQ99A`:n$b6X;_$5$l$k!#(B $BF1MM$KJ*M}E*$K!V=q$-9~$_IT2D!W$H$J$C$F$$$k%U%m%C%T!<%G%#%9%/Ey$N>l9g$b!"(B $B$$$+$J$kJQ99A`:n$b6X;_$5$l$k!#(B

$B%U%!%$%k$N%"%/%;%9%A%'%C%/(B

$B%U%!%$%k$N%"%/%;%9%A%'%C%/$O!"$=$N%f!<%6$,=jM-$N>l9g$O0lHL%"%/%;%9%l%Y%k$,E,MQ$5$l$k!#(B

$B%U%!%$%k$N=jM-!"%0%k!<%WL>$N1#$7L>$,(B0$B$N>l9g$O!"(B $B1#$7L>$N%^%C%A%s%0$O9T$J$o$J$$$b$N$H$9$k!#(B $BB($A!"%W%m%;%9$N%f!<%6>pJs$K$"$k=jM-!"(B $B%0%k!<%WL>$N$=$l$>$l(B 12 $BJ8;z$N$_$N%^%C%A%s%0$K$h$jF10l@-$rH=CG$9$k$3$H$K$J$k!#(B

$B%l%Y%k(B 0 $B$N%f!<%6$O!"4pK\E*$K$9$Y$F$N%U%!%$%k$N(B RWE $B$,2DG=(B ( $B=q9~IT2DB0@-$,IU$1$i$l$?>l9g$K$O(B W $B$O$G$-$J$$(B) $B$H$J$k$,!"=jM-

$BNc!'(B

    $B=jM-

$B>e5-$NNc$N>l9g!"!V%W%m%8%'%/%H(BA$B!W$K=jB0$9$k%l%Y%k(B 0 $B!A(B 10 $B$N%f!<%6$O!"(B RWE $B2DG=$G$"$j!"(B $B%l%Y%k(B 11 $B!A(B 13 $B$N%f!<%6$O!"(BRE $B2DG=$G!"(B $B%l%Y%k(B 14, 15 $B$N%f!<%6$O0l@Z$N%"%/%;%9$O6X;_$5$l$k!#(B
$B$^$?!"!V%W%m%8%'%/%H(BA$B!W$KB0$5$J$$%f!<%6$KBP$7$F$O!"(B $B%l%Y%k(B 0$B!"(B1 $B$O(B RWE $B2DG=$G$"$j!"%l%Y%k(B 2$B!"(B3 $B$O(B RE $B2DG=!"(B $B%l%Y%k(B 4$B!"(B5 $B$O(B 3 $B$N$_2DG=!"(B $B%l%Y%k(B 6 $B!A(B 15 $B$O0l@Z$N%"%/%;%9$,6X;_$5$l$k!#(B

$B%"%/%;%94IM}$N%l%Y%k(B

$B%U%m%C%T!<%G%#%9%/$O!"DL>o%G!<%?$N8r49G^BN$H$7$F;HMQ$5$l$k$3$H$,B?$/!"(B $B%U%m%C%T!<%G%#%9%/>e$N%U%!%$%k$KBP$7$F$O%"%/%;%94IM}$O$J$$J}$,ET9g$,NI$$>l9g$,B?$$!#(B $B$?$@$7!"8r49$NAjl9g$d!"(B $B6&MQE*$K;HMQ$9$k>l9g$K$O%"%/%;%94IM}$,M-8z$J>l9g$b$"$k!#(B

$B$3$N$?$a$K!"(B $B%U%!%$%k%7%9%F%`C10L$G0J2<$N(B 3 $Be$N$9$Y$F$N%U%!%$%k$KBP$7$FE,MQ$5$l!"(B $B%U%!%$%k$r@8@.$9$k>l9g!"$*$h$S%U%!%$%k$N%"%/%;%94IM}>pJs$rJQ99$9$k>l9g$K!"(B $B0J2<$K<($7$?%k!<%k$K=>$C$F%"%/%;%94IM}>pJs$N@_Dj$,9T$J$o$l$k!#(B

$B=>$C$F!"(B $B%U%!%$%k$NDL>o$N%"%/%;%9%A%'%C%/$K4X$7$F$O%l%Y%k$N6hJL$J$/9T$J$o$l$k$,!"(B $B=jM-

a. $B%l%Y%k(B 0 -- $B%"%/%;%94IM}$O0l@Z9T$J$o$l$J$$(B

$B>o$K0J2<$NFbMF$N%"%/%;%94IM}>pJs$,@_Dj$5$l$k!#(B

     $B=jM-!"1#$7L>(B       : 0 ($B$J$7(B)
     $B%0%k!<%WL>!"1#$7L>(B     : 0 ($B$J$7(B)
     $B=jM-
 
b. $B%l%Y%k(B 1 -- $B%"%/%;%94IM}$OItJ,E*$K9T$J$o$l$k(B

$B=jM-(B/$B%0%k!<%WL>$N1#$7L>$O>o$K(B 0 $B$K@_Dj$5$l$k!#(B

c. $B%l%Y%k(B 2 -- $B%"%/%;%94IM}$O40A4$K9T$J$o$l$k(B

$B40A4$J%"%/%;%94IM}>pJs$,@_Dj$5$l$k!#(B

$B0lHL$K%U%m%C%T!<%G%#%9%/Ey$Nl9g$O!"(B $B0E9f2=$,5!4oKh$K0[$J$k$?$a;ve(B 1 $B$D$N5!4o$G$7$+;HMQ$G$-$J$/$J$k!#(B

$B$3$N%"%/%;%94IM}%l%Y%k$O%U%!%$%k%7%9%F%`$r@8@.$9$k;~E@$G!"(B $B%U%!%$%k%7%9%F%`$N4IM}>pJs$H$7$F@_Dj$5$l$k!#(B

1.6.5 $B%U%!%$%k$NA`:n(B

$B%W%m%;%9$N4D6-(B

$B%U%!%$%k$O%W%m%;%9$K$h$j%"%/%;%9$5$l$k$,!"(B $B%*!<%W%s$7$?%U%!%$%k$KBP$7$F$O3F%W%m%;%9Kh$GDj5A$5$l$k%U%!%$%k%G%#%9%/%j%W%?(B (fd $B!d(B 0 ) $B$H$$$&@5$N@0?tCM$,3d$jEv$F$i$l!"(B $B$=$N%U%!%$%k%G%#%9%/%j%W%?$r;HMQ$7$F

$B%W%m%;%9$N=*N;;~$K$O!"%*!<%W%s$7$?%U%!%$%k$O$9$Y$F<+F0E*$K%/%m!<%:$5$l$k!#(B

$B$^$?!"%*!<%W%s$7$?%U%!%$%k$KBP$7$F$O!"(B $B8=:_BP>]$H$7$F$$$k%l%3!<%I$r<($98=:_%l%3!<%I$,Dj5A$5$l$k!#(B

$B%U%!%$%k%G%#%9%/%j%W%?!"8=:_%l%3!<%I0LCV$O!"(B $B$=$N%W%m%;%98GM-$N$b$N$H$7$FDj5A$5$l!";R%W%m%;%9$K$OFC$K7Q>5$5$l$J$$!#(B

$B%W%m%;%9$N4D6-$H$7$F:n6H%U%!%$%k!"%f!<%64IM}>pJs$O;R%W%m%;%9$K7Q>5$5$l$k!#(B $B$^$?!"%G%U%)!<%k%H%"%/%;%9%b!<%I$O%f!<%6Kh$KDj5A$5$l!"(B $BJQ99$7$?>l9g$OF10l%f!<%6!<$N$9$Y$F$N%W%m%;%9$KBP$7$FB(;~$KM-8z$H$J$k!#(B

$B%U%!%$%k$N;2>H%+%&%s%H(B

$B%U%!%$%k$K$O!"(B $B$=$N%U%!%$%k$r;2>H$7$F$$$kF10l%U%!%$%k%7%9%F%`Fb$N8GDj%j%s%/$N?t$r<($9;2>H%+%&%s%H$,B8:_$9$k!#(B $B;2>H%+%&%s%H$O%U%!%$%k$r@8@.$7$?;~E@$G$O(B 0 $B$G$"$j!"(B $B%U%!%$%k$KBP$9$k8GDj%j%s%/$r@8@.$7$?;~E@!"(B $BB($A!"%j%s%/$r%U%!%$%kFb$K3JG<$7$?;~E@$G(B +1 $B$5$l$k!#(B $B5U$K8GDj%j%s%/$,:o=|$5$l$?;~E@$G;2>H%+%&%s%H$O(B -1 $B$5$l$k!#(B

$B;2>H%+%&%s%H$O!"F10l%U%!%$%k%7%9%F%`Fb$G$N;2>H$r<($9$?$a!"(B $B%j%s%/%U%!%$%k$r7PM3$7$?%U%!%$%k$N;2>H$O!"(B $B;2>H%+%&%s%H$KH?1G$5$l$J$$$3$H$K$J$k!#(B $B$J$*!"%j%s%/%U%!%$%k<+BN$K$b;2>H%+%&%s%H$OE,MQ$5$l$k!#(B

$B%U%!%$%k$N:o=|$O;2>H%+%&%s%H(B 0 $B$N%U%!%$%k$KBP$7$F$N$_2DG=$G$"$k!#(B $B:o=|$7$?%U%!%$%k$K8GDj%j%s%/$,4^$^$l$F$$$?>l9g$O!"(B $B$=$N8GDj%j%s%/$,;2>H$7$F$$$k%U%!%$%k$N;2>H%+%&%s%H$,(B -1 $B$5$l$k$,!"(B $B$=$N7k2L(B 0 $B$H$J$C$?>l9g$G$b!"(B $B$=$N%U%!%$%k$O:o=|$5$l$J$$!#(B $B$J$*!"8GDj%j%s%/$,4^$^$l$F$$$k%U%!%$%k$N:o=|$O!"(B $B:o=|;~$K6/@):o=|$N;XDj$r9T$J$C$?;~$N$_2DG=$H$J$k!#(B

$B%j%s%/%U%!%$%k$N:o=|$bF1MM$G$"$j!"(B $B%j%s%/%U%!%$%k<+BN$N;2>H%+%&%s%H$,(B 0 $B$N>l9g$K:o=|2DG=$H$J$k!#(B $B$J$*!"%j%s%/%U%!%$%k$N;2>H@h$N%U%!%$%k$O!"%j%s%/%U%!%$%k7PM3$G:o=|$9$k$3$H$O$G$-$J$$!#(B

$B%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$ONc30E*$K;2>H%+%&%s%H$,:G=i$+$i(B 1 $B$H$J$C$F$*$j!"(B $B7h$7$F:o=|$9$k$3$H$,$G$-$J$$$h$&$K$J$C$F$$$k!#(B

$B;2>H%+%&%s%H(B 0 $B$N%U%!%$%k$O!"(B $B$=$N%U%!%$%k$r;2>H$9$k8GDj%j%s%/$r;}$?$J$$$?$a!"(B $BF0E*$J%j%s%/$,<:$o$l$F$7$^$&$H!"DL>o$NJ}K!$G$O%"%/%;%9$G$-$J$$$3$H$K$J$k$,!"(B $B%U%!%$%k%7%9%F%`Fb$NA4$F$N%U%!%$%k$KBP$9$k%j%s%/$r

$B%U%!%$%k$N%"%/%;%9(B

$B%U%!%$%k$O!"FI9~$_(B(READ) / $B=q9~$_(B(WRITE) / $B99?7(B(UPDATE) $B$N$$$:$l$+$r;XDj$7$F%*!<%W%s$9$k$,!"(B $B%*!<%W%s;~$KB>$+$i$NF10l%U%!%$%k$NF1;~%*!<%W%s$r@)8B$9$k$?$a$N0J2<$N%b!<%I;XDj$,2DG=$G$"$k!#(B $B%G%U%)!<%k%H$O6&M-%b!<%I$H$J$k$,!"DL>o$OGSB>=q9~%b!<%I$H$9$k$3$H$,0BA4$G$"$k!#(B

$BGSB>%b!<%I(B :
$BB>$+$i$N$$$+$J$kF1;~%*!<%W%s$r0l@Z6X;_$9$k%b!<%I!#(B
$BGSB>=q9~%b!<%I(B :
$BB>$+$i$N=q9~$_(B / $B99?7$NF1;~%*!<%W%s$r0l@Z6X;_$9$k%b!<%I!#(B
$B6&M-%b!<%I(B :
$BB>$+$i$N$$$+$J$kF1;~%*!<%W%s$b6X;_$7$J$$%b!<%I!#(B

$B0J2<$K4{$K%*!<%W%s$5$l$F$$$k%b!<%I$KBP$7$F?75,$KF1;~%*!<%W%s$G$-$k%b!<%I$NAH$_9g$o$;$r<($9!#(B $B?75,$NF1;~%*!<%W%s$,IT2D$N>l9g$O%*!<%W%s;~$K%(%i!<$H$J$k!#(B

$B%U%!%$%k$N%*!<%W%s%b!<%I(B
$B?^(B 12 : $B%U%!%$%k$N%*!<%W%s%b!<%I(B

$B$^$?!"(B $B%*!<%W%s$7$?%U%!%$%k$N%l%3!<%IC10L$GB>$+$i$N%"%/%;%9$r6X;_$9$k$?$a$N%l%3!<%I%m%C%/5!G=$,MQ0U$5$l$F$$$k!#(B

$B%m%C%/$7$?%l%3!<%I$KBP$9$kB>$+$i$N%"%/%;%9$O0J2<$N$h$&$K$J$k!#(B

  • $B%l%3!<%I$NFI9~$_!"=q9~$_!"CV49!"%5%$%:=L>.!"$*$h$S:o=|$O%(%i!<$H$J$k!#(B
  • $B%5!<%A$NBP>]!"8=:_%l%3!<%I$H$9$k$3$H$O2DG=!#(B

$B4{$K%m%C%/$5$l$F$$$k%l%3!<%I$r%m%C%/$7$h$&$H$7$?>l9g$O%(%i!<$H$J$k$+!"(B $B$^$?$O%m%C%/$,2r$+$l$k$^$GBT$?$5$l$k$3$H$K$J$k!#(B

1.6.6 $B%U%!%$%k$N>\:Y>pJs(B

$B%U%!%$%k%7%9%F%`$N4IM}>pJs(B

$B8D!9$N%U%!%$%k%7%9%F%`$KBP$7$F!"0J2<$NFbMF$N4IM}>pJs$rFI$_=P$9$3$H$,$G$-$k!#(B

    typedef struct {
        H       fs_bsize;           /* $BO@M}%V%m%C%/$N%P%$%H?t(B */
        UH      fs_nfile;           /* $B:GBg%U%!%$%k?t(B */
        H       fs_lang;            /* $B%U%!%$%k%7%9%F%`$G$N;HMQ8@8l(B */
        H       fs_level;           /* $B%U%!%$%k%7%9%F%`$N%"%/%;%94IM}%l%Y%k(B */
        W       fs_nblk;            /* $BA4BN$N%V%m%C%/?t(B */
        W       fs_nfree;           /* $BL$;HMQ%V%m%C%/$NAm?t(B */
        STIME   fs_mtime;           /* $B:G?7$N%7%9%F%`%V%m%C%/$N99?7F|;~(B */
        STIME   fs_ctime;           /* $B%U%!%$%k%7%9%F%`$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%G%P%$%9=j:_L>(B */
    } FS_STATE;
  • fs_bsize $B$O(B 1 $BO@M}%V%m%C%/$N%P%$%H?t$G$"$j!"(B 2 $B$N$Y$->h$NCM$H$9$k!#(B

  • fs_nfile$B$O$=$N%U%!%$%k%7%9%F%`$KEPO?2DG=$J:GBg$N%U%!%$%k?t$r<($9!#(B $B$3$NCM$O!":GBg$N%U%!%$%k(BID + 1$B$KEy$7$$!#(B

  • fs_lang$B$O%U%!%$%k%7%9%F%`$G$N;HMQ8@8l$r<($7!"(B $B$3$N%U%!%$%k%7%9%F%`$G;HMQ$7$F$$$kJ8;z%3!<%IBN7O$rI=$o$7$F$$$k!#(B

  • fs_level$B$O!"(B $B%U%!%$%k%7%9%F%`$N%"%/%;%94IM}$N%l%Y%k$rI=$o$9$b$N$G!"0J2<$NCM$r$H$k!#(B

    0:
    $B%l%Y%k(B0 -- $B%"%/%;%94IM}$J$7(B
    1:
    $B%l%Y%k(B1 -- $B%"%/%;%94IM}$"$j(B($B1#$7L>$J$7(B)
    2:
    $B%l%Y%k(B2 -- $B%"%/%;%94IM}$"$j(B($B1#$7L>$"$j(B)
  • fs_nblk $B$O%U%!%$%k%7%9%F%`A4BN$NO@M}%V%m%C%/$NAm?t$G$"$j!"(B $B$3$NCM$OO@M}%V%m%C%/HV9f$N:GBgCM(B + 1 $B$KEy$7$$!#(B

  • fs_nfree$B$O!"(B $B8=;~E@$NL$;HMQO@M}%V%m%C%/$NAm?t$G$"$j!"(B $B$3$N%G!<%?$OF0E*$KJQF0$9$k!#(B

  • fs_mtime, fs_ctime $B$O$=$l$>$l%U%!%$%k%7%9%F%`$N:G?799?7F|;~$H@8@.$5$l$?F|;~$G!"(B $B4p=`F|(B(1985$BG/(B1$B7n(B1$BF|(B00:00:00 GMT) $B$+$i$NIC?t$GI=$o$9!#(B

  • fs_name, fs_locat$B$O!"(B $B$=$l$>$l%U%!%$%k%7%9%F%`$N@8@.;~$K@_Dj$5$l$kL>>N$G$"$j(B 20 $BJ8;z$KK~$?$J$$>l9g$O(B 0 $B$,5M$a$i$l$F$$$k!#(B

$B%U%!%$%k%7%9%F%`$N4IM}>pJs$O%U%!%$%k%7%9%F%`$N@8@.;~(B ( $B%U%)!<%^%C%H;~(B ) $B$K@_Dj$5$l!"(B $B0J8e$OL$;HMQ%V%m%C%/$NAm?t(B (fs_nfree) $B$H!"(B $B:G?7$N%7%9%F%`%V%m%C%/$N99?7F|;~(B ( fs_mtime)$B!"(B $B%U%!%$%k%7%9%F%`L>!"$*$h$S%G%P%$%9=j:_L>$r=|$$$FJQ99$5$l$k$3$H$O$J$$!#(B

$B%U%!%$%k$N4IM}>pJs(B

$B8D!9$N%U%!%$%k$KBP$7$F0J2<$NFbMF$N4IM}>pJs$rFI$_=P$9$3$H$,$G$-$k!#(B $BC"$7!"%j%s%/%U%!%$%k$N>l9g$O%j%s%/%U%!%$%k$,;2>H$9$k%U%!%$%k$N4IM}>pJs$H$J$j!"(B $B%j%s%/%U%!%$%k<+BN$N4IM}>pJs$OFI$_=P$9$3$H$O$G$-$J$$!#(B

$B%U%!%$%kL>(B :
20$BJ8;z$N%U%!%$%kL>$G$"$jJQ992DG=$G$"$k!#(B
$B;2>H%+%&%s%H(B :
$B%U%!%$%k$r;2>H$7$F$$$kF10l%U%!%$%k%7%9%F%`Fb$N8GDj%j%s%/$N?t$G$"$k!#(B
$B%U%!%$%k4IM}>pJs(B :
$B0J2<$K<($93FpJs$G$"$k!#(B
    typedef struct {
        UH      f_type;           /* $B%U%!%$%k%?%$%W!?=jM-(B ($B1#$7L>$O>o$K(B0) */
        TC      f_group[L_USRNM]; /* $B=jM-%0%k!<%WL>(B   ($B1#$7L>$O>o$K(B0) */
        UH      f_grpacc;         /* $B%0%k!<%W%"%/%;%9%l%Y%k(B */
        UH      f_pubacc;         /* $B0lHL%"%/%;%9%l%Y%k(B */
        H       f_nlink;          /* $B4^$^$l$F$$$k%j%s%/?t(B */
        H       f_index;          /* $B%$%s%G%C%/%9%l%Y%k(B */
        W       f_size;           /* $B%U%!%$%k$NAm%P%$%H?t(B */
        W       f_nblk;           /* $BAm;HMQO@M}%V%m%C%/?t(B */
        W       f_nrec;           /* $BAm%l%3!<%I?t(B */
        STIME   f_ltime;          /* $B%U%!%$%k$NJ]B84|8B(B($BF|;~(B) */
        STIME   f_atime;          /* $B:G?7$N%"%/%;%9F|;~(B */
        STIME   f_mtime;          /* $B:G?7$N99?7F|;~(B */
        STIME   f_ctime;          /* $B%U%!%$%k$N:[email protected]|;~(B */
    } F_STATE;
  • f_type $B$O%U%!%$%k$N%?%$%W!"%"%/%;%9B0@-!"(B $B=jM-

         TTTT xxxx BAPO xRWE
    
    T : $B%U%!%$%k%?%$%W(B
    0 : $B%j%s%/%U%!%$%k(B
    1 : $BDL>o%U%!%$%k(B
    2$B!A(B : $BM=Ls(B
    P : $B:o=|IT2DB0@-(B
    1$B$N>l9g!"$3$N%U%!%$%k$,:o=|6X;_$G$"$k$3$H$r<($9!#(B
    0 : $B=q9~IT2DB0@-(B
    1$B$N>l9g!"$3$N%U%!%$%k$,=q9~$_6X;_$G$"$k$3$H$r<($9!#(B
    A : $B%"%W%j%1!<%7%g%sB0@-(B1
    B : $B%"%W%j%1!<%7%g%sB0@-(B2
    $B%"%W%j%1!<%7%g%s$G5,Dj$7$F;HMQ$9$kB0@-$G$"$j!"(B $B%U%!%$%k4IM}$G$O!"$=$N0UL#$O4XCN$7$J$$!#(B
    RWE :
    $B%U%!%$%k=jM-$l!"(B1$B$N;~2D(B)
    x :
    $BM=Ls(B (0$B$H$9$k(B)
  • $B%"%W%j%1!<%7%g%s%?%$%W(B ( f_atype) $B$O%"%W%j%1!<%7%g%s$,@_Dj(B / $B;HMQ$9$k%G!<%?$G$"$j!"(B $B%U%!%$%k4IM}$G$O;HMQ$7$J$$!#(B

  • } $B=jM-(B (f_owner)$B!"(B $B=jM-%0%k!<%WL>(B (f_group) $B$O$=$l$>$l(B 12 $BJ8;z$G$"$j!"(B 12 $BJ8;z0J2<$N>l9g$O(B 0 $B$GKd$a$i$l$k!#(B $BB3$/(B2 $BJ8;z$N1#$7L>$O>o$K(B 0 $B$H$7$FF@$i$l$k!#(B

  • $B%0%k!<%W%"%/%;%9%l%Y%k(B(f_grpacc)$B!"0lHL%"%/%;%9%l%Y%k(B(f_pubacc) $B$O0J2<$N9=@.$H$J$k!#(B

        xxxx RRRR WWWW EEEE
    
    RRRR :
    $BFI9~$_2DG=$J:GDc$N%f!<%6%l%Y%k(B (0$B!A(B15)
    WWWW :
    $B=q9~$_2DG=$J:GDc$N%f!<%6%l%Y%k(B (0$B!A(B15)
    EEEE :
    $Bxxxx :
    $BL$;HMQ(B (0)
  • $B4^$s$G$$$k%j%s%/?t$O(B ( f_nlink ) $B$O$=$N%U%!%$%k$,4^$s$G$$$k%j%s%/%l%3!<%I$N?t$r<($9!#(B

  • $B%$%s%G%C%/%9%l%Y%k$O(B 0 $B!A(B $B$N%l%3!<%I%$%s%G%C%/%9$N4V@\$NB?=EEY$r<($9!#(B

  • $B%U%!%$%k$NAm%P%$%H?t(B ( f_size ) $B$O%U%!%$%kFb$Kl9g!"(B $B%j%s%/%l%3!<%I$N%l%3!<%I%5%$%:$O(B 0 $B$H$7$F%+%&%s%H$5$l$k!#(B

  • $BAm;HMQO@M}%V%m%C%/?t$O!"(B $B$=$N%U%!%$%k$G;HMQ$7$F$$$kO@M}%V%m%C%/$NAm?t$r<($9!#(B

  • $BAm%l%3!<%I?t$O!"$=$N%U%!%$%kFb$KB8:_$9$k%l%3!<%I$NAm?t$r<($9!#(B

  • $BF|;~$K4X$7$F$O!"(B1985$BG/(B1$B7n(B1$BF|(B0$B!'(B00 GMT$B$+$i$NIC?t$,@_Dj$5$l$k!#(B $B$3$NCM$,(B -1 $B$N>l9g$K$O$=$N%G!<%?$OL58z$G$"$k$3$H$r<($9!#(B

    $B:G?7$N%"%/%;%9F|;~(B ( f_atime)
    $B%U%!%$%k$N%G!<%?$r:G8e$K%j!<%I$7$?!"(B $B$^$?$O%$%s%G%C%/%9It$r:G8e$K99?7$7$?F|;~!#(B $B%U%!%$%k$N@8@.;~$K$O(B -1 ($B%5%]!<%H$5$l$F$$$J$$>l9g(B)$B!"(B $B$"$k$$$O%U%!%$%k$N@[email protected]|;~$,@_Dj$5$l$k!#(B
    $B:G?7$N99?7F|;~(B ( f_mtime )
    $B%U%!%$%k$N%G!<%?$r:G8e$K99?7$7$?F|;~!#(B $B%U%!%$%k$N@8@.;~$K$O@[email protected]|;~$,@_Dj$5$l$k!#(B
    $B%U%!%$%k$N:[email protected]|;~(B ( f_ctime )
    $B%U%!%$%k$r:G=i$K@8@.$7$?F|;~!#(B
    $BJ]B84|8B(B ( f_ltime )
    $B%U%!%$%k$NJ]B84|8B!#%U%!%$%k$N@8@.;~$K$O(B -1 $B$,@_Dj$5$l$k!#(B $B$3$N%G!<%?$O%"%W%j%1!<%7%g%s$G@_Dj(B / $B;HMQ$9$k$b$N$G!"(B $B%U%!%$%k4IM}$G$O;HMQ$7$J$$!#(B
$B%U%!%$%k$N=j:_>pJs(B :
$B3F%U%!%$%k$,B0$9$k%U%!%$%k%7%9%F%`$N>pJs$G$"$j!"(B $B$3$NFbMF$O%U%!%$%k%7%9%F%`$N4IM}>pJs$N0lIt$G$"$k!#(B
    typedef struct {
        STIME   fs_ctime;           /* $B%U%!%$%k%7%9%F%`$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%G%P%$%9=j:_L>(B */
        TC      fs_dev[L_DEVNM];    /* $BO@M}%G%P%$%9L>(B */
    } F_LOCATE;
  • $BO@M}%G%P%$%9L>$O!"(B $B$=$N;~E@$G%U%!%$%k%7%9%F%`$,B8:_$7$F$$$k%V%m%C%/7?%G%P%$%9$NL>>N$G$"$k!#(B
$B%j%s%/%U%!%$%k>pJs(B :
$B%j%s%/%U%!%$%k$KBP$7$F$O%j%s%/%U%!%$%k<+BN$KJ];}$5$l$F$$$k0J2<$N;2>H@h$N%U%!%$%k$N>pJs$,F@$i$l$k!#(B $B$3$N>pJs$O;2>H@h$N%U%!%$%k%7%9%F%`$,@\B3$5$l$F$$$J$$>l9g$G$b
    typedef struct {
        STIME   f_ctime;            /* $B%j%s%/%U%!%$%k<+BN$N@[email protected]|;~(B */
        UH      f_atype;            /* $B;2>H%U%!%$%k$N%"%W%j%?%$%W(B */
        TC      f_name[L_FNM];      /* $B;2>H%U%!%$%kL>(B */
        UH      f_id;               /* $B;2>H%U%!%$%k(BID */
        STIME   rf_ctime;           /* $B;2>H%U%!%$%k$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%U%!%$%k%7%9%F%`$N%G%P%$%9=j:_L>(B */
    } F_LINK;

$B%j%s%/$N9=B$(B

$B%U%!%$%k$r%"%/%;%9$9$k$?$a$K;HMQ$5$l$k!"%j%s%/$O0J2<$N%G!<%?9=B$$H$J$k!#(B

    typedef struct {
        TC  fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        UH  f_id;               /* $B%U%!%$%k(B ID */
        UH  atr1;               /* $BB0@-%G!<%?(B1 */
        UH  atr2;               /* $BB0@-%G!<%?(B2 */
        UH  atr3;               /* $BB0@-%G!<%?(B3 */
        UH  atr4;               /* $BB0@-%G!<%?(B4 */
        UH  atr5;               /* $BB0@-%G!<%?(B5 */
    } LINK;
  • $B%U%!%$%k%7%9%F%`L>$O@\B3$5$l$?%U%!%$%k%7%9%F%`L>$=$N$b$N$G$"$j!"(B $B%U%!%$%k%7%9%F%`$r@dBPE*$K<1JL$9$k$?$a$K;HMQ$5$l$k!#(B $B8GDj%j%s%/$H$7$?>l9g$O!"$3$N>pJs$O%U%!%$%k$K3JG<$5$l$J$$!#(B
  • $B%U%!%$%k(BID$B$O%U%!%$%k%7%9%F%`L>$K$h$j(B $BFCDj$5$l$?%U%!%$%k%7%9%F%`Fb$N%U%!%$%k(BID$B$G$"$k!#(B
  • $BB0@-%G!<%?(B 1$B!A(B5 $B$O%j%s%/<+BN$H$7$FJ];}$5$l$kB0@-%G!<%?$G$"$j!"(B $B%U%!%$%k4IM}$H$7$F$O$=$NFbMF$K4pK\E*$K4XCN$;$:!"(B $B>e0L%l%Y%k$G$=$NMQES$,7h$a$i$l$F$$$k$b(B $B$N$G$"$k!#?75,$K%j%s%/$r@8@.$7$?>l9g$N%G%U%)!<%k%HCM$O$9$Y$F(B0$B$H$5$l$k!#(B $B$3$N%G!<%?$O!"8GDj%j%s%/$H$7$?>l9g$K!"%U%!%$%k$K3JG<$5$l!"(B $B8GDj%j%s%/$rFI$_=P$7$?>l9g$K!"(B $B%U%!%$%k$K3JG<$5$l$F$$$kFbMF$,

    $B%U%!%$%k4IM}$G$O%U%!%$%k%7%9%F%`L>$H%U%!%$%k(BID$B$N$_$r;HMQ$7$F

    $BDL>o!"%j%s%/$O%U%!%$%k4IM}5!G=$+$iF@$i$l$?$b$N$r;HMQ$9$k$,!"(B $B%"%W%j%1!<%7%g%s$,%U%!%$%k%7%9%F%`L>$H%U%!%$%k(BID$B$rD>@\@_Dj$7$F%j%s%/$r:n@.$9$k$3$H$b2DG=$G$"$k!#(B

    $BNc$($P%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$X$N%j%s%/$O!"%U%!%$%k(B ID = 0 $B$G$"$k$?$a!"(B $B%U%!%$%k%7%9%F%`L>$,H=$C$F$$$l$P%"%W%j%1!<%7%g%s$GD>@\%j%s%/$r:n@.$9$k$3$H$,2DG=$H$J$k!#(B

    1.6.7 $B%G!<%?!?Dj?t$NDj5A(B

    $B""(B $B3F
      A0$ND9$5(B($BJ8;z?t(B)

    #define L_FSNM      20      /* $B%U%!%$%k%7%9%F%`L>(B */
    #define L_DLNM      20      /* $B%G%P%$%9=j:_L>(B */
    #define L_DEVNM     8       /* $BO@M}%G%P%$%9L>(B */
    #define L_CONNM     8       /* $B@\B3L>(B */
    #define L_USRNM     (12+2)  /* $B%f!<%6(B($B%0%k!<%W(B)$BL>(B + $B1#$7L>(B */
    #define L_FNM       20      /* $B%U%!%$%kL>(B */
    #define L_PATHNM    256     /* $B%Q%9L>(B */
    

    $B""(B $B3F
    #define N_GRP       4       /* $B=jB0%0%k!<%W?t(B */
    

    $B""(B $B%Q%9L>$NFC
    #define TC_FDLM     0xff21      /* '$B!?(B'  $B%Q%9L>$N6h@Z$j(B */
    #define TC_FSEP     0xff22      /* '$B!'(B'  $B=P8==g$N6h@Z$j(B */
    #define TC_FOWN     0xff23      /* '$B"a(B'  $B<+J,<+?H(B($B:n6H%U%!%$%k(B) */
    

    $B""(B get_lnk()

    #define F_NORM      0x0000      /* $BDL>o;XDj(B */
    #define F_BASED     0x0001      /* $B%Y!<%9;XDj(B */
    #define F_DIRECT    0x0002      /* $BD>@\
    
    

    $B""(B opn_fil()

    #define F_READ      0x0004      /* $BFI$_9~$_@lMQ%*!<%W%s(B */
    #define F_WRITE     0x0002      /* $B=q$-9~$_@lMQ%*!<%W%s(B */
    #define F_UPDATE    0x0006      /* $B99?7MQ(B($BFI9~!?=q9~(B)$B%*!<%W%s(B */
    
    #define F_EXCL      0x0100      /* $BGSB>%b!<%I(B */
    #define F_WEXCL     0x0200      /* $BGSB>=q$-9~$_%b!<%I(B */
    

    $B""(B cre_fil()$B!?(Bcre_lnk()

    #define F_FLOAT     0x0000      /* $B8GDj%j%s%/$H$7$J$$(B */
    #define F_FIX       0x0001      /* $B8GDj%j%s%/$H$9$k(B */
    #define F_FILEID    0x0002      /* $B%U%!%$%k(B ID $B;XDj(B */
    

    $B""(B fnd_rec()$B!?(Bfnd_lnk()

    #define F_FWD       0x0000      /* $BA08~$-%5!<%A(B */
    #define F_NFWD      0x0001      /* $BA08~$-%5!<%A(B($B
    
    
    #define F_SFILE     0x4000      /* $BF10l%U%!%$%k(B    */
    #define F_SNAME     0x2000      /* $BF10l%U%!%$%kL>(B  */
    #define F_SATR1     0x1000      /* $BF10lB0@-%G!<%?(B1 */
    #define F_SATR2     0x0800      /* $BF10lB0@-%G!<%?(B2 */
    #define F_SATR3     0x0400      /* $BF10lB0@-%G!<%?(B3 */
    #define F_SATR4     0x0200      /* $BF10lB0@-%G!<%?(B4 */
    #define F_SATR5     0x0100      /* $BF10lB0@-%G!<%?(B5 */
    

    $B""(B loc_rec()

    #define F_UNLOCK    0x0000      /* $B%"%s%m%C%/(B */
    #define F_LOCK      0x0001      /* $B%m%C%/(B */
    #define F_TSLOCK    0x0002      /* $B%F%9%H(B & $B%m%C%/(B */
    #define F_CKLOCK    0x0003      /* $B%m%C%/>uBV$N%A%'%C%/(B */
    

    $B""(B map_rec()

    #define F_READ      0x0004      /* R $B%"%/%;%9(B */
    #define F_WRITE     0x0002      /* W $B%"%/%;%9(B */
    #define F_EXCUTE    0x0001      /* E $B%"%/%;%9(B */
    #define F_COMMON    0x0100      /* $B6&M-%a%b%j!<6u4V$K%^%C%W(B */
    #define F_SYSTEM    0x0300      /* $B%7%9%F%`%a%b%j!<6u4V$K%^%C%W(B */
    

    $B""(B chk_fil()

    #define F_READ      0x0004      /* R $B%"%/%;%9%A%'%C%/(B */
    #define F_WRITE     0x0002      /* W $B%"%/%;%9%A%'%C%/(B */
    #define F_EXCUTE    0x0001      /* E $B%"%/%;%9%A%'%C%/(B */
    #define F_EXIST     0x0000      /* $B%U%!%$%k$NB8:_%A%'%C%/(B */
    
    #define F_PASWD     0x0008      /* $B%Q%9%o!<%I$NM-L5(B */
    

    $B""(B chg_fat()

    #define F_SETRONLY  0x0001      /* $B=q9~IT2DB0@-$N%;%C%H(B  */
    #define F_RSTRONLY  0x0002      /* $B=q9~IT2DB0@-$N%j%;%C%H(B*/
    #define F_SETPERM   0x0003      /* $B:o=|IT2DB0@-$N%;%C%H(B  */
    #define F_RSTPERM   0x0004      /* $B:o=|IT2DB0@-$N%j%;%C%H(B*/
    #define F_SETA1     0x0005      /* $B%"%W%jB0@-(B1$B$N%;%C%H(B   */
    #define F_RSTA1     0x0006      /* $B%"%W%jB0@-(B1$B$N%j%;%C%H(B */
    #define F_SETA2     0x0007      /* $B%"%W%jB0@-(B2$B$N%;%C%H(B   */
    #define F_RSTA2     0x0008      /* $B%"%W%jB0@-(B2$B$N%j%;%C%H(B */
    

    $B""(B att_fls()

    #define FS_SYNC     0x0000      /* $BF14|;XDj(B */
    #define FS_ASYN     0x0002      /* $BHsF14|;XDj(B */
    #define FS_RONLY    0x0001      /* $B=q$-9~$_6X;_(B */
    

    $B""(B lst_fls()

    #define F_GETDEV    (-1)        /* $BBP1~$9$k%G%P%$%9L>$rF@$k(B */
    #define F_GETNAM    (-2)        /* $BBP1~$9$k@\B3L>$rF@$k(B */
    

    $B""(B syn_lnk()

    #define F_SYNC      0       /* $B0lCW$7$F$$$k(B */
    #define F_DNAME     1       /* $B%U%!%$%kL>$,0[$J$C$F$$$?(B */
    #define F_DDATE     2       /* $B@[email protected]|;~$,0[$J$C$F$$$?(B */
    #define F_DBOTH     3       /* $B%U%!%$%kL>$H@[email protected]|;~$,0[$J$k(B */
    

    $B""(B $B%j%s%/(B

    typedef struct {
        TC  fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        UH  f_id;               /* $B%U%!%$%k(B ID */
        UH  atr1;               /* $BB0@-%G!<%?(B1 */
        UH  atr2;               /* $BB0@-%G!<%?(B2 */
        UH  atr3;               /* $BB0@-%G!<%?(B3 */
        UH  atr4;               /* $BB0@-%G!<%?(B4 */
        UH  atr5;               /* $BB0@-%G!<%?(B5 */
    } LINK;
    

    $B""(B $B%U%!%$%k%"%/%;%9%b!<%I(B

    typedef struct {
        UH  f_ownacc;       /* $B=jM-
    
    

    $B""(B $B%G%U%)%k%H%U%!%$%k%"%/%;%9%b!<%I(B

    typedef struct {
        UH  f_ownacc;       /* $B=jM-
    
    

    $B""(B $B%U%!%$%kF|;~(B

    typedef struct {
        STIME   f_ltime;        /* $B%U%!%$%k$NJ]B84|8B(B($BF|;~(B) */
        STIME   f_atime;        /* $B:G?7$N%"%/%;%9F|;~(B */
        STIME   f_mtime;        /* $B:G?7$N99?7F|;~(B */
    } F_TIME;
    

    $B""(B $B%U%!%$%k4IM}>pJs(B

    typedef struct {
        UH      f_type;             /* $B%U%!%$%k%?%$%W!?=jM-(B ($B1#$7L>$O>o$K(B0) */
        TC      f_group[L_USRNM];   /* $B=jM-%0%k!<%WL>(B   ($B1#$7L>$O>o$K(B0) */
        UH      f_grpacc;           /* $B%0%k!<%W%"%/%;%9%l%Y%k(B */
        UH      f_pubacc;           /* $B0lHL%"%/%;%9%l%Y%k(B */
        H       f_nlink;            /* $B4^$^$l$F$$$k%j%s%/?t(B */
        H       f_index;            /* $B%$%s%G%C%/%9%l%Y%k(B */
        W       f_size;             /* $B%U%!%$%k$NAm%P%$%H?t(B */
        W       f_nblk;             /* $BAm;HMQO@M}%V%m%C%/?t(B */
        W       f_nrec;             /* $BAm%l%3!<%I?t(B */
        STIME   f_ltime;            /* $B%U%!%$%k$NJ]B84|8B(B($BF|;~(B) */
        STIME   f_atime;            /* $B:G?7$N%"%/%;%9F|;~(B */
        STIME   f_mtime;            /* $B:G?7$N99?7F|;~(B */
        STIME   f_ctime;            /* $B%U%!%$%k$N:[email protected]|;~(B */
    } F_STATE;
    

    $B""(B $B%U%!%$%k%?%$%W(B(f_type)

    #define F_FILE      0x1000      /* $BDL>o%U%!%$%k(B */
    
    #define F_APLATR1   0x0040      /* $B%"%W%j%1!<%7%g%sB0@-(B1 */
    #define F_APLATR2   0x0080      /* $B%"%W%j%1!<%7%g%sB0@-(B2 */
    #define F_RONLY     0x0010      /* $B=q9~IT2DB0@-(B */
    #define F_PERM      0x0020      /* $B:o=|IT2DB0@-(B */
    
    #define F_OWNACC    0x0007      /* $B=jM-
    
    
    #define F_NOCHG     0x8000      /* $BJQ99$7$J$$(B */
    

    $B""(B $B%U%!%$%k=j:_>pJs(B

    typedef struct {
        STIME   fs_ctime;           /* $B%U%!%$%k%7%9%F%`$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%G%P%$%9=j:_L>(B */
        TC      fs_dev[L_DEVNM];    /* $BO@M}%G%P%$%9L>(B */
    } F_LOCATE;
    

    $B""(B $B%j%s%/>pJs(B

    typedef struct {
        STIME   f_ctime;            /* $B%j%s%/%U%!%$%k<+BN$N@[email protected]|;~(B */
        UH      f_atype;            /* $B;2>H%U%!%$%k$N%"%W%j%?%$%W(B */
        TC      f_name[L_FNM];      /* $B;2>H%U%!%$%kL>(B */
        UH      f_id;               /* $B;2>H%U%!%$%k(BID */
        STIME   rf_ctime;           /* $B;2>H%U%!%$%k$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%U%!%$%k%7%9%F%`$N%G%P%$%9=j:_L>(B */
    } F_LINK;
    

    $B""(B $B%U%!%$%k%7%9%F%`4IM}>pJs(B

    typedef struct {
        H       fs_bsize;           /* $BO@M}%V%m%C%/$N%P%$%H?t(B */
        UH      fs_nfile;           /* $B:GBg%U%!%$%k?t(B */
        H       fs_lang;            /* $B%U%!%$%k%7%9%F%`$G$N;HMQ8@8l(B */
        H       fs_level;           /* $B%U%!%$%k%7%9%F%`$N%"%/%;%94IM}%l%Y%k(B */
        W       fs_nblk;            /* $BA4BN$N%V%m%C%/?t(B */
        W       fs_nfree;           /* $BL$;HMQ%V%m%C%/$NAm?t(B */
        STIME   fs_mtime;           /* $B:G?7$N%7%9%F%`%V%m%C%/$N99?7F|;~(B */
        STIME   fs_ctime;           /* $B%U%!%$%k%7%9%F%`$N@[email protected]|;~(B */
        TC      fs_name[L_FSNM];    /* $B%U%!%$%k%7%9%F%`L>(B */
        TC      fs_locat[L_DLNM];   /* $B%G%P%$%9=j:_L>(B */
    } FS_STATE;
    

    $B""(B $B;HMQ8@8l(B

    #define F_JPN       0x0021      /* $BF|K\8l(B ($BF|K\8lJ8;zB2(B) */
    #define F_ENG       0x0080      /* $B1Q8l(B ($B%i%F%sJ8;zB2(B1) */
    

    $B""(B $B%U%!%$%k%7%9%F%`@\B3>pJs(B

    typedef struct {
        TC  a_name[L_CONNM];    /* $B@\B3L>(B */
        TC  dev[L_DEVNM];       /* $BO@M}%G%P%$%9L>(B */
    } F_ATTACH;
    

    1.6.8 $B%7%9%F%`%3!<%k(B

    $B4X?t$N%Q%i%a!<%?$N@bL@$G$O!"0J2<$K<($95-=RJ}K!$r;HMQ$7$F$$$k!#(B

        ( x $B!B(B y $B!B(B z ) -- x, y, z $B$N$$$:$l$+(B1$B$D$r0UL#$9$k!#(B
        |               -- OR $B$G;XDj2DG=$J$3$H$r0UL#$9$k!#(B
        [ ]             -- $B>JN,2DG=$J$3$H$r0UL#$9$k!#(B
    
        $BNc(B: mode  := (F_NORM $B!B(B F_BASED) | [F_DIRECT]  $B$N>l9g!"(B
            mode $B$N;XDj$O!"0J2<$N(B 4 $B
    
    
    get_lnk
     
    $B%U%!%$%k$N%j%s%/3MF@(B

    $B!Z7A<0![(B

    WERR    get_lnk(TC *path, LINK *lnk, W mode)
    

    $B!Z%Q%i%a!<%?![(B

    TC      *path   $BBP>]%Q%9L>(B
            NULL    $B:n6H%U%!%$%k$rBP>](B
    
    LINK    *lnk    $B3MF@$7$?%j%s%/$N3JGo;XDj(B
            F_BASED     $B:n6H%U%!%$%k;XDj(B
            F_DIRECT    $BD>@\%j%s%/3MF@;XDj(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B($BDL>o%U%!%$%k$N%j%s%/(B)
    $B!a(B1    $B@5>o(B($B%j%s%/%U%!%$%k$N%j%s%/!'(BF_DIRECT $B;XDj$J$7(B)
    $B!a(B2    $B@5>o(B($B%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k$N%j%s%/!'(BF_DIRECT $B;XDj;~(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%Q%9L>$G;XDj$7$?%U%!%$%k$N%j%s%/$r3MF@$9$k!#(B $B%Q%9L>$N;XDj$,(B NULL $B$N;~$O8=:_$N:n6H%U%!%$%k$N%j%s%/$r3MF@$9$k!#(B

    $B%Q%9L>$,AjBP%Q%9L>$N$H$-!"(BF_NORM $B;XDj$N$H$-$O8=:_$N:n6H%U%!%$%k$r%Y!<%9$H$9$k$,!"(B F_BASED $B;XDj$N$H$-$O(B lnk $B$G;XDj$7$?%U%!%$%k$r:n6H%U%!%$%k$H$_$J$7$F%Y!<%9$H$9$k!#(B

    $B;XDj$7$?%U%!%$%k$,%j%s%/%U%!%$%k$N$H$-!"(B F_DIRECT $B;XDj$J$7$N$H$-$O%j%s%/%U%!%$%k<+BN$X$N%j%s%/$r3MF@$9$k!#(B $B$3$N$H$-!"F@$i$l$?%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k$NB8:_$OJ]>Z$5$l$J$$!#(B

    F_DIRECT $B;XDj$N$H$-$O%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k$X$ND>@\$N%j%s%/$r3MF@$9$k!#(B

    $B%U%!%$%k$N%j%s%/$r$K4^$^$l$k3F%U%!%$%k$KBP$7$F$N]%U%!%$%k<+BN$N

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%Q%9L>(B(path)$BFb$N7PO)%U%!%$%k$N%"%/%;%98"(B(E)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(path,lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FNAME    : $B%Q%9L>(B(path)$B$,6u!"IT@5!"$^$?$OD9$9$.$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOFS     : $B%Q%9L>(B(path)$BFb$N%U%!%$%k!"%j%s%/%U%!%$%k$N;2>H%U%!%$%k(B
                  (F_DIRECT$B;XDj;~(B)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOEXS    : $B%Q%9L>(B(path)$BFb$N%U%!%$%k!"%j%s%/%U%!%$%k$N;2>H%U%!%$%k(B
                  (F_DIRECT$B;XDj;~(B)$B$OB8:_$7$F$$$J$$!"$^$?$O:n6H%U%!%$%k$,L$Dj5A!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode $B$,IT@5(B)$B!#(B
    
    chg_wrk
     
    $B:n6H%U%!%$%kJQ99(B

    $B!Z7A<0![(B

    ERR chg_wrk(LINK *lnk)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BJQ99$9$k:n6H%U%!%$%k(B
            NULL    $B:n6H%U%!%$%k$rL$Dj5A$H$9$k(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$r<+%W%m%;%9$N:n6H%U%!%$%k$H$9$k!#(B

    $B:n6H%U%!%$%k$H$9$k$?$a$K$O!"$=$N%U%!%$%k$KBP$7$F$N

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N%"%/%;%98"(B(E)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    cre_fil
     
    $B%U%!%$%k@8@.(B

    $B!Z7A<0![(B

    WERR    cre_fil(LINK *lnk, TC *name, A_MODE *mode, UH atype, W opt)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $B@8@.$7$?%U%!%$%k$N%j%s%/3JG(B(0$B$^$?$O:GBg%U%!%$%kL>J8;z?t$^$GM-8z(B)
    
    A_MODE  *mode   $B%"%/%;%9%b!<%I(B
            NULL    $B%G%U%)!<%k%H%"%/%;%9%b!<%IE,MQ(B
    
    UH      atype   $B%U%!%$%k%"%W%j%1!<%7%g%s%?%$%W(B
    
    W       opt     $B@[email protected]@-(B
            ( FLOAT $B!B(B F_FIX $B!B(B F_FILEID )
            F_FLOAT     $BIbF0%j%s%/;XDj(B
            F_FIX       $B8GDj%j%s%/;XDj(B
            F_FILEID    $B%U%!%$%k(BID$B;XDj(B
    

    $B!Z%j%?!<%sCM![(B

    $B!d(B0    $B@5>o(B($B%U%!%$%k%G%#%9%/%W%j%?(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    lnk $B$G;XDj$7$?%U%!%$%k(B ( $B%j%s%/%U%!%$%k$N$H$-$O%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k(B ) $B$,B8:_$9$k%U%!%$%k%7%9%F%`>e$K?75,$KDL>o%U%!%$%k$r@8@.$7!"(B $B99?7MQ$K%*!<%W%s$9$k!#(B

    $B@8@.$7$?%U%!%$%k$N%j%s%/$NB0@-%G!<%?$O$9$Y$F(B 0 $B$K@_Dj$5$l!"(B lnk $B$G;XDj$7$?NN0h$K3JG<$5$l$k!#(B

    F_FLOAT $B;XDj$N$H$-$O!"C1=c$K%U%!%$%k$r@8@.$9$k!#(B $B@8@.$7$?%U%!%$%k$N;2>H%+%&%s%H$O(B 0 $B$H$J$k!#(B $B$3$N>l9g!"(Blnk $B$G;XDj$7$?FbMF$N%U%!%$%k%7%9%F%`L>$N$_$,M-8z$G$"$j%U%!%$%k(BID$B$OL5;k$5$l$k$?$a(B lnk $B$G;XDj$7$?%U%!%$%k$OB8:_$7$F$$$J$/$F$b$h$$!#(B

    F_FIX $B;XDj$N$H$-$O!"@8@.$7$?%U%!%$%k$N%j%s%/$r(B lnk $B$G;XDj$7$?%U%!%$%k$N:G8e$N%l%3!<%I0LCV$K%j%s%/%l%3!<%I(B ($B%5%V%?%$%W(B = 0 ) $B$H$7$FDI2C$k!#(B $B@8@.$7$?%U%!%$%k$N;2>H%+%&%s%H$O(B 1 $B$H$J$k!#(B $B$3$N>l9g!"(Blnk $B$G;XDj$7$?%U%!%$%k$OB8:_$7!"(B $B$+$D=q$-9~$_%*!<%W%s$G$-$J$/$F$O$$$1$J$$!#(B

    F_FILEID $B;XDj$N$H$-$O!"(Blnk $B$G;XDj$7$?FbMF$N%U%!%$%k(BID$B$HF1$8%U%!%$%k(BID$B$N%U%!%$%k$r@8@.$9$k!#(B $B@8@.$7$?%U%!%$%k$N;2>H%+%&%s%H$O(B 0 $B$H$J$k!#(B $B$3$N>l9g!"(Blnk $B$G;XDj$7$?%U%!%$%k$OB8:_$7$F$$$F$O$$$1$J$$!#(B

    A_MODE $B$O@8@.$7$?%U%!%$%k$N%"%/%;%9%b!<%I$r;XDj$9$k!#(B $B%U%!%$%k$N=jM-

    $B@8@.$7$?%U%!%$%k$N=jM-uBV$G$O%l%3!<%I$O(B 1 $B$D$bB8:_$7$J$$$?$a8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$j!"(B $B$=$N%l%3!<%IHV9f$O(B0$B$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N%"%/%;%98"(B(W)$B$,$J$$(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk,name,mode)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k(B(lnk)$B$O4{$KGSB>E*$K%*!<%W%s$5$l$F$$$k0Y!"(B
                  $BF1;~$K%U%!%$%k$r%*!<%W%s$9$k$3$H$,$G$-$J$+$C$?(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_EXS      : $B%U%!%$%k(B(lnk)$B$O4{$KB8:_$7$F$$$k(B(F_FILEID$B;XDj;~(B)$B!#(B
    ER_FNAME    : $B%U%!%$%kL>(B(name)$B$O6u$^$?$OIT@5$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $B:GBg%U%!%$%k?t$r1[$($?!"(B
                  $B$^$?$OF1;~%*!<%W%s2DG=$J:GBg%U%!%$%k?t$r1[$($?!#(B
    ER_NODSK    : $B%G%#%9%/$NNN0h$,ITB-$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(f_grpno<0,>4 ,opt $B$,IT@5(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    ER_SZOVR    : $B%U%!%$%k(B(lnk)$B$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?(B(F_FIX$B;XDj;~(B)$B!#(B
    
    cre_lnk
     
    $B%j%s%/%U%!%$%k$N@8@.(B

    $B!Z7A<0![(B

    ERR cre_lnk(LINK *lnk, F_LINK *ref, W opt)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $B@8@.$7$?%U%!%$%k$N%j%s%/3JG
    
    
    F_FLOAT :
    $BIbF0%j%s%/;XDj(B

    $B@8@.$7$?%j%s%/%U%!%$%k$N%j%s%/$rC1$K(B lnk $B$KLa$9!#(B $B$3$N>l9g!"(B $B@8@.$7$?%j%s%/%U%!%$%k$N;2>H%+%&%s%H$O(B 0 $B$H$J$k!#(B $B$3$N;XDj$r9T$J$C$?>l9g$O!"(Blnk $B$N%U%!%$%k%7%9%F%`L>$N$_$,;HMQ$5$l!"(B $B%U%!%$%k(BID$B$G<($5$l$k%U%!%$%k$O

    F_FIX :
    $B8GDj%j%s%/;XDj(B

    $B@8@.$7$?%j%s%/%U%!%$%k$N%j%s%/$r!"(B lnk $B$G;XDj$7$?%U%!%$%k$NE,Ev$J0LCV$N%l%3!<%I$H$7$FDI2C$9$k!#(B $BDI2C$5$l$k%l%3!<%I$N0LCV$OJ]>Z$5$l$J$$!#(B $B$3$N>l9g!"(B $B@8@.$7$?%j%s%/%U%!%$%k$N;2>H%+%&%s%H$O(B 1 $B$H$J$k!#(B $BDI2C$5$l$k%j%s%/%l%3!<%I$N%5%V%?%$%W$O(B 0 $B$G$"$j!"(B $BB0@-%G!<%?$O$9$Y$F(B 0 $B$H$J$k!#(B $B$3$N;XDj$r9T$J$C$?>l9g$O!"(Blnk $B$G;XDj$7$?%U%!%$%k$OB8:_$7!"(B $B$+$D(B F_WRITE $B%*!<%W%s$G$-$J$/$F$O$$$1$J$$!#(B

    F_FILEID :
    $B%U%!%$%k(BID$B;XDj(B

    lnk $B$G;XDj$7$?%U%!%$%k(BID$B$r;}$D%j%s%/%U%!%$%k$r@8@.$7!"(B $B@8@.$7$?%j%s%/%U%!%$%k$N%j%s%/$rC1$K(B lnk $B$KLa$9!#(B $B$3$N>l9g!"@8@.$7$?%j%s%/%U%!%$%k$N;2>H%+%&%s%H$O(B 0 $B$H$J$k!#(B $B$3$N;XDj$r9T$J$C$?>l9g$O!"(Blnk $B$G;XDj$7$?%U%!%$%k(BID$B$r;}$D%U%!%$%k$,4{$KB8:_$7$F$$$?>l9g(B($B%j%s%/%U%!%$%k$b4^$`(B)$B$O!"(B $B%(%i!<(B ( ER_EXS ) $B$H$J$k!#(B

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    lnk $B$G;XDj$7$?%U%!%$%k(B ( $B%j%s%/%U%!%$%k$N$H$-$O%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k(B ) $B$,B8:_$9$k%U%!%$%k%7%9%F%`>e$K?75,$K(B ref $B$G;XDj$7$?FbMF$N%j%s%/%U%!%$%k$r@8@.$9$k!#(B

    $B@8@.$7$?%j%s%/%U%!%$%k$N%j%s%/$NB0@-%G!<%?$O$9$Y$F(B 0 $B$K@_Dj$5$l!"(B lnk $B$G;XDj$7$?NN0h$K3JG<$5$l$k!#(B

    F_FLOAT, F_FIX, F_FILEID $B$N0UL#$O(B cre_fil() $B$HF10l$G$"$k!#(B

    $B@8@.$7$?%j%s%/%U%!%$%k$NFbMF$O(B ref $B$G;XDj$7$?FbMF$H$J$k$,!"(B $B$=$N@[email protected]|;~$O!"(Bref->f_ctime $B$G$O$J$/!"(B $BK\%7%9%F%`%3!<%k$r

    ref $B$G;XDj$7$?%U%!%$%k$N

    ref->fs_name $B$,(B lnk $B$G;XDj$7$?%U%!%$%k%7%9%F%`L>$HF10l$N$H$-$O%j%s%/%U%!%$%k$O@8@.$G$-$J$$$?$a%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N%"%/%;%98"(B(W)$B$,$J$$(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk,ref)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k(B(lnk)$B$O4{$KGSB>E*$K%*!<%W%s$5$l$F$$$k0Y!"F1;~$K%U%!%$%k$r(B
                  $B%*!<%W%s$9$k$3$H$,$G$-$J$+$C$?(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_EXS      : $B%U%!%$%k(B(lnk)$B$O4{$KB8:_$7$F$$$k(B(F_FILEID$B;XDj;~(B)$B!#(B
    ER_FNAME    : $B%U%!%$%kL>(B(ref->f_name)$B%U%!%$%k%7%9%F%`L>(B(ref->fs_name)
                  $B$O6u$^$?$OIT@5$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $B:GBg%U%!%$%k?t$r1[$($?!#(B
    ER_NODSK    : $B%G%#%9%/$NNN0h$,ITB-$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(opt $B$,IT@5!"F10l%U%!%$%k%7%9%F%`(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_SZOVR    : $B%U%!%$%k(B(lnk)$B$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?(B(F_FIX$B;XDj;~(B)$B!#(B
    
    gen_fil
     
    $B%U%!%$%k$ND>@\@8@.(B

    $B!Z7A<0![(B

    WERR    gen_fil(LINK *lnk, TC *name, F_STATE *stat, F_LINK *ref, W opt)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $B@8@.$7$?%U%!%$%k$N%j%s%/3JG(B(0$B$^$?$O:GBg%U%!%$%kJ8;z?t$^$GM-8z(B)
            ($BDL>o%U%!%$%k@8@.;~$N$_M-8z$G!"$3$N$H$-(B name $B$,(B NULL $B$J$i$P%(%i!<$H$J$k(B)
            ($B%j%s%/%U%!%$%k$N@8@.$N>l9g$O0l@Z;2>H$5$l$J$$(B)
    
    F_STATE *stat   $B@8@.$9$k%U%!%$%k$NFbMF(B
    
    F_LINK  *ref    $B@8@.$9$k%j%s%/%U%!%$%k$NFbMF(B
            ($B%j%s%/%U%!%$%k@8@.;~$N$_M-8z(B)
    
    W       opt     $B@[email protected]@-(B
            ( F_FLOAT $B!B(B F_FIX $B!B(B F_FILEID )
            F_FLOAT     $BIbF0%j%s%/;XDj(B
            F_FIX       $B8GDj%j%s%/;XDj(B
            F_FILEID    $B%U%!%$%k(BID$B;XDj(B
    

    $B!Z%j%?!<%sCM![(B

    $B!d(B0    $B@5>o(B($B%U%!%$%k%G%#%9%/%W%j%?!'DL>o%U%!%$%k@8@.;~(B)
    $B!a(B0    $B@5>o(B($B%j%s%/%U%!%$%k@8@.;~(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    lnk $B$G;XDj$7$?%U%!%$%k(B ( $B%j%s%/%U%!%$%k$N$H$-$O%j%s%/%U%!%$%k$,;2>H$9$kDL>o%U%!%$%k(B ) $B$,B8:_$9$k%U%!%$%k%7%9%F%`>e$K?75,$KDL>o%U%!%$%k$^$?$O%j%s%/%U%!%$%k$r@8@.$7!"(B $BDL>o%U%!%$%k$N$H$-$O99?7MQ$K%*!<%W%s$9$k!#(B

    $B@8@.$7$?%j%s%/%U%!%$%k$N%j%s%/$NB0@-%G!<%?$O$9$Y$F(B 0 $B$K@_Dj$5$l!"(B lnk $B$G;XDj$7$?NN0h$K3JG<$5$l$k!#(B

    F_FLOAT, F_FIX, F_FILEID $B$N0UL#$O(B cre_fil() $B$HF10l$G$"$k!#(B

    $B@8@.$7$?%U%!%$%k$NFbMF$O(B stat $B$G;XDj$7!"(B stat->f_type $B$K$h$jDL>o%U%!%$%k$+%j%s%/%U%!%$%k$+6hJL$5$l$k!#(B

    $BDL>o%U%!%$%k@8@.$N$H$-$O!"(Bname $B$G;XDj$7$?L>A0$NDL>o%U%!%$%k$r@8@.$7!"@8@.$7$?%U%!%$%k$N4IM}>pJs$r(B stat $B$G;XDj$7$?FbMF$K@_Dj$9$k!#(B $B$?$@$7!"(Bf_nlink, f_index, f_size, f_nblk, f_nrec $B$NCM$OL5;k$5$l%U%!%$%k$N@8@.;~$K=i4|2=$5$l$k!#(B

    $B%j%s%/%U%!%$%k@8@.$N$H$-$O!"(Bstat $B$NB>$NFbMF$O$9$Y$FL5;k$5$l!"(B ref $B$NFbMF$N%j%s%/%U%!%$%k$r@8@.$9$k!"(B cre_lnk() $B$HF1MM$NF0:n$G$"$k$,!"(B ref->f_ctime $B$bM-8z$H$J$k!#(B

    $BK\%7%9%F%`%3!<%k$O%U%!%$%k%7%9%F%`$NI|85$J$I$NFC

    $BDL>o%U%!%$%k$r@8@.$7$?$H$-$O%U%!%$%k$O99?7MQ$K%*!<%W%s$5$l$k!#(B $B$3$N>uBV$G$O%l%3!<%I$O(B 1 $B$D$bB8:_$7$J$$$?$a8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$j!"(B $B$=$N%l%3!<%IHV9f$O(B 0 $B$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%l%Y%k(B0$B$N%f!<%6$G$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk,ref,name,stat)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k(B(lnk)$B$O4{$KGSB>E*$K%*!<%W%s$5$l$F$$$k0Y!"F1;~$K%U%!%$%k$r(B
                  $B%*!<%W%s$9$k$3$H$,$G$-$J$+$C$?(B(F_FIX$B;XDj;~(B)$B!#(B
    ER_EXS      : $B%U%!%$%k(B(lnk)$B$O4{$KB8:_$7$F$$$k(B(F_FILEID$B;XDj;~(B)$B!#(B
    ER_FNAME    : $B%U%!%$%kL>(B(name)$B!"%U%!%$%kL>(B(ref->f_name)$B!"(B
                  $B%U%!%$%k%7%9%F%`L>(B(ref->fs_name)$B$O6u$^$?$OIT@5$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $B:GBg%U%!%$%k?t$r1[$($?!"$^$?$OF1;~%*!<%W%s2DG=$J:GBg%U%!%$%k?t$r(B
                  $B1[$($?!#(B
    R_NODSK     : $B%G%#%9%/$NNN0h$,ITB-$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B
                  (opt $B$,IT@5!"F10l%U%!%$%k%7%9%F%`!"(Bref, stat $B$NFbMF$,IT@5(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    ER_SZOVR    : $B%U%!%$%k(B(lnk)$B$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?(B(F_FIX$B;XDj;~(B)$B!#(B
    
    opn_fil
     
    $B%U%!%$%k$N%*!<%W%s(B

    $B!Z7A<0![(B

    WERR    opn_fil(LINK *lnk, W o_mode, TC *pwd)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    W       o_mode  $B%*!<%W%s%b!<%I(B
            ( F_READ $B!B(B F_WRITE $B!B(B F_UPDATE ) | [ F_EXCL $B!B(B F_WEXCL ]
            F_READ      $BFI$_9~$_MQ%*!<%W%s(B
            F_WRITE     $B=q$-9~$_MQ%*!<%W%s(B
            F_UPDATE    $B99?7(B($BFI$_9~$_!?=q$-9~$_(B)$BMQ%*!<%W%s(B
            F_EXCL      $BGSB>%b!<%I(B
            F_WEXCL     $BGSB>=q$-9~$_%b!<%I(B
    
    TC      *pwd    $B%Q%9%o!<%I(B
            NULL        $B%Q%9%o!<%I;XDj$J$7(B
    

    $B!Z%j%?!<%sCM![(B

    $B!d(B0    $B@5>o(B($B%U%!%$%k%G%#%9%/%j%W%?(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    lnk $B$G;XDj$7$?%U%!%$%k$r;XDj$7$?%b!<%I$G%*!<%W%s$9$k!#(B $B%U%!%$%k$r%*!<%W%s$9$k$?$a$K$O%*!<%W%s%b!<%I$KBP1~$9$k%"%/%;%98"$,I,MW$G$"$k!#(B

    pwd $B$O%U%!%$%k$K%Q%9%o!<%I$,@_Dj$5$l$F$$$k>l9g$KM-8z$G$"$j!"(B $B%Q%9%o!<%I$,0lCW$7$J$$>l9g$O%(%i!<$H$J$k!#(B

    $B%*!<%W%s$7$?%U%!%$%k$N@hF,%l%3!<%I$,8=:_%l%3!<%I$H$J$k!#(B $B%l%3!<%I$,(B 1 $B$D$bB8:_$7$J$$$H$-$O=*C<%l%3!<%I$,8=:_%l%3!<%I$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N%"%/%;%98"(B(o_mode$B$KBP1~(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk,pwd)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k(B(lnk)$B$O4{$KGSB>E*$K%*!<%W%s$5$l$F$$$k0Y!"F1;~$K%U%!%$%k$r(B
                  $B%*!<%W%s$9$k$3$H$,$G$-$J$+$C$?!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $BF1;~%*!<%W%s2DG=$J:GBg%U%!%$%k?t$r1[$($?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(o_mode$B$,IT@5(B)$B!#(B
    ER_PWD      : $B%U%!%$%k(B(lnk)$B$N9g8@MU$,IT0lCW$G$"$k!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    
    cls_fil
     
    $B%U%!%$%k$N%/%m!<%:(B

    $B!Z7A<0![(B

    ERR cls_fil(W fd)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd  $B%U%!%$%k%G%#%9%/%j%W%?(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$r%/%m!<%:$9$k!#(B
    $B%U%!%$%k$r%*!<%W%s$7$?%W%m%;%9$,=*N;$7$?$H$-$K$O!"<+F0E*$K$=$N%U%!%$%k$O%/%m!<%:$5$l$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    
    del_fil
     
    $B%U%!%$%k$N:o=|(B

    $B!Z7A<0![(B

    WERR    del_fil(LINK *org, LINK *lnk, W force)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *org    $B:o=|BP>]%U%!%$%k$N?F%U%!%$%k(B
            NULL    $B?F%U%!%$%k;XDj$J$7(B
    
    LINK    *lnk    $B:o=|BP>]%U%!%$%k(B
    
    W       force   $B6/@):o=|;XDj(B
    
    $B!a(B0 :
    $B:o=|BP>]%U%!%$%k$,%j%s%/%l%3!<%I$r4^$`$H$-$O%(%i!<$H$7$F:o=|$7$J$$!#(B
    $B!b(B0 :
    $B:o=|BP>]%U%!%$%k$,%j%s%/%l%3!<%I$r4^$`$H$-$b:o=|$7!"(B $B4^$^$l$k%j%s%/%l%3!<%I$,<($9%U%!%$%k$N;2>H%+%&%s%H$r(B -1 $B$7!"(B $B$=$N7k2L!";2>H%+%&%s%H$,(B 0 $B$H$J$C$?%j%s%/%l%3!<%I$N?t$r%j%?!<%sCM$H$9$k!#(B

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B:o=|$7$?7k2L;2>H%+%&%s%H(B0$B$H$J$C$?%j%s%/%l%3!<%I$N?t(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    org $B$G;XDj$7$??F%U%!%$%kFb$N(B lnk $B$G;XDj$7$?%U%!%$%k$r<($9%j%s%/%l%3!<%I$r:o=|$7!"(B $B$=$N%U%!%$%k$N;2>H%+%&%s%H$r(B -1 $B$9$k!#(B $B$=$N7k2L!";2>H%+%&%s%H$,(B 0 $B$K$J$C$?>l9g$K$O!"(Blnk $B$G;XDj$5$l$?%U%!%$%k<+BN$r:o=|$9$k!#(B $B$3$N>l9g!"?F%U%!%$%k$N=q$-9~$_(B(W)$B%"%/%;%98"$,I,MW$H$J$k!#(B

    $B?F%U%!%$%k$N;XDj$J$7(B ( org = NULL ) $B$N$H$-$O!"(B lnk $B$G;XDj$7$?%U%!%$%k$N;2>H%+%&%s%H$,(B 0 $B$N>l9g$K%U%!%$%k$r:o=|$9$k!#(B $B;2>H%+%&%s%H$,(B 0 $B$G$J$$>l9g$O%(%i!<$H$J$k!#(B

    $B:o=|BP>]%U%!%$%k$,$,%j%s%/%U%!%$%k$N$H$-$O!"(B $B%j%s%/%U%!%$%k<+BN$,:o=|$NBP>]$H$J$j!"(B $B%j%s%/%U%!%$%k$N;2>H@h$N%U%!%$%k$O:o=|$5$l$k$3$H$O$J$$!#(B

    $B:o=|BP>]%U%!%$%k$,0J2<$N$$$:$l$+$N$H$-$O:o=|$5$l$:$K%(%i!<$H$J$k!#(B

    • $B:o=|IT2DB0@-$,@_Dj$5$l$F$$$k$H$-(B
    • $B%*!<%W%s$7$F$$$k%W%m%;%9$,B8:_$7$F$$$k$H$-(B
    • $B:n6H%U%!%$%k$H$7$F$$$k%W%m%;%9$,B8:_$7$F$$$k$H$-(B

    $B=q9~IT2DB0@-$,%;%C%H$5$l$F$$$?>l9g$G$b:o=|2DG=$G$"$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(org)$B$N%"%/%;%98"(B(W)$B$,$J$$(B(org$B!b(BNULL$B$N;~(B)$B!#(B
    ER_ADR      : $B%"%I%l%9(B(org,lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k(B(org)$B$O4{$KGSB>E*$K%*!<%W%s$5$l$F$$$k0Y!"(B
                  $BF1;~$K%U%!%$%k$r%*!<%W%s$9$k$3$H$,$G$-$J$+$C$?(B(org$B!b(BNULL$B$N;~(B)$B!#(B
                : $B%U%!%$%k(B(lnk)$B$O%*!<%W%sCf$G$"$k!"$^$?$O:n6H%U%!%$%k$G$"$k!#(B
                : $B%U%!%$%k(B(lnk)$B$N;2>H%+%&%s%H$O(B0$B$G$J$$(B(org=NULL$B$N;~(B)$B!#(B
                : $B%U%!%$%k(B(lnk)$B$r<($9%j%s%/%l%3!<%I$OB>$N%*!<%W%s$G8=:_%l%3!<%I(B
                  $B$H$7$F;HMQ$5$l$F$$$k(B(org=NULL$B$N;~(B)$B!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B%U%!%$%k(B(lnk)$B$r<($9%j%s%/%l%3!<%I$O!"B>$+$i%m%C%/$5$l$F$$$k(B
                  (org$B!b(B NULL$B$N;~(B)$B!#(B
    ER_NOEXS    : $B%U%!%$%k(B(org,lnk)$B$OB8:_$7$F$$$J$$(B($B$^$?$O!"(Borg$BFb$K;XDj$5$l$?(B
                  $B%U%!%$%k(B(lnk)$B$r<($9%j%s%/%l%3!<%I$,B8:_$7$J$$(B)$B!#(B
    ER_NOFS     : $B%U%!%$%k(B(org,lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PERM     : $B%U%!%$%k(B(lnk)$B$O:o=|IT2D$G$"$k(B($B:o=|IT2DB0@-$,%;%C%H$5$l$F$$$k(B)$B!#(B
    ER_REC      : $B%U%!%$%k(B(lnk)$B$O(B $B%j%s%/%l%3!<%I$r4^$s$G$$$k(B(force=0$B$N;~(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(org)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k(B(org$B!b(BNULL$B$N;~(B)$B!#(B
                : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    
    see_rec
     
    $B8=:_%l%3!<%I0\F0(B

    $B!Z7A<0![(B

    ERR see_rec(W fd, W offset, W mode, W *recnum)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   offset  $B0\F0%*%U%;%C%H(B
    
    W   mode    $B0\F0%b!<%I(B
            $B!a(B0  $B8=:_%l%3!<%IHV9f(B + offset $B$N%l%3!<%IHV9f0LCV$K0\F0!#(B
            $B!d(B0    offset $B$N%l%3!<%IHV9f0LCV$K0\F0!#(B
                   offset$B!f(B0$B$G$J$/$F$O$$$1$J$$!#(B
            $B!c(B0    $B=*C<%l%3!<%IHV9f(B $B!\(B offset $B$N%l%3!<%IHV9f0LCV$K0\F0!#(B
                   offset$B!e(B0$B$G$J$/$F$O$$$1$J$$!#(B
    
    W   *recnum $B0\F08e$N8=:_%l%3!<%IHV9f$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I0LCV$r;XDj$7$?0LCV$K0\F0$9$k!#(B

    $BDj$7$?0\F0@h$,B8:_$9$k%l%3!<%I$NHO0O$r1[$($k>l9g$O%(%i!<$H$J$j!"(B $B8=:_%l%3!<%I$OJQ2=$7$J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(recnum)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_REC      : $BB8:_$9$k%l%3!<%I$NHO0O$r1[$($?!#(B
    
    fnd_rec
     
    $B%l%3!<%I8!:w(B

    $B!Z7A<0![(B

    WERR    fnd_rec(W fd, W mode, UW typemask, UH subtype, W *recnum)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd         $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   mode       $B8!:w%b!<%I(B($B8!:w3+;O0LCV!?J}8~$N;XDj(B)
            ( F_FWD $B!B(B F_NFWD $B!B(B F_BWD $B!B(B F_NBWD $B!B(B F_TOPEND $B!B(B F_ENDTOP )
            F_FWD     $B8=:_%l%3!<%I$+$i=*C<%l%3!<%I$^$G(B
            F_NFWD    $B8=:_%l%3!<%I$N]%l%3!<%I%?%$%W$N%S%C%H%^%9%/(B
            LSB $B%?%$%W(B 0 $B$KBP1~(B
            MSB $B%?%$%W(B 31 $B$KBP1~(B
    
    UH  subtype    $B8!:wBP>]%l%3!<%I%5%V%?%$%W(B
            0  $BA4%5%V%?%$%W$,BP>](B($B%5%V%?%$%W$N%A%'%C%/$J$7(B)
    
    W   *recnum    $B8!:w7k2L$N8=:_%l%3!<%IHV9f$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B8!:w$7$?%l%3!<%I%?%$%W(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%kFb$N;XDj$7$?%l%3!<%I$r8!:w$7!"8+$D$1$?%l%3!<%I$r8=:_%l%3!<%I$H$9$k!#(B

    $BBP>]%l%3!<%I$,8+$D$+$i$J$+$C$?$H$-$O%(%i!<$H$J$j!"8=:_%l%3!<%I$OJQ2=$7$J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(recnum)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode$B$,IT@5(B)$B!#(B
    ER_REC      : $B;XDj$7$?8!:w>r7o$K9g$&%l%3!<%I$OB8:_$7$J$$(B
                  (typemask=0$B$N>l9g$b4^$`(B)$B!#(B
    
    fnd_lnk
     
    $B%j%s%/%l%3!<%I8!:w(B

    $B!Z7A<0![(B

    ERR fnd_lnk(W fd, W mode, LINK *lnk, UH subtype, W *recnum)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd        $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   mode      $B8!:w%b!<%I(B($B8!:w3+;O0LCV!?J}8~!?FbMF$N;XDj(B)
            ( F_FWD $B!B(B F_NFWD $B!B(B F_BWD $B!B(B F_NBWD $B!B(B F_TOPEND $B!B(B F_ENDTOP )
            | [ F_SFILE ] | [ F_SNAME ]
            | [ F_SATR1 ] | [ F_SATR2 ] | [F_SATR3 ] |
                            [ F_SATR4 ] | [ F_SATR5 ]
            F_FWD$B!A(BF_ENDTOP   fnd_rec()$B$HF1$8(B
            F_SFILE   lnk $B$HF10l$N%U%!%$%k$r<($9%j%s%/%l%3!<%I(B
            F_SNAME   lnk $B$HF10l$N%U%!%$%kL>$N%U%!%$%k$r<($9%j%s%/%l%3!<%I(B
            F_SATR1   lnk $B$HF10l$NB0@-%G!<%?(B1$B$r;}$D%j%s%/%l%3!<%I(B
            F_SATR2   lnk $B$HF10l$NB0@-%G!<%?(B2$B$r;}$D%j%s%/%l%3!<%I(B
            F_SATR3   lnk $B$HF10l$NB0@-%G!<%?(B3$B$r;}$D%j%s%/%l%3!<%I(B
            F_SATR4   lnk $B$HF10l$NB0@-%G!<%?(B4$B$r;}$D%j%s%/%l%3!<%I(B
            F_SATR5   lnk $B$HF10l$NB0@-%G!<%?(B5$B$r;}$D%j%s%/%l%3!<%I(B
    
    LINK  *lnk    $B8!:wBP>]%j%s%/(B
            F_SFILE$B!A(BF_SATR5 $B$r;XDj$7$?$H$-$N$_M-8z(B
    
    UH  subtype   $B8!:wBP>]%l%3!<%I%5%V%?%$%W(B
            0  $BA4%5%V%?%$%W$,BP>](B($B%5%V%?%$%W$N%A%'%C%/$J$7(B)
    
    W   *recnum   $B8!:w7k2L$N8=:_%l%3!<%IHV9f$N3JG
    
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%kFb$N;XDj$7$?%j%s%/%l%3!<%I$r8!:w$7!"(B $B8+$D$1$?%j%s%/%l%3!<%I$r8=:_%l%3!<%I$H$9$k!#(B

    $BBP>]%l%3!<%I$,8+$D$+$i$J$+$C$?$H$-$O%(%i!<$H$J$j!"8=:_%l%3!<%I$OJQ2=$7$J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(lnk,recnum)$B$N%"%/%;%9$O5v$5$l$F$$$J$$(B
                  (lnk$B$O8!:w>r7o$r;XDj$7$?>l9g$N$_%"%/%;%9$5$l$k(B)$B!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode $B$,IT@5(B)$B!#(B
    ER_REC      : $B;XDj$7$?8!:w>r7o$K9g$&%l%3!<%I$OB8:_$7$J$$!#(B
    
    rea_rec
     
    $B%l%3!<%IFI$_9~$_(B

    $B!Z7A<0![(B

    WERR    rea_rec(W fd, W offset, B *buf, W size, W *r_size, UH *subtype)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd          $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   offset      $BFI$_9~$_3+;O%P%$%H0LCV(B($B!f(B0)
    
    B   *buf        $BFI$_9~$_%G!<%?3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B8=:_%l%3!<%I$N%l%3!<%I%?%$%W(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$rFI$_9~$`!#(B

    $B%l%3!<%I%5%$%:(B < offset + size $B$N$H$-$O!"(B buf $B$K$O(B ( $B%l%3!<%I%5%$%:(B - offset) $B%P%$%H$N%G!<%?$N$_FI$_9~$^$l$F3JG<$5$l$k!#(B

    offset $B!f(B $B%l%3!<%I%5%$%:(B$B!"(Bbuf = NULL$B!"(B $B$^$?$O(B size = 0 $B$N$H$-$O(B buf $B$K$O2?$b3JG<$5$l$:$K(B *r_size$B!"(B*subtype $B$KBP1~$9$kCM$,3JG<$5$l$k!#(B $B$3$l$O!"%l%3!<%I%5%$%:$d%5%V%?%$%W$N$_$rl9g$K;HMQ$5$l$k!#(B

    $B8=:_%l%3!<%I$,%j%s%/%l%3!<%I$N$H$-$O!"(B LINK $B9=B$BNA4BN$NFbMF$,(B buf $B$KFI$_=P$5$l!"(B*r_size $B$K$O(B LINK $B9=B$BN$N%5%$%:$,3JG<$5$l$k!#(B $B$3$N>l9g!"(Boffset = 0$B!"(Bsize $B!f(B LINK $B9=B$BN$N%5%$%:(B ( $B$^$?$O(B size = 0 ) $B$G$J$/$F$O$$$1$J$$!#(B

    $B8=:_%l%3!<%I$,=*C<%l%3!<%I$N$H$-!"(B $B$^$?$OB>%W%m%;%9$+$i%m%C%/$5$l$F$$$k$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(buf,r_size,subtype)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"(B
                  $B$^$?$O(B F_WRITE $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(size<0,offset<0,
                  $B%j%s%/%l%3!<%I$G(Boffset,size$B$,IT@5(B)$B!#(B
    
    wri_rec
     
    $B%l%3!<%I=q$-9~$_(B

    $B!Z7A<0![(B

    ERR wri_rec(W fd, W offset, B *buf, W size, W *r_size, UH *subtype, UW units)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd        $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   offset    $B=q$-9~$_3+;O%P%$%H0LCV(B($B!](B1$B!e(B offset < $B%l%3!<%I%5%$%:(B)
                  -1$B!'%l%3!<%I$N:G8e$X$N=q$-9~$_(B($BDI2C(B)
    
    B   *buf      $B=q$-9~$_%G!<%?$X$N%]%$%s%?(B
                  NULL  $B=q$-9~$^$J$$(B
    
    W   size      $B=q$-9~$_%G!<%?$N%P%$%H%5%$%:(B($B!f(B0)
    
    W   *r_size   $B3+;O%P%$%H0LCV$+$i$N;D$j%P%$%H%5%$%:(B
                  ($B=q$-9~$_8e$N%l%3!<%I%5%$%:(B $B!](B offset)$B$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$K=q$-9~$`!#(B

    $B%l%3!<%I%5%$%:(B < offset + size $B$N$H$-$O!"(B $B=q$-9~$_8e$K%l%3!<%I%5%$%:$OA}2C$9$k!#(B

    units $B$O%l%3!<%I%5%$%:$,A}2C$7$?$?$a$KI,MW$H$J$C$?DI2C%V%m%C%/$N3MF@$NC10L$r(BK$B%P%$%HC10L$G;XDj$9$k$b$N$G!"(Bunits $B%5%$%:0J>e(B ( size $B0J2<(B ) $B$NO"B3%V%m%C%/NN0h$r3d$jEv$F$k$3$H$r;XDj$9$k!#(B

    units = 0 $B$O%V%m%C%/$N3d$jEv$FJ}K!$OG$0U$G$"$k$3$H$r0UL#$9$k!#(B

    size = 0$B!"$^$?$O(B buf = NULL $B$N$H$-$O!"(B $B%G!<%?$N=q$-9~$_$O9T$J$o$J$$$,(B subtype $B!b(B NULL $B$G$"$l$P%l%3!<%I%5%V%?%$%W$OJQ99$9$k!#(B

    buf = NULL $B$G(B $B%l%3!<%I%5%$%:(B < offset + size $B$N$H$-$O!"%l%3!<%I%5%$%:$rA}2C$9$k$,A}2C$7$?ItJ,$N%G!<%?$OITDj$H$J$k!#(B $B$3$l$O(B units $B;XDj$HAH$_9g$o$;$F%l%3!<%I$NDI2C%V%m%C%/NN0h$r$"$i$+$8$a3NJ]$9$k$H$-$K;HMQ$9$k!#(B

    offset = -1 $B$N$H$-$O!"(B $B>o$K$=$N;~E@$N%l%3!<%I$N:G8e$K%G!<%?$r=q$-9~$_!"(B*r_size $B$K$O(B size $B$NCM$,3JG<$5$l$k!#(B $BF10l%l%3!<%I$rJ#?t$N%W%m%;%9$,%*!<%W%s$7$FF1;~$K=q$-9~$`>l9g$G$b$3$N;XDj$K$h$jJL$N%W%m%;%9$,=q$-9~$s$@%G!<%?$r>e=q$-$7$J$$$3$H$,J]>Z$5$l$k!#(B

    $B8=:_%l%3!<%I$,%j%s%/%l%3!<%I$N$H$-$O(B buf $B$NFbMF$O(B LINK $B9=B$BN$H$J$k$,!"B0@-%G!<%?ItJ,$N$_$,=q$-9~$^$l!"(B $B;2>H$9$k%U%!%$%k<+BN$rJQ99$9$k$3$H$O$G$-$J$$!#(B $B$3$N>l9g!"(Boffset = 0$B!"(Bsize $B!f(B LINK $B9=B$BN$N%5%$%:(B ( $B$^$?$O(B size = 0)$B$G$J$/$F$O$$$1$J$$!#(B

    $B8=:_%l%3!<%I$,=*C<%l%3!<%I$N$H$-!"(B $B$^$?$OB>%W%m%;%9$+$i%m%C%/$5$l$F$$$k$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(buf,r_size,subtype)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"$^$?$O(B F_READ
                  $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k!#(B
    ER_NODSK    : $B%G%#%9%/$NNN0h$,ITB-$7$?!"$^$?$O;XDj$5$l$?O"B3%V%m%C%/NN0h$,3MF@(B
                  $B$G$-$J$+$C$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(size<0,offset$B$,IT@5(B,$B%j%s%/%l%3!<%I$G(B
                  offset,size$B$,IT@5(B)$B!#(B
    ER_SZOVR    : $B%U%!%$%k$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?!#(B
    
    ins_rec
     
    $B%l%3!<%IA^F~(B

    $B!Z7A<0![(B

    ERR ins_rec(W fd, B *buf, W size, W type, UH subtype, UW units)
    

    $B!Z%Q%i%a!<%?![(B

    W    fd        $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    B    *buf      $BA^F~%l%3!<%I$N%G!<%?$X$N%]%$%s%?(B
                   NULL    $B%G!<%?$O=q$-9~$^$J$$(B
    
    W    size      $BA^F~%l%3!<%I$N%P%$%H%5%$%:(B($B!f(B0)
    
    W    type      $BA^F~%l%3!<%I$N%l%3!<%I%?%$%W(B
    
    UH   subtype   $BA^F~%l%3!<%I$N%l%3!<%I%5%V%?%$%W(B
    
    UW   units     $B%V%m%C%/3MF@C10L(B(K$B%P%$%H(B)
                   0  $BG$0U(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$ND>A0$K?75,$N%l%3!<%I$rA^F~$9$k!#(B

    units $B$OA^F~$7$?%l%3!<%I$GI,MW$H$9$k%V%m%C%/$N3MF@$NC10L$r(B K $B%P%$%HC10L$G;XDj$9$k$b$N$G!"(Bunits $B%5%$%:0J>e(B ( size $B0J2<(B ) $B$NO"B3%V%m%C%/NN0h$r3d$jEv$F$k$3$H$r;XDj$9$k!#(B units = 0$B$O%V%m%C%/$N3d$jEv$FJ}K!$OG$0U$G$"$k$3$H$r0UL#$9$k!#(B

    buf = NULL $B$N$H$-$O!"A^F~$7$?%l%3!<%I$N%5%$%:$O(B size $B$H$J$k$,!"$=$N%G!<%?$OITDj$H$J$k!#(B $B$3$l$O(B units $B;XDj$HAH$_9g$o$;$F!"(B $B%l%3!<%I$N%V%m%C%/NN0h$r$"$i$+$8$a3NJ]$9$k$?$a$K;HMQ$9$k!#(B

    $B8=:_%l%3!<%I$,%j%s%/%l%3!<%I$N$H$-$O(B buf $B$NFbMF$O(B LINK $B9=B$BN$H$J$k$,!"(B $BB0@-%G!<%?ItJ,$N$_$,=q$-9~$^$l!";2>H$9$k%U%!%$%k<+BN$rJQ99$9$k$3$H$O$G$-$J$$!#(B $B$3$N>l9g!"(Boffset = 0$B!"(Bsize $B!f(BLINK $B9=B$BN$N%5%$%:(B ($B$^$?$O(B size = 0 ) $B$G$J$/$F$O$$$1$J$$!#(B

    type = 0 $B$N$H$-$O%j%s%/%l%3!<%I$NA^F~$G$"$j!"(B buf $B$NFbMF$O(B LINK $B9=B$BN$H$J$k!#(B $B%j%s%/%l%3!<%I$NA^F~$K$h$j!"$=$N%j%s%/$N<($9%U%!%$%k$N;2>H%+%&%s%H$O(B +1 $B$5$l$k!#(B $B$3$N>l9g!"(Bbuf $B!b(B NULL$B!"(Bsize = LINK $B9=B$BN$N%5%$%:(B$B!"(B $B$+$D%j%s%/$N<($9%U%!%$%k$OF10l%U%!%$%k%7%9%F%`>e$KB8:_$7$F$$$J$/$F$O$$$1$J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(buff)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"(B
                  $B$^$?$O(B F_READ $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $B%j%s%/$N;2>H@h$N%U%!%$%k$N;2>H%+%&%s%H$,%7%9%F%`$N@)8B(B(255)$B$r1[$($?!#(B
    ER_NODSK    : $B%G%#%9%/$NNN0h$,ITB-$7$?!"$^$?$O;XDj$5$l$?O"B3%V%m%C%/NN0h$,(B
                  $B3MF@$G$-$J$+$C$?!#(B
    ER_NOEXS    : $B%j%s%/$N;2>H@h$N%U%!%$%k$OB8:_$7$F$$$J$$!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(type $B$,IT@5!"(Bsize<0$B!"(Bunits $B$,IT@5!"(B
                  type=0$B$N;~$N(B size,buff $B$,IT@5(B)$B!#(B
    ER_REC      : $B%j%s%/$OJL%U%!%$%k%7%9%F%`$r;2>H$7$F$$$k!#(B
    ER_SZOVR    : $B%U%!%$%k$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?!#(B
    
    apd_rec
     
    $B%l%3!<%IDI2C(B

    $B!Z7A<0![(B

    ERR apd_rec(W fd, B *buf, W size, W type, UH subtype, UW units)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    B   *buf    $BDI2C%l%3!<%I$N%G!<%?$X$N%]%$%s%?(B
                NULL    $B%G!<%?$O=q$-9~$^$J$$(B
    
    W   size    $BDI2C%l%3!<%I$N%P%$%H%5%$%:(B($B!f(B0)
    
    W   type    $BDI2C%l%3!<%I$N%l%3!<%I%?%$%W(B
    
    U   subtype $BDI2C%l%3!<%I$N%l%3!<%I%5%V%?%$%W(B
    
    UW  units   $B%V%m%C%/3MF@C10L(B(K$B%P%$%H(B)
                0  $BG$0U(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N:G8e$K?75,$N%l%3!<%I$rA^F~$9$k!#(B

    $BK\%7%9%F%`%3!<%k$O!"8=:_%l%3!<%I$N0LCV$N4X78$J$/>o$K:G8e$N%l%3!<%I(B ( $B=*C<%l%3!<%I$ND>A0(B ) $B$K%l%3!<%I$rA^F~$9$kE@$r=|$$$F(B ins_rec() $B$HF10l$G$"$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(buff)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"$^$?$O(B F_READ
                  $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $B%j%s%/$N;2>H@h$N%U%!%$%k$N;2>H%+%&%s%H$,%7%9%F%`$N@)8B(B
                  (255)$B$r1[$($?!#(B
    ER_NODSK    : $B%G%#%9%/$NNN0h$,ITB-$7$?!"$^$?$O;XDj$5$l$?O"B3%V%m%C%/NN0h(B
                  $B$,3MF@$G$-$J$+$C$?!#(B
    ER_NOEXS    : $B%j%s%/$N;2>H@h$N%U%!%$%k$OB8:_$7$F$$$J$$!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(type $B$,IT@5!"(Bsize<0$B!"(Bunits $B$,IT@5!"(B
                  type =0$B$N;~$N(B size,buff $B$,IT@5(B)$B!#(B
    ER_REC      : $B%j%s%/$OJL%U%!%$%k%7%9%F%`$r;2>H$7$F$$$k!#(B
    ER_SZOVR    : $B%U%!%$%k$N%5%$%:$,%7%9%F%`$N@)8B$r1[$($?!#(B
    
    del_rec
     
    $B%l%3!<%I:o=|(B

    $B!Z7A<0![(B

    WERR    del_rec(W fd)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd  $B%U%!%$%k%G%#%9%/%j%W%?(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B1    $B@5>o(B($B%j%s%/%l%3!<%I$r:o=|$7$?7k2L!";2>H%+%&%s%H(B=0$B$H$J$C$?(B)
    $B!a(B0    $B@5>o(B($B>e5-0J30(B)
    $B!c(B0 $B%(%i!<(B($B%(%i!<%3!<%I(B)

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$r:o=|$7!"(B $B:o=|$7$?

    $B:o=|$7$?%l%3!<%I$,%j%s%/%l%3!<%I$N$H$-$O!"(B $B%j%s%/%l%3!<%I$,<($9%U%!%$%k$N;2>H%+%&%s%H$O(B -1 $B$5$l!"(B $B$=$N7k2L;2>H%+%&%s%H$,(B0$B$H$J$C$?>l9g$O%j%?!<%sCM$O(B 1 $B$H$J$k!#(B

    $B8=:_%l%3!<%I$,=*C<%l%3!<%I$N$H$-!"(B $BB>%W%m%;%9$+$i%m%C%/$5$l$F$$$k$H$-!"(B $B$^$?$OB>$N%*!<%W%s$G8=:_%l%3!<%I$H$J$C$F$$$k$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_BUSY     : $BB>$N%*!<%W%s$G8=:_%l%3!<%I$H$7$F;HMQ$5$l$F$$$k!#(B
    ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"(B
                  $B$^$?$O(B F_READ $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    trc_rec
     
    $B%l%3!<%I%5%$%:=L>.(B

    $B!Z7A<0![(B

    ERR trc_rec(W fd, W size)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   size    $B=L>.$9$k%l%3!<%I%P%$%H%5%$%:(B($B!f(B0)
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$N%l%3!<%I%5%$%:$r(B size $B%P%$%H$K=L>.$9$k!#(B $B%l%3!<%I%5%$%:!e(B size $B$N$H$-$O2?$b$7$J$$!#(B

    $B8=:_%l%3!<%I$,=*C<%l%3!<%I$N$H$-!"(B $B%j%s%/%l%3!<%I$N$H$-!"$^$?$OB>%W%m%;%9$+$i%m%C%/$5$l$F$$$k$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"(B
                  $B$^$?$O(B F_READ $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(size<0)$B!#(B
    ER_REC      : $B8=:_%l%3!<%I$O%j%s%/%l%3!<%I$G$"$k!#(B
    
    xch_fil
     
    $B%U%!%$%k$NFbMF8r49(B

    $B!Z7A<0![(B

    ERR xch_fil(W fd_1, W fd_2)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd_1    $B%U%!%$%k%G%#%9%/%j%W%?(B 1
    
    W   fd_2    $B%U%!%$%k%G%#%9%/%j%W%?(B 2
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?(B 2 $B$D$N%U%!%$%k$NFbMF$r8r49$9$k!#(B

    $B8r49$9$k$N$O%U%!%$%k$N%G!<%?ItJ,$G$"$j!"(B $B%U%!%$%k$N4IM}>pJs$O%"%/%;%9F|IU$H99?7F|IU$r=|$$$F85$N$^$^$H$J$k!#(B

    $B8r49$9$k(B 2 $B$D$N%U%!%$%k$O!"F10l$N%U%!%$%k%7%9%F%`$KB8:_$7!"(B $B$+$DGSB>%b!<%I$G99?7MQ%*!<%W%s$7$F$J$/$F$O$$$1$J$$!#(B

    $B8r498e$N8=:_%l%3!<%I$O!"$=$l$>$l@hF,%l%3!<%I$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!"$^$?$O(B (F_UPDATE|F_EXCL)
                  $B$G$J$$(B $B%*!<%W%s$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k(B
                  ($B%l%3!<%I$K%m%C%/$,$+$+$C$F$$$k(B)$B!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(fd_1$B$H(Bfd_2$B$OF10l%U%!%$%k(B)$B!#(B
    ER_XFS      : $B%U%!%$%k(B(fd_1,fd_2)$B$O0[$J$k%U%!%$%k%7%9%F%`$KB0$7$F$$$k!#(B
    
    loc_rec
     
    $B%l%3!<%I%m%C%/(B

    $B!Z7A<0![(B

    ERR loc_rec(W fd, W mode)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   mode    $B%m%C%/%b!<%I(B
            ( F_UNLOCK $B!B(B F_LOCK $B!B(B F_TSLOCK $B!B(B F_CKLOCK )
            F_LOCK      $B%m%C%/@_Dj(B($BBT$A(B)
            F_UNLOCK    $B%m%C%/2r=|(B
            F_TSLOCK    $B%m%C%/@_Dj(B($BBT$A$J$7(B)
            F_CKLOCK    $B%m%C%/>uBV%A%'%C%/(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$KBP$9$k%m%C%/A`:n$r9T$J$&!#(B

    F_LOCK $B%m%C%/@_Dj(B($BBT$A(B)
    $BB>%W%m%;%9$+$i%m%C%/$5$l$F$$$?$H$-$O%m%C%/$,2r=|$5$l$k$^$GBT$D(B($BBT$A$O%W%m%;%9M%@hEY=g$GF10lM%@hEY$N>l9g$OBT$A$KF~$C$?=g(B)$B!#<+%W%m%;%9$NF10l%U%!%$%k%G%#%9%/%j%W%?$+$i%m%C%/$7$F$$$?>l9g$O2?$b$;$:$K@5>o=*N;!#<+%W%m%;%9$NB>%U%!%$%k%G%#%9%/%j%W%?$+$i%m%C%/$7$F$$$?>l9g$O%(%i!F_UNLOCK $B%m%C%/2r=|(B
    $B%l%3!<%I$,%m%C%/$5$l$F$$$J$$>l9g$O2?$b$;$:$K@5>o=*N;!#<+%W%m%;%9$NF10l%U%!%$%k%G%#%9%/%j%W%?$+$i%m%C%/$7$?>l9g$N$_2r=|2DG=$G!"$=$NB>$N>l9g$O%(%i!F_TSLOCK $B%m%C%/@_Dj(B($BBT$A$J$7(B)
    $BB>%W%m%;%9$^$?$OB>%U%!%$%k%G%#%9%/%j%W%?$+$i%m%C%/$5$l$F$$$?$H$-$O%(%i!F_CKLOCK $B%m%C%/>uBV%A%'%C%/(B
    $BB>%W%m%;%9$^$?$OB>%U%!%$%k%G%#%9%/%j%W%?$+$i%m%C%/$5$l$F$$$?$H$-$O%(%i!o=*N;!#(B

    $B%m%C%/$7$?%l%3!<%I$O!"%m%C%/$7$?%U%!%$%k%G%#%9%/%j%W%?0J30$+$i$NFI$_9~$_!"=q$-9~$_!"%5%$%:JQ99!"$*$h$S:o=|$,6X;_$5$l$k!#(B

    $B%U%!%$%k$r%/%m!<%:;~$K$O%*!<%W%s$7$?%W%m%;%9$G@_Dj$7$?%m%C%/$O2r=|$5$l$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $BF1;~$K%m%C%/2DG=$J%l%3!<%I$N:GBg?t$r1[$($?!#(B
    ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k8=:_%l%3!<%I$O4{$KB>$+$i%m%C(B
                  $B%/$5$l$F$$$k(B(F_TSLOCK$B!?(BF_CKLOCK$B;XDj;~(B)$B!#(B
                : $B<+%W%m%;%9$NB>%U%!%$%k%G%#%9%/%j%W%?$+$i4{$K%m%C%/$5$l$F$$$k(B
                  (F_LOCK$B;XDj;~(B)$B!#(B
                : $BB>%U%!%$%k%G%#%9%/%j%W%?$+$i$N%m%C%/$G$"$j2r=|$G$-$J$$(B
                  (F_UNLOCK$B;XDj;~(B)$B!#(B
    ER_MINTR    : $B%a%C%;!<%8%O%s%I%i$,5/F0$5$l$?$?$aBT$A=hM}$,CfCG$5$l$?(B(F_LOCK$B;XDj;~(B)$B!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode$B$,IT@5(B)$B!#(B
    
    chk_fil
     
    $B%U%!%$%k%"%/%;%98"%A%'%C%/(B

    $B!Z7A<0![(B

    WERR    chk_fil(LINK *lnk, W mode, TC *pwd)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    W       mode    $B%A%'%C%/%b!<%I(B
            ( [ F_READ ] | [ F_WRITE ] | [ F_EXCUTE ] ) $B!B(B [ F_EXIST ]
            F_READ    $BFI$_9~$_(B(R)$B%"%/%;%98"%A%'%C%/(B
            F_WRITE   $B=q$-9~$_(B(W)$B%"%/%;%98"%A%'%C%/(B
            F_EXCUTE  $B
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B%U%!%$%k$N%"%/%;%9>pJs!'(BF_EXIST $B;XDj;~(B)
    $B!a(B0    $B@5>o(B(F_EXIST $B0J30;XDj;~(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$N;XDj$7$?%"%/%;%9$,2DG=$+H]$+$N%A%'%C%/$r9T$J$&!#(B

    F_READ$B!"(BF_WRITE$B!"(BF_EXCUTE $B$NAH$_9g$o$;$G;XDj$7$?%"%/%;%9$,IT2D$N$H$-$O%(%i!<$H$J$k!#%Q%9%o!<%I$O(B F_READ$B!"$^$?$O(B F_WRITE $B$r;XDj$7$?$H$-$N$_%A%'%C%/$5$l$k!#(B

    F_EXIST $B;XDj$N$H$-$O!"%U%!%$%k$,B8:_$7$J$$>l9g$O%(%i!<$H$J$j!"B8:_$9$k>l9g$O0J2<$N%"%/%;%9>pJs$r%j%?!<%sCM$H$7$FLa$9!#(B

        0.....0 BAPO SRWE
    
            B: $B%"%W%j%1!<%7%g%sB0@-(B2  (1:ON$B!"(B0:OFF)
            A: $B%"%W%j%1!<%7%g%sB0@-(B1  (1:ON$B!"(B0:OFF)
            P: $B:o=|IT2DB0@-(B           (1:ON$B!"(B0:OFF)
            O: $B=q9~IT2DB0@-(B           (1:ON$B!"(B0:OFF)
            S: $B%Q%9%o!<%I$NM-L5(B       (1:$BM-!"(B0:$BL5(B )
            R: $BFI$_9~$_(B(R)$B%"%/%;%98"(B  (1:$BM-!"(B0:$BL5(B )
            W: $B=q$-9~$_(B(W)$B%"%/%;%98"(B  (1:$BM-!"(B0:$BL5(B )
            E: $B
    
    

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N%"%/%;%98"(B(F_EXIST$B0J30;XDj;~(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode$B$,IT@5(B)$B!#(B
    ER_PWD      : $B%U%!%$%k(B(lnk)$B$N9g8@MU$,IT0lCW$G$"$k(B(F_READ/F_WRITE$B;XDj;~(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(F_WRITE$B;XDj;~(B)$B$N=q9~IT2DB0@-$,@_Dj$5$l$F$$$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    
    chg_fmd
     
    $B%U%!%$%k%"%/%;%9%b!<%IJQ99(B

    $B!Z7A<0![(B

    ERR chg_fmd(LINK *lnk, A_MODE *mode)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    A_MODE  *mode   $BJQ99$9$k%"%/%;%9%b!<%I(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$N%"%/%;%9%b!<%I$rJQ99$9$k!#(B

    $B%"%/%;%9%b!<%I$N0J2<$N$=$l$>$l$N%G!<%?$KBP$7$F(B F_NOCHG $B;XDj$r9T$&$H!"$=$N9`L\$OJQ99$7$J$$$3$H$r0UL#$9$k!#(B

    • $B=jM-$B%0%k!<%W%"%/%;%9%l%Y%k(B(f_grpacc)
    • $B0lHL%"%/%;%9%l%Y%k(B(f_pubacc)
    • $B=jM-%0%k!<%WHV9f(B(f_grpno)

    $B%"%/%;%9%b!<%I$NJQ99$O!"%U%!%$%k%7%9%F%`$N%"%/%;%9%l%Y%k$,(B 0 $B$N$H$-$OC/$G$bJQ992DG=$G$"$k$,!"%"%/%;%9%l%Y%k$,(B 0 $B$G$J$$$H$-$O%U%!%$%k$N=jM-

    $B$9$G$K%*!<%W%s$5$l$F$$$k%U%!%$%k$N%"%/%;%9%b!<%I$rJQ99$7$?>l9g!"$=$NJQ99$O$9$G$K%*!<%W%s$5$l$F$$$k$b$N$K$O1F6A$rM?$($J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N=jM-
    
    
    chg_fat
     
    $B%U%!%$%k$N%"%/%;%9B0@-JQ99(B

    $B!Z7A<0![(B

    ERR chg_fat(LINK *lnk, W attr)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    W       attr    $BJQ99$9$k%"%/%;%9B0@-(B
            ( F_SETRONLY $B!B(B F_RSTRONLY $B!B(B F_SETPERM $B!B(B F_RSTPERM $B!B(B
                F_SETA1 $B!B(B F_RSTA1  $B!B(B F_SETA2   $B!B(B F_RSTA2 )
            F_SETRONLY  $B=q$-9~$_IT2DB0@-$N%;%C%H(B
            F_RSTRONLY  $B=q$-9~$_IT2DB0@-$N%j%;%C%H(B
            F_SETPERM   $B:o=|IT2DB0@-$N%;%C%H(B
            F_RSTPERM   $B:o=|IT2DB0@-$N%j%;%C%H(B
            F_SETA1     $B%"%W%j%1!<%7%g%sB0@-(B1$B$N%;%C%H(B
            F_RSTA1     $B%"%W%j%1!<%7%g%sB0@-(B1$B$N%j%;%C%H(B
            F_SETA2     $B%"%W%j%1!<%7%g%sB0@-(B2$B$N%;%C%H(B
            F_RSTA2     $B%"%W%j%1!<%7%g%sB0@-(B2$B$N%j%;%C%H(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$N%"%/%;%9B0@-$rJQ99$9$k!#(B

    $B%"%/%;%9%b!<%I$NJQ99$O!"%U%!%$%k%7%9%F%`$N%"%/%;%9%l%Y%k$,(B 0 $B$N$H$-$OC/$G$bJQ992DG=$G$"$k$,!"%"%/%;%9%l%Y%k$,(B 0 $B$G$J$$$H$-$O%U%!%$%k$N=jM-

    $B$9$G$K%*!<%W%s$5$l$F$$$k%U%!%$%k$N%"%/%;%9%b!<%I$rJQ99$7$?>l9g!"$=$NJQ99$O$9$G$K%*!<%W%s$5$l$F$$$k$b$N$K$O1F6A$rM?$($J$$!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N=jM-
    
    
    chg_fpw
     
    $B%U%!%$%k%Q%9%o!<%IJQ99(B

    $B!Z7A<0![(B

    ERR chg_fpw(W fd, TC *pwd)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    TC  *pwd    $B%Q%9%o!<%I(B(TNULL$B!"$^$?$O:GBg%Q%9%o!<%IJ8;z?t$^$GM-8z(B)
         NULL   $B%Q%9%o!<%I2r=|(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N%Q%9%o!<%I$rJQ99$9$k!#(B

    $B%Q%9%o!<%I$NJQ99$O!"%U%!%$%k%7%9%F%`$N%"%/%;%9%l%Y%k$,(B 0 $B$N$H$-$OC/$G$bJQ992DG=$G$"$k$,!"%"%/%;%9%l%Y%k$,(B 0 $B$G$J$$$H$-$O%U%!%$%k$N=jM- $B$?$@$7!"%U%!%$%k$N=jM-l9g$O!"%f!<%6!<%l%Y%k(B 0 $B$N%W%m%;%9$+$i$bJQ992DG=$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k$N=jM-
    
    
    chg_fnm
     
    $B%U%!%$%kL>JQ99(B

    $B!Z7A<0![(B

    ERR chg_fnm(LINK *lnk, TC *name)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    TC      *name   $BJQ99$9$k%U%!%$%kL>(B(TNULL$B!"$^$?$O:GBg%U%!%$%kL>J8;z?t$^$GM-8z(B)
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$N%U%!%$%kL>$rJQ99$9$k!#(B

    $B%U%!%$%kL>$NJQ99$O!"%U%!%$%k%7%9%F%`$N%"%/%;%9%l%Y%k$,(B 0 $B$N$H$-$OC/$G$bJQ992DG=$G$"$k$,!"%"%/%;%9%l%Y%k$,(B 0 $B$G$J$$$H$-$O%U%!%$%k$N=jM-

    $B=q$-9~$_IT2DB0@-!"$^$?$O:o=|IT2DB0@-$N%;%C%H$5$l$F$$$k%U%!%$%k$N%U%!%$%kL>$NJQ99$O$G$-$J$$!#(B

    $B;XDj$7$?%U%!%$%k$,%j%s%/%U%!%$%k$N$H$-$O!";2>H@h$N%U%!%$%kL>$*$h$S%j%s%/%U%!%$%kFb$KJ];}$5$l$F$$$k;2>H%U%!%$%kL>$NN>J}$,JQ99$5$l$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N=jM-(B(name)$B$O6u$^$?$OIT@5$G$"$k!#(B
    ER_PERM     : $B%U%!%$%k(B(lnk)$B$O:o=|IT2D$G$"$k(B($B:o=|IT2DB0@-$,%;%C%H$5$l$F$$$k(B)$B!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"(B
                  $B$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O=q9~IT2D$G$"$k!#(B
    
    chg_ftm
     
    $B%U%!%$%kF|;~JQ99(B

    $B!Z7A<0![(B

    ERR chg_ftm(LINK *lnk, F_TIME *times)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    F_TIME  *times  $BJQ99$9$kF|;~(B
            NULL    $B8=:_F|;~$K@_Dj(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$NJ]B84|8B!":G?7%"%/%;%9F|;~!"$*$h$S:G?799?7F|;~$rJQ99$9$k!#(B

    F_TIME $B$N$=$l$>$l$NCM$,(B $B!e(B0$B$N$H$-$O$=$N9`L\$OJQ99$7$J$$!#(B

    $B%U%!%$%kF|;~$NJQ99$O!"%U%!%$%k%7%9%F%`$N%"%/%;%9%l%Y%k$,(B 0 $B$N$H$-$OC/$G$bJQ992DG=$G$"$k$,!"%"%/%;%9%l%Y%k$,(B 0 $B$G$J$$$H$-$O%U%!%$%k$N=jM-

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $B%U%!%$%k(B(lnk)$B$N=jM-
    
    
    fil_sts
     
    $B%U%!%$%k>pJs$N

    $B!Z7A<0![(B

    WERR    fil_sts(LINK *lnk, TC *name, F_STATE *stat, F_LOCATE *locat)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%U%!%$%k(B
    
    TC      *name   $B%U%!%$%kL>$N3JG!\(B1$BJ8;zJ,$NNN0h(B)
                    NULL    $B3JG<$7$J$$(B
    
    F_STATE *stat   $B%U%!%$%k4IM}>pJs$N3JGpJs$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B%U%!%$%k$N;2>H%+%&%s%H(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%U%!%$%k$N>pJs$r

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(lnk,name,stat,locat)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$(B(ofl_sts$B$N>l9g(B)$B!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$(B(fil_sts$B$N>l9g(B)$B!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$(B
                   (fil_sts$B$N>l9g(B)$B!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    ofl_sts
     
    $B%U%!%$%k>pJs$N

    $B!Z7A<0![(B

    WERR    ofl_sts(W fd, TC *name, F_STATE *stat, F_LOCATE *locat)
    

    $B!Z%Q%i%a!<%?![(B

    W         fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    TC        *name   $B%U%!%$%kL>$N3JG!\(B1$BJ8;zJ,$NNN0h(B)
                      NULL    $B3JG<$7$J$$(B
    
    F_STATE   *stat   $B%U%!%$%k4IM}>pJs$N3JGpJs$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B%U%!%$%k$N;2>H%+%&%s%H(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N>pJs$r

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(lnk,name,stat,locat)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$(B(ofl_sts$B$N>l9g(B)$B!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$(B(fil_sts$B$N>l9g(B)$B!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$(B
                  (fil_sts$B$N>l9g(B)$B!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    lnk_sts
     
    $B%j%s%/%U%!%$%k>pJs$N

    $B!Z7A<0![(B

    WERR    lnk_sts(LINK *lnk, F_LINK *stat)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $BBP>]%j%s%/%U%!%$%k(B
    
    F_LINK  *stat   $B%j%s%/%U%!%$%k>pJs$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B%j%s%/%U%!%$%k$N;2>H%+%&%s%H(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%j%s%/%U%!%$%k$N%j%s%/%U%!%$%k>pJs$r

    $B;XDj$7$?%U%!%$%k$,%j%s%/%U%!%$%k$G$J$$$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(lnk,stat)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOLNK    : $B%j%s%/%U%!%$%k$G$O$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    syn_lnk
     
    $B%j%s%/%U%!%$%k$NF14|(B

    $B!Z7A<0![(B

    WERR    syn_lnk(LINK *lnk, W opt)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk   $BBP>]%j%s%/%U%!%$%k(B
    
    W       opt    $BF14|B0@-(B
                   $B!a(B0  $B%A%'%C%/$N$_(B
                   $B!b(B0  $B%A%'%C%/$*$h$S99?7(B
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($BF14|>uBV(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%j%s%/%U%!%$%k$,J];}$7$F$$$k%U%!%$%kL>!"@[email protected]|;~$H!";2>H@h$N%U%!%$%k$N!"@[email protected]|;~$,0lCW$7$F$$$k$+$I$&$+$r%A%'%C%/$9$k!#(B

    opt = 0 $B$N$H$-$O%A%'%C%/$N$_$r9T$J$$!"(Bopt $B!b(B 0 $B$N$H$-$O0[$J$C$F$$$?>l9g$O!";XDj$7$?%j%s%/%U%!%$%k$,J];}$7$F$$$k>pJs$r;2>H@h$N%U%!%$%k$N!"@[email protected]|;~$H0lCW$9$k$h$&$K99?7$9$k!#(B

    $B%j%?!<%sCM$O0J2<$NF14|>uBV$H$J$k!#(B

        F_SYNC      $B0lCW$7$F$$$k!#(B
        F_DNAME     $B%U%!%$%kL>$,0[$J$C$F$$$?(B
        F_DDATE     $B@[email protected]|;~$,0[$J$C$F$$$?(B
        F_DBOTH     $B%U%!%$%kL>$H@[email protected]|;~$NN>J}$,6&$K0[$J$C$F$$$?(B
    

    $B;XDj$7$?%U%!%$%k$,%j%s%/%U%!%$%k$G$J$$$H$-$O%(%i!<$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B((lnk))$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$OB8:_$7$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$^$?$O%U%!%$%k(B(lnk)$B$N;2>H@h$N%U%!%$%k$NB0$9$k(B
                  $B%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOLNK    : $B%j%s%/%U%!%$%k$G$O$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_RONLY    : $B%U%!%$%k(B(lnk)$B$O=q9~IT2D$G$"$k!"$^$?$OB0$9$k%U%!%$%k%7%9%F%`(B
                  $B$O=q9~IT2D$G$"$k!#(B
    
    get_dfm
     
    $B%G%U%)!<%k%H%"%/%;%9%b!<%I$N

    $B!Z7A<0![(B

    ERR get_dfm(DA_MODE *mode)
    

    $B!Z%Q%i%a!<%?![(B

    DA_MODE *mode   $B%G%U%)!<%k%H%"%/%;%9%b!<%I$N3JG
            typedef struct {
                UH  f_ownacc;       /* $B=jM-
    
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B<+%f!<%6$N%G%U%)!<%k%H%"%/%;%9%b!<%I$r

    $B%G%U%)!<%k%H%"%/%;%9%b!<%I$O!"(B $B%U%!%$%k$N@8@.;~$K%"%/%;%9%b!<%I$r;XDj$7$J$+$C$?$H$-$KE,MQ$5$l$k%G%U%)!<%k%H$N%"%/%;%9%b!<%I$G$"$j!"%f!<%6$4$H$KDj5A$5$l$k!#(B

    f_gacc[4] $B$O!"%f!<%6$N=jB0$9$k%0%k!<%W$N$=$l$>$l$KBP$7$F@_Dj$5$l$F$$$k%0%k!<%W%"%/%;%9%l%Y%k$r<($9C1$J$k;2>HMQ$N%G!<%?$G$"$j!"(Bf_grpacc $B$,

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(mode)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    
    set_dfm
     
    $B%G%U%)!<%k%H%"%/%;%9%b!<%I$N@_Dj(B

    $B!Z7A<0![(B

    ERR set_dfm(DA_MODE *mode)
    

    $B!Z%Q%i%a!<%?![(B

    DA_MODE *mode   $B@_Dj$9$k%G%U%)!<%k%H%"%/%;%9%b!<%I(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B<+%f!<%6$N%G%U%)!<%k%H%"%/%;%9%b!<%I$r@_Dj$9$k!#(B

    $BJQ99$7$?%G%U%)!<%k%H%"%/%;%9%b!<%I$O!"F10l%f!<%6$NA4%W%m%;%9$KBP$7$FM-8z$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(mode)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(mode $B$NFbMF$,IT@5(B)$B!#(B
    
    att_fls
     
    $B%U%!%$%k%7%9%F%`$N@\B3(B

    $B!Z7A<0![(B

    ERR att_fls(TC *dev, TC *name, LINK *lnk, UW mode)
    

    $B!Z%Q%i%a!<%?![(B

    TC      *dev    $B%G%P%$%9L>(B
    
    TC      *name   $B@\B3L>(B(TNULL$B!"$^$?$O:GBg@\B3L>J8;z?t$^$GM-8z(B)
    
    LINK    *lnk    $B@\B3$7$?%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$N%j%s%/$N3JG
    
    FS_SYNC $BF14|=q$-9~$_(B
    $B%U%!%$%k$X$N=q$-9~$_$O=q$-9~$_$N%7%9%F%`%3!<%k$rFS_ASYN $BHsF14|=q$-9~$_(B
    $B%U%!%$%k$X$N=q$-9~$_$O=q$-9~$_$N%7%9%F%`%3!<%k$rFS_RONLY $B=q$-9~$_6X;_(B
    $B%U%!%$%k$X$N=q$-9~$_$O$9$Y$F6X;_$5$l$k!#(B

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%G%P%$%9>e$KB8:_$9$k%U%!%$%k%7%9%F%`$r;XDj$7$?@\B3L>$G%7%9%F%`$K@\B3$9$k!#(B

    $B@\B3L>$O!"@\B3$7$?%U%!%$%k%7%9%F%`$N%k!<%H%U%!%$%k$r@dBP%Q%9L>$K$h$j;XDj$9$k$?$a$K;HMQ$5$l!"$9$G$K@\B3:Q$_$N@\B3L>$HF1$8$G$"$C$F$O$$$1$J$$!#(B

    $B$9$G$K@\B3:Q$_$N%U%!%$%k%7%9%F%`$r:FEY@\B3$7$h$&$H$7$?$H$-!"$^$?!"@\B3$7$h$&$H$7$?%U%!%$%k%7%9%F%`$N%U%!%$%k%7%9%F%`L>$HF10l$N%U%!%$%k%7%9%F%`L>$r;}$D%U%!%$%k%7%9%F%`$,$9$G$K@\B3$5$l$F$$$?$H$-%(%i!<$H$J$k!#(B

    $B%U%!%$%k%7%9%F%`$r@\B3$9$k$K$O!"%G%P%$%9$KBP$9$k@\B3%"%/%;%98"$,I,MW$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $BO@M}%G%P%$%9(B(dev)$B$N%"%/%;%98"(B($B@\B3(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(dev,name,lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $BO@M}%G%P%$%9(B(dev)$B$O4{$K%*!<%W%s$5$l$F$$$k!"$^$?$O@\B3$5$l$F$$$k!#(B
    ER_EXS      : $B@\B3L>(B(name)$B$O4{$KB8:_$7$F$$$k$^$?$OF10l$N%U%!%$%k%7%9%F%`L>(B
                  $B$N%U%!%$%k%7%9%F%`$,4{$K@\B3$5$l$F$$$k!#(B
    ER_FNAME    : $B%U%!%$%kL>(B(name)$B$O6u$^$?$OIT@5$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_LIMIT    : $BF1;~@\B32DG=$J:GBg%U%!%$%k%7%9%F%`?t$r1[$($?!#(B
    ER_NODEV    : $B%G%P%$%9(B(dev)$B$X$N%"%/%;%9$,$G$-$J$$!#(B
    ER_NOEXS    : $B%G%P%$%9(B(dev)$B$OEPO?$5$l$F$$$J$$!"$^$?$O%V%m%C%/7?%G%P%$%9$G$J$$!#(B
    ER_NOMDA    : $B%G%P%$%9(B(dev)$B$N%a%G%#%"$,B8:_$7$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_TRON     : TRON$B7A<0$N%U%!%$%k%7%9%F%`$G$O$J$$!#(B
    
    det_fls
     
    $B%U%!%$%k%7%9%F%`$N@ZCG(B

    $B!Z7A<0![(B

    ERR det_fls(TC *dev, W eject)
    

    $B!Z%Q%i%a!<%?![(B

    TC  *dev    $B%G%P%$%9L>(B
    
    W   eject   $B%$%8%'%/%H;XDj(B
                $B!a(B0  $B%$%8%'%/%H$7$J$$(B
                $B!b(B0  $B%$%8%'%/%H$9$k(B($B%$%8%'%/%HIT2DG=$J%G%P%$%9$N;~$OL5;k(B)
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%G%P%$%9>e$N@\B3:Q$_$N%U%!%$%k%7%9%F%`$r%7%9%F%`$+$i@Z$jN%$9!#$3$N;~!"%a%b%j>e$K0l;~E*$KJ];}$5$l$F$$$kFbMFEy$,$"$l$P%U%!%$%k%7%9%F%`>e$K$9$Y$F=q$-=P$9!#(B

    $B@ZCG$NBP>]$H$J$k%U%!%$%k%7%9%F%`Fb$N%U%!%$%k$,%*!<%W%s$5$l$F$$$k$H$-!"$^$?$O:n6H%U%!%$%k$H$7$F$$$k%W%m%;%9$,B8:_$7$F$$$k$H$-$O!"@ZCG$G$-$J$$!#(B

    $B%U%!%$%k%7%9%F%`$r@ZCG$9$k$K$O!"%G%P%$%9$KBP$9$k@\B3%"%/%;%98"$,I,MW$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $BO@M}%G%P%$%9(B(dev)$B$N%"%/%;%98"(B($B@\B3(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(dev)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $B%U%!%$%k%7%9%F%`$O;HMQCf$G$"$k!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOEXS    : $B%G%P%$%9(B(dev)$B$OEPO?$5$l$F$$$J$$!"$^$?$O%V%m%C%/7?%G%P%$%9$G$J$$!#(B
    ER_NOFS     : $BO@M}%G%P%$%9(B(dev)$B>e$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOMDA    : $B%G%P%$%9$N%a%G%#%"$,B8:_$7$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_RONLY    : $B%U%!%$%k$O=q9~IT2D$G$"$k!"$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O(B
                  $B=q9~IT2D$G$"$k!#(B
    
    syn_fls
     
    $B%U%!%$%k%7%9%F%`$NF14|(B

    $B!Z7A<0![(B

    ERR syn_fls(VOID)
    

    $B!Z%Q%i%a!<%?![(B

    $B$J$7(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%a%b%j>e$K0l;~E*$KJ];}$5$l$F$$$?FbMFEy$r%U%!%$%k%7%9%F%`>e$K$9$Y$F=q$-=P$7!"%U%!%$%k%7%9%F%`A4BN$rL7=b$J$$$h$&$K99?7$9$k!#(B
    $B@\B3$5$l$F$$$k$9$Y$F$N%U%!%$%k%7%9%F%`$KBP$7$F9T$&!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOMDA    : $B%G%P%$%9$N%a%G%#%"$,B8:_$7$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_RONLY    : $B%U%!%$%k$O=q9~IT2D$G$"$k!"$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O(B
                  $B=q9~IT2D$G$"$k!#(B
    
    fls_sts
     
    $B%U%!%$%k%7%9%F%`4IM}>pJs$N

    $B!Z7A<0![(B

    WERR    fls_sts(TC *dev, FS_STATE *buff)
    

    $B!Z%Q%i%a!<%?![(B

    TC       *dev    $B%G%P%$%9L>(B
    
    FS_STATE *buff   $B%U%!%$%k%7%9%F%`4IM}>pJs$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($B%U%!%$%k%7%9%F%`$N@\B3%b!<%I(B)
           ( 0:$B%U%!%$%k%7%9%F%`$O=q9~2D!"(B1:$B%U%!%$%k%7%9%F%`$O=q9~IT2D(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%G%P%$%9>e$N@\B3:Q$_$N%U%!%$%k%7%9%F%`$N4IM}>pJs$r

    $B%U%!%$%k%7%9%F%`$N4IM}>pJs$r

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $BO@M}%G%P%$%9(B(dev)$B$N%"%/%;%98"(B($B@\B3(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(dev,buf)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $BO@M}%G%P%$%9$O4{$K%*!<%W%s$5$l$F$$$k(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NODEV    : $B%G%P%$%9(B(dev)$B$X$N%"%/%;%9$,$G$-$J$$!#(B
    ER_NOEXS    : $B%G%P%$%9(B(dev)$B$OEPO?$5$l$F$$$J$$!"$^$?$O%V%m%C%/7?%G%P%$%9$G$J$$!#(B
    ER_NOMDA    : $B%G%P%$%9(B(dev)$B$N%a%G%#%"$,B8:_$7$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_TRON     : TRON$B7A<0$N%U%!%$%k%7%9%F%`$G$O$J$$!#(B
    
    chg_fls
     
    $B%U%!%$%k%7%9%F%`>pJs$NJQ99(B

    $B!Z7A<0![(B

    ERR chg_fls(TC *dev, TC *fs_name, TC *fs_locate)
    

    $B!Z%Q%i%a!<%?![(B

    TC   *dev       $B%G%P%$%9L>(B
                    NULL $B$N>l9g%(%i!<$H$J$k(B
    
    TC   *fs_name   $BJQ99$9$k%U%!%$%k%7%9%F%`L>(B
                    NULL  $BJQ99$7$J$$(B
    
    TC   *fs_locate $BJQ99$9$k%G%P%$%9=j:_L>(B
                    NULL  $BJQ99$7$J$$(B
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B0    $B@5>o(B
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?%G%P%$%9>e$N@\B3:Q$_$N%U%!%$%k%7%9%F%`$N%U%!%$%k%7%9%F%`L>$*$h$S%G%P%$%9=j:_L>$rJQ99$9$k!#(B

    $B%U%!%$%k%7%9%F%`>pJs$rJQ99$9$k$K$O!"(B $B%G%P%$%9$KBP$9$k@\B3%"%/%;%98"!"$*$h$S=q9~$_%"%/%;%98"$,I,MW$H$J$k!#(B

    $B!Z%(%i!<%3!<%I![(B

    ER_ACCES    : $BO@M}%G%P%$%9(B(dev)$B$N%"%/%;%98"(B($B@\B3!"=q9~(B)$B$,$J$$!#(B
    ER_ADR      : $B%"%I%l%9(B(dev,fs_name,fs_locate)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_BUSY     : $BO@M}%G%P%$%9$O4{$K%*!<%W%s$5$l$F$$$k(B
    ER_EXS      : $B;XDj$7$?%U%!%$%k%7%9%F%`L>$N%U%!%$%k%7%9%F%`$O4{$KB8:_$7$F$$$k(B
                  ($B@\B3$5$l$F$$$k(B)$B!#(B
    ER_FNAME    : $B%U%!%$%k%7%9%F%`L>$O6u!"$^$?$OIT@5(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NODEV    : $B%G%P%$%9(B(dev)$B$X$N%"%/%;%9$,$G$-$J$$!#(B
    ER_NOEXS    : $B%G%P%$%9(B(dev)$B$OEPO?$5$l$F$$$J$$!"$^$?$O%V%m%C%/7?%G%P%$%9$G$J$$!#(B
    ER_NOMDA    : $B%G%P%$%9(B(dev)$B$N%a%G%#%"$,B8:_$7$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    ER_RONLY    : $B%U%!%$%k$O=q9~IT2D$G$"$k!"$^$?$OB0$9$k%U%!%$%k%7%9%F%`$O(B
                  $B=q9~IT2D$G$"$k!#(B
    ER_TRON     : TRON$B7A<0$N%U%!%$%k%7%9%F%`$G$O$J$$!#(B
    
    get_nlk
     
    $B%j%s%/$N=g

    $B!Z7A<0![(B

    WERR    get_nlk(LINK *lnk)
    

    $B!Z%Q%i%a!<%?![(B

    LINK    *lnk    $B3+;O%U%!%$%k$N%j%s%/(B ($BF~NO(B)
                    $B
    

    $B!Z%j%?!<%sCM![(B

    $B!f(B0    $B@5>o(B($BH%+%&%s%H(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B;XDj$7$?3+;O%U%!%$%k$N%U%!%$%k(BID$B$h$jBg$-$J%U%!%$%k(BID$B$r;}$D%U%!%$%k$N$&$A:G>.$N%U%!%$%k(BID$B$r;}$D%U%!%$%k$X$N%j%s%/$r

    $B3+;O%U%!%$%k$N%U%!%$%k(BID$B$O

    $BK\%7%9%F%`%3!<%k$K$h$j!"%U%!%$%k%7%9%F%`>e$KB8:_$9$k$9$Y$F$N%U%!%$%k(B($B;2>H%+%&%s%H(B = 0 $B$N%U%!%$%k$b4^$`(B)$B$X$N%j%s%/$r

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(lnk)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
    ER_NOFS     : $B%U%!%$%k(B(lnk)$B$NB0$9$k%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$!#(B
    ER_NOEXS    : $B%U%!%$%k(B(lnk)$B$h$jBg$-$J%U%!%$%k(BID$B$r;}$D%U%!%$%k$OB8:_$7$F$$$J$$!#(B
    ER_NOSPC    : $B%7%9%F%`$N%a%b%jNN0h$,ITB-$7$?!#(B
    
    lst_fls
     
    $B%U%!%$%k%7%9%F%`$N

    $B!Z7A<0![(B

    WERR    lst_fls(F_ATTACH *buff, W cnt)
    

    $B!Z%Q%i%a!<%?![(B

    F_ATTACH *buff    $B%U%!%$%k%7%9%F%`@\B3>pJs$N3JG(B */
                TC  dev[L_DEVNM];       /* $BO@M}%G%P%$%9L>(B */
            } F_ATTACH;
    
    W   cnt $B!d(B 0      $B@\B3$5$l$F$$$kA4$F$N%U%!%$%k%7%9%F%`$N@\B3>pJs$r(B
                      buff $B$K$KBP1~$9$k(B
                      $B%G%P%$%9L>$r(B buff->dev[] $B$K$KBP1~$9$k(B
                      $B@\B3L>$r(B buff->a_name[] $B$K
    
    

    $B!Z%j%?!<%sCM![(B

    $B!a(B1    $B@5>o(B(F_GETDEV, F_FETNAM $B;XDj;~(B)
    $B!f(B0    $B@5>o(B($B@\B3:Q$_$N%U%!%$%k%7%9%F%`?t(B)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B@\B3:Q$_$N%U%!%$%k%7%9%F%`$N@\B3L>$H%G%P%$%9L>$H

    $B@\B3$5$l$F$$$k%U%!%$%k%7%9%F%`$N?t$,;XDj$7$?MWAG?t(B(cnt)$B$h$jB?$$>l9g$O!":G=i$NMWAG?t(B(cnt)$B8D$N$_$r

    $B!Z%(%i!<%3!<%I![(B

    ER_ADR      : $B%"%I%l%9(B(buff)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
    ER_NOFS     : $B%U%!%$%k%7%9%F%`$O@\B3$5$l$F$$$J$$(B(cnt=$B!](B1,$B!](B2$B$N;~(B)$B!#(B
    ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k(B(cnt=0,<$B!](B2)$B!#(B
    
    map_rec
     
    $B%l%3!<%I$N%^%C%W(B

    $B!Z7A<0![(B

    WERR    map_rec(W fd, W offset, B **addr, W size, W mode)
    

    $B!Z%Q%i%a!<%?![(B

    W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B
    
    W   offset  $B%^%C%W3+;O%P%$%H%*%U%;%C%H(B
    
    B   **addr  $B%^%C%W$5$l$?%a%b%j%"%I%l%9$N3JG
    

    $B!Z%j%?!<%sCM![(B

    $B!d(B0    $B@5>o(B($B%^%C%W(BID)
    $B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)
    

    $B!Z2r@b![(B

    $B%*!<%W%s$7$?%U%!%$%k$N8=:_%l%3!<%I$N(B offset $B$+$i(B size $B%P%$%H$r%a%b%j!<6u4V>e$K%^%C%W$9$k!#%^%C%W$5$l$?%l%3!<%I$NFbMF$O%a%b%j!<$H$7$F%"%/%;%9$9$k$3$H$,$G$-$k!#(B

    F_COMMON $B$r;XDj$7$?>l9g$K$O!"6&M-%a%b%j!<6u4V>e$K%^%C%W$5$l$k!#$3$N>l9g!"$9$Y$F$N%W%m%;%9$+$i%"%/%;%92DG=$H$J$k!#(B F_SYSTEM $B$r;XDj$7$?>l9g$K$O!"%7%9%F%`%a%b%j!<6u4V>e$K%^%C%W$5$l$k!#$3$N>l9g!"$9$Y$F$N%7%9%F%`%W%m%;%9$+$i%"%/%;%92DG=$H$J$k!#%^%C%W$7$?%W%m%;%9<+?H$G$"$C$F$b!"0lHL$N%"%W%j%1!<%7%g%s%W%m%;%9$+$i$O%"%/%;%9$G$-$J$$!#$7$?$,$C$F!"%"%W%j%1!<%7%g%s%W%m%;%9$+$i$O$3$N;XDj$r;HMQ$9$Y$-$G$O$J$$!#(B F_COMMON,F_SYSTEM $B$N$$$:$l$b;XDj$7$J$1$l$P!"%^%C%W$7$?%W%m%;%9$N%m!<%+%k%a%b%j!<6u4V>e$K%^%C%W$5$l$k!#$3$N>l9g!"%^%C%W$7$?%W%m%;%90J30$+$i%"%/%;%9$9$k$3$H$O=PMh$J$$!#(B

    $B%^%C%W$5$l$k%"%I%l%9$O%7%9%F%`$G7hDj$5$l!"%"%W%j%1!<%7%g%sB&$+$i;XDj$9$k$3$H$O$G$-$J$$!#(B

    $B%^%C%W%b!<%I$N;XDj$O%*!<%W%s$7$?%b!<%I$KL7=b$7$F$O$$$1$J$$!#(B(ER_FD)

    • F_READ $B%*!<%W%s$G$O!"(BF_WRITE $B$G%^%C%W$G$-$J$$!#(B
    • F_WRITE $B%*!<%W%s$G$O!"(BF_READ $B$*$h$S(B F_EXCUTE $B$G%^%C%W$G$-$J$$!#(B

    $B%j%s%/%l%3!<%I$O%^%C%W$G$-$J$$!#(B(ER_REC)

    $B%^%C%WCf$O!"

  • del_rec $B%^%C%W$7$F$$$k%l%3!<%I$rBP>]$H$9$k>l9g!#(B
  • wri_rec $B%^%C%W$7$F$$$k%l%3!<%I$rBP>]$H$9$k>l9g!#(B
  • trc_rec $B%^%C%W$7$F$$$k%l%3!<%I$rBP>]$H$9$k>l9g!#(B
  • xch_fil $B%^%C%W$7$F$$$k%l%3!<%I$r4^$`%U%!%$%k$rBP>]$H$9$k>l9g!#(B

$B%$%s%W%j%a%s%H$K0MB8$7$F0J2<$N@)8B$,$D$1$i$l$k>l9g$,$"$k!#(B

  • $B%^%C%W2DG=$J%U%!%$%k%7%9%F%`(B($B%G%P%$%9(B)
  • $B%^%C%W%b!<%I$NAH$_9g$o$;(B
  • offset$B!"$*$h$S(B size $B$NCM(B

$B!Z%(%i!<%3!<%I![(B

ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
            : $B%^%C%W%b!<%I$H%*!<%W%s%b!<%I$,L7=b$7$F$$$k!#(B
ER_REC      : $B8=:_%l%3!<%I$O%j%s%/%l%3!<%I$G$"$k!#(B
ER_ADR      : $B%"%I%l%9(B(addr)$B$N%"%/%;%9$O5v$5$l$F$$$J$$!#(B
ER_ENDR     : $B8=:_%l%3!<%I$O=*C<%l%3!<%I$G$"$k!#(B
ER_LOCK     : $B8=:_%l%3!<%I$OB>$+$i%m%C%/$5$l$F$$$k!#(B
ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k!#(B
ER_NOSPT    : $B%7%9%F%`$N@)8B$K$h$j%^%C%W$G$-$J$$!#(B
ump_rec
 
$B%l%3!<%I$N%"%s%^%C%W(B

$B!Z7A<0![(B

ERR ump_rec(W fd, W mapid)

$B!Z%Q%i%a!<%?![(B

W   fd      $B%U%!%$%k%G%#%9%/%j%W%?(B

W   mapid   $B%^%C%W(BID

$B!Z%j%?!<%sCM![(B

$B!a(B0    $B@5>o(B
$B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)

$B!Z2r@b![(B

$B%*!<%W%s$7$F$$$k%U%!%$%k$N%^%C%W(BID$B$G;XDj$7$?%^%C%W$r2r=|$9$k!#(B $B%U%!%$%k$N%/%m!<%:;~$K$O%*!<%W%s$7$?%W%m%;%9$G@_Dj$7$?%^%C%W$O2r=|$5$l$k!#(B

$B!Z%(%i!<%3!<%I![(B

ER_FD       : $B%U%!%$%k%G%#%9%/%j%W%?$OB8:_$7$F$$$J$$!#(B
ER_NOEXS    : $B%^%C%W(BID$B$OB8:_$7$F$$$J$$!#(B
ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
chg_fsm
 
$B%U%!%$%k%7%9%F%`@\B3%b!<%I$NJQ99(B

$B!Z7A<0![(B

WERR    chg_fsm( TC *dev, UW mode )

$B!Z%Q%i%a!<%?![(B

TC  *dev    $BO@M}%G%P%$%9L>(B

UW  mode    $B@\B3%b!<%I(B (att_fls $B$N(B mode $B$HF1$8(B)
            ( FS_SYNC $B!B(B FS_ASYN $B!B(B FS_RONLY )
            FS_SYNC     $BF14|(B
            FS_ASYN     $BHsF14|(B
            FS_RONLY    $B=q$-9~$_6X;_(B

$B!Z%j%?!<%sCM![(B

$B!f(B0    $B@5>o(B($BJQ99A0$N@\B3%b!<%I(B)
$B!c(B0    $B%(%i!<(B($B%(%i!<%3!<%I(B)

$B!Z2r@b![(B

dev $B$N%G%P%$%9$N@\B3>uBV$r(B mode $B$G;XDj$7$?@\B3%b!<%I$KJQ99$9$k!#(B dev $B$O$9$G$K@\B3$5$l$F$$$k%G%P%$%9$G$J$1$l$P$J$i$J$$!#(B $B%j%?!<%sCM$KJQ99A0$N@\B3%b!<%I$rJV$9!#(B

$B@\B3%b!<%I$rJQ99$9$k$?$a$K$O!"(Bdev $B$KBP$9$k@\B3%"%/%;%98"$,I,MW$G$"$k!#(B

$B@\B3%b!<%IJQ99A0$,=q$-9~$_2D$G$"$C$?>l9g!"=q$-9~$_6X;_$KJQ99$7$F$bJQ99A0$K9T$o$l$?(B map_rec() $B$K$h$k=q$-9~$_%b!<%I$N%l%3!<%I%^%C%W$O$=$N$^$^M-8z$H$J$j!"=q$-9~$_$b9T$o$l$k!#(B F_WRITE $B$^$?$O(B F_UPDATE $B$G%*!<%W%s$7$F$$$k%U%!%$%k$,$"$k$H$-!"@\B3%b!<%I$r=q$-9~$_6X;_$K$9$k$H!"$=$N%U%!%$%k$KBP$9$k(B wri_rec() $BEy$N=q$-9~$_$,(B ER_RONLY $B$H$J$k!#(B

$B!Z%(%i!<%3!<%I![(B

ER_ACCES    : $BO@M}%G%P%$%9(B(dev)$B$K@\B3%"%/%;%98"$,$J$$!#(B
ER_ADR      : $B%"%I%l%9(B(dev)$B$N%"%/%;%9$,5v$5$l$F$$$J$$!#(B
ER_IO       : $BF~=PNO%(%i!<$,H/@8$7$?!#(B
ER_PAR      : $B%Q%i%a!<%?$,IT@5$G$"$k!#(B
ER_NOFS     : $BO@M}%G%P%$%9(B(dev)$B$O!"%U%!%$%k%7%9%F%`$H$7$F@\B3$5$l$F$$$J$$!#(B

$B$3$N>O$NL\
$BA0JG(B:1.5 $B%a%b%j4IM}$K$b$I$k(B
$B