$B$3$N>O$NL\
$BA0JG(B:2.17 $B2hA|7A<0JQ49%i%$%V%i%j$K$b$I$k(B
$B

2.18 $B$=$NB>(B

itostr
 
$B@0?t$NJ8;zNsJQ49(B

$B!Z7A<0![(B

TC* itostr(TC *s, W v, W n)

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

TC  *s  $B7k2L$r3JG<$9$kNN0h(B
W   v   $BCM(B
W   n   $B7e?t(B

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

$B!b(B NULL      $B:G8e$NJ8;z$N

$B!Z2r@b![(B

v $B$G;XDj$7$?@0?tCM$rJ8;zNs(B($B?tCM(B)$B$KJQ49$7$F!"(B s $B$G;XDj$7$?NN0h$K3JG<$9$k!#(B

n $B!b(B 0$B$N>l9g(B
n $B7e$N?tCM$H$7$F3JG<$5$l!"(B $BA0$K6uGr$,5M$a$i$l$k!#:G8e$K(B TNULL $B$O3JG<$5$l$J$$!#(B
n $B!a(B 0$B$N>l9g(B
$BA05M$a$KJ8;zNs$,3JG<$5$l!"(B $B:G8e$K(B TNULL $B$,3JG<$5$l$k!#(B

s $B$d(B v $B$N;XDj$,ITE,Ev$J>l9g$NF0:n$OITDj$G$"$k!#(B

datetostr
 
$B;~9o$NJ8;zNsJQ49(B

$B!Z7A<0![(B

VOID    datetostr(TC *s, W time)

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

TC  *s      $B7k2L$r3JG<$9$kNN0h$X$N%]%$%s%?(B
W   time    $B;~9o(B

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

$B$J$7(B

$B!Z2r@b![(B

time $B$G;XDj$7$?F|;~$r(B TRON $BJ8;zNs$KJQ49$7$F!"(B s $B$G;XDj$7$?NN0h$K!"(B

 "YY/MM/DD HH:MM:SS"
$B$N7A<0$G3JG<$9$k!#(B
$B:G8e$K$O(B TNULL $B$r3JG<$9$kI,MW$,$"$k!#(B

cnvpath
 
$B%U%!%$%k%Q%9FC

$B!Z7A<0![(B

TC* cnvpath(TC *name)

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

TC  *name   $B%Q%9L>$X$N%]%$%s%?(B

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

$B!a(B name      $BJQ498e%U%!%$%k%Q%9J8;zNs$X$N%]%$%s%?(B
$B!a(B NULL      $BJQ49ITG=(B

$B!Z2r@b![(B

name $B$O%Q%9L>$X$N%]%$%s%?$G$"$j!"(B *name $BCf$N(B '/', ':', '=' $B$r%U%!%$%k%Q%9FC
shadowrect_frame
 
$B1FIU$-D9J}7A$NIA2h(B

$B!Z7A<0![(B

VOID    shadowrect_frame(W gid, RECT r, PAT *pat, W width, W shadow)

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

W       gid     $BIA2h4D6-(BID
RECT    r       $BD9J}7A$N:BI8(B
PAT     *pat    $BIA2h%Q%?!<%s(B
W       width   $BD9J}7AOH$NI}(B
W       shadow  $B1F$NI}(B

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

$B$J$7(B

$B!Z2r@b![(B

$B1&2
bmalloc
 
$B%S%C%H%^%C%W$N%W%l!<%sNN0h3MF@(B

$B!Z7A<0![(B

W   bmalloc(BMP *bmp)

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

BMP *bmp    $B%S%C%H%^%C%W(B

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

0            $B3MF@$G$-$?>l9g(B
ER_NOMEM     $B%a%b%j$,3MF@$G$-$J$$(B

$B!Z2r@b![(B

bmp $B$G;XDj$7$?%S%C%H%^%C%W$N%W%l!<%s$NNN0h$r%m!<%+%k%a%b%j$+$i3MF@$7!"(B bmp->baseaddr[] $B$K@_Dj$9$k!#(B bmp $B$N(B rowbytes $B$bF1;~$K@_Dj$5$l$k!#(B $B%a%b%j$,3MF@$G$-$J$$>l9g$O!"(BER_NOMEM $B$rLa$7!"(B $B@5>o;~$O(B 0 $B$rLa$9!#(B

bfree
 
$B%S%C%H%^%C%W$N%W%l!<%sNN0h2rJ|(B

$B!Z7A<0![(B

VOID    bfree(BMP *bmp)

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

BMP *bmp    $B%S%C%H%^%C%W(B

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

$B$J$7(B

$B!Z2r@b![(B

bmalloc() $B$G3MF@$7$?%S%C%H%^%C%W$N%W%l!<%sNN0h$r2rJ|$9$k!#(B

bexecv
 
$B30It%W%m%0%i%`

$B!Z7A<0![(B

WERR    bexecv( TC *name, TC *argv[] )

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

TC  *name   $B%W%m%0%i%`%Q%9L>(B
TC  *argv[] $B%W%m%0%i%`0z?t(B

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

$B%W%m%0%i%`$N=*N;%3!<%I(B

$B!Z2r@b![(B

name $B$G;XDj$5$l$?%Q%9L>$N%W%m%0%i%`$K!"(B argv $B$G;XDj$7$?0z?t$rEO$7$F$O!"@dBP%Q%9L>$^$?$O8=:_$N:n6H%U%!%$%k$+$i$NAjBP%Q%9L>$H$9$k!#(B

$B%W%m%0%i%`$N=*N;$rBT$A!"=*N;%3!<%I$r%j%?!<%sCM$H$7$FJV$9!#(B $B0[>o=*N;(B ( MS_ABORT ) / $B@5>o=*N;(B ( MS_EXIT ) / $B6/@)=*N;(B ( MS_TERM ) $B$N$$$:$l$+$N%a%C%;!<%8$r
reboot
 
$B%7%9%F%`:F5/F0(B

$B!Z7A<0![(B

W   reboot( W mode )

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

W   mode    $B:F5/F0%b!<%I(B

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

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

$B!Z2r@b![(B

$B%7%9%F%`A4BN$r:F5/F0$9$k!#(Bmode=0 $B$N>l9g$O!"(B $B%Q%M%k$,I=<($5$l$F3+$$$F$$$k%&%#%s%I%&$N99?7(B/$BGQ4~$rA*Br$7!"(B $B:F5/F0$9$k!#(Bmode=1 $B$N>l9g$OL5>r7o$KGQ4~$7$F=*N;$9$k!#(B $B@5>o$K:F5/F0$G$-$?>l9g$O8F$S$@$785$K$O%j%?!<%s$7$J$$$,!"(B $B:F5/F0$K<:GT$7$?>l9g$O%(%i!<%3!<%I$,JV$k!#(B
$B8F$S$@$785%W%m%;%9$N%Q%M%k!&%&%#%s%I%&$,3+$$$F$$$k>uBV$G8F$s$G$O$J$i$J$$(B ( $B8F$s$@>l9g$O%G%C%I%m%C%/$H$J$k(B )$B!#(B $B$^$?!"(Bmode=0$B$N>l9g$G!"(B $B%?%$%`%"%&%H(B / $B5qH]1~Ez$N>l9g$O%(%i!<%3!<%I$H$7$F(B 0 $B$,JV$k!#(B

cre_tagpnl
 
$B8+=P$7%Q%M%k$N@8@.(B

$B!Z7A<0![(B

ERR cre_tagpnl( ID wid, W ntags, TC *name[], RECT *frame, 
                RECT *inner, PAT *frpat, PAT *inpat, VOID **tagpnl )

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

ID      wid $B%&%#%s%I%&(BID
W       ntags   $B8+=P$7$N?t(B
TC      *name[] $B8+=P$7L>$X$N%]%$%s%?G[Ns(B (NULL $B$OL5;k(B)
RECT    *frame  $BA4BNNN0h(B
RECT    *inner  $BFbItNN0h(B
PAT     *frpat  $B30ItNN0hGX7J%Q%?!<%s$X$N%]%$%s%?(B
PAT     *inpat  $BFbItNN0hGX7J%Q%?!<%s$X$N%]%$%s%?(B
VOID    *tagpnl $B8+=P$7%Q%M%k%]%$%s%?(B

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

$B!a(B 0 (ER_OK) $B@5>o=*N;(B
$B!c(B 0        $B%(%i!<(B  ($B4X?tCM$O%(%i!<%3!<%I(B)

$B!Z2r@b![(B

$BM?$($i$l$?%Q%i%a!<%?$K$7$?$,$C$F8+=P$7%Q%M%k$r@8@.$9$k!#(B

$B8+=P$7%Q%M%k$N@8@[email protected]$7$?>l9g$O!"(B *tagpnl $B$K8+=P$7%Q%M%k4IM}NN0h$X$N%]%$%s%?$,3JG<$5$l$k!#(B $B0J9_$N8+=P$7%Q%M%k$NA`:n$O!"(B*tagpnl $B$r;HMQ$7$F$*$3$J$&!#(B

$B8+=P$7%Q%M%k@[email protected]$b!"(Bname, frpat, ipat$B$O;2>H$5$l$k$?$a!"NN0h$rJ];}$7$J$1$l$P$J$i$J$$!#(B

$B$^$?!"8+=P$7%Q%M%k$OC1=c$K!V8+=P$7$N$D$$$?%Q%M%k!W$r@8@.$9$k$b$N$G$"$C$F!"(B $B%Q%M%kFb$K%Q!<%D$J$IEPO?$7$F<+F0E*$KA`:n$9$k$b$N$G$O$J$$!#(B
$B$=$N$?$a!"%Q%M%kFb$K%Q!<%D$J$I$rI=<(!&l9g$O!"(B $B%"%W%j%1!<%7%g%s$NB&$G3F%Q%M%k!J%Z!<%8!KKh$K;HMQ$9$k%Q!<%D$rEPO?!&I=<(!&
frpat, inpat $B$H$7$F!"(BNULL $B$r;XDj$7$?>l9g!"I8=`$N%Q%?!<%s$,;HMQ$5$l$k!#$^$?!"%&%#%s%I%&>pJs%l%3!<%I$N=$>~9`L\(B (WI_XXXX) $B$r%Q%?!<%s$H$7$FD>@\;XDj$9$k$3$H$,$G$-$k!#(B

del_tagpnl
 
$B8+=P$7%Q%M%k$N:o=|(B

$B!Z7A<0![(B

VOID    del_tagpnl( VOID* tagpnl )

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

VOID*   tagpnl  $B8+=P$7%Q%M%k%]%$%s%?(B

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

$B$J$7(B

$B!Z2r@b![(B

tagpnl$B$G;XDj$5$l$?8+=P$7%Q%M%k$r:o=|$9$k!#(B $B0J9_$O!"(Btagpnl $B$K$h$k8+=P$7%Q%M%k$NA`:n$r$*$3$J$C$F$O$J$i$J$$!#(B

$B$^$?!"%Q%M%kFb$KI=<($5$l$k$h$&$K!"(B $B%&%#%s%I%&$K%Q!<%D$rEPO?$7$F$$$?>l9g$O!"(B $B%"%W%j%1!<%7%g%s$NB&$G$=$l$i$N%Q!<%D$r:o=|$7$J$1$l$P$J$i$J$$!#(B

dsp_tagpnl
 
$B8+=P$7%Q%M%k$NI=<((B

$B!Z7A<0![(B

VOID    dsp_tagpnl( VOID* tagpnl, RECT *rp )

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

VOID    *tagpnl $B8+=P$7%Q%M%k%]%$%s%?(B
RECT    *rp     $BI=<($9$kNN0h(B

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

$B$J$7(B

$B!Z2r@b![(B

tagpnl$B$G;XDj$5$l$?8+=P$7%Q%M%k$NI=<($r$*$3$J$&!#(B rp $B$NHO0O$N$_$,IA2h$5$l!"(B $B8+=P$7%Q%M%k$NFbItNN0h$O!"(B $BFbItNN0hGX7J$GEI$j$D$V$5$l$k!#(B
$B$=$N$?$a!"%Q%M%k$NNN0hFb$K%Q!<%D$J$I$rI=<($7$F$$$?>l9g$O!"(B $B$=$l$i%Q!<%DN`$N:FI=<($O%"%W%j%1!<%7%g%s$NB&$G9T$o$J$1$l$P$J$i$J$$!#(B
rp$B$O(BNULL$B$G$"$C$F$O$J$i$J$$!#(B

inact_tagpnl
 
$B8+=P$7%Q%M%k$NITG=>uBV$N@_Dj(B

$B!Z7A<0![(B

VOID    inact_tagpnl( VOID *tagpnl, UW inact )

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

VOID    *tagpnl $B8+=P$7%Q%M%k%]%$%s%?(B
UW      inact   $BITG=>uBV%U%i%0(B

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

$B$J$7(B

$B!Z2r@b![(B

tagpnl $B$G;XDj$5$l$?8+=P$7%Q%M%k$KBP$7$F!"(B $BITG=>uBV$N@_Dj$r$*$3$J$&!#(Binact $B$N:G2<0L%S%C%H$,8+=P$7HV9f(B 1 $B$K!"(B $B:G>e0L%S%C%H$,8+=P$7HV9f(B 32 $B$KBP1~$7!"(B $B%S%C%H$r%;%C%H$9$k$3$H$GITG=>uBV$H$J$k!#(B
$BI,MW$K1~$8$F8+=P$7%Q%M%k$N:FI=<($,$*$3$J$o$l$k!#(B

num_tagpnl
 
$B8+=P$7%Q%M%k$NA*Br8+=P$7HV9f$N

$B!Z7A<0![(B

W   num_tagpnl( VOID* tagpnl )

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

VOID*   tagpnl  $B8+=P$7%Q%M%k%]%$%s%?(B

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

$B!f(B 0(ER_OK) $B@5>o=*N;(B($B4X?tCM$O8+=P$7HV9f(B:1$B!A(B)
$B!c(B 0        $B%(%i!<(B  ($B4X?tCM$O%(%i!<%3!<%I(B)

$B!Z2r@b![(B

tagpnl $B$G;XDj$5$l$?8+=P$7%Q%M%k$N!"(B $B8=:_$NA*Br8+=P$7HV9f$r4X?tCM$H$7$FJV$9!#(B

sw_tagpnl
 
$B8+=P$7%Q%M%k$N@Z$jBX$((B

$B!Z7A<0![(B

W   sw_tagpnl( VOID *tagpnl, W num, RECT* dspr )

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

VOID    *tagpnl $B8+=P$7%Q%M%k%]%$%s%?(B
W       num     $B@Z$jBX$($k8+=P$7HV9f(B(1$B!A(B)
RECT    *dspr   $B:FI=<($,I,MW$JNN0h(B

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

$B!a(B 0 (ER_OK)    $B@5>o=*N;(B(0:$B@Z$jBX$($J$7(B 1$B!A(B;$B@Z$jBX$($?HV9f(B)
$B!c(B 0            $B%(%i!<(B  ($B4X?tCM$O%(%i!<%3!<%I(B)

$B!Z2r@b![(B

tagpnl $B$G;XDj$5$l$?8+=P$7%Q%M%k$K$D$$$F!"(B num$B$G;XDj$5$l$k8+=P$7$rA*Br>uBV$H$7!"(B $B:FI=<($,I,MW$JNN0h$r(B dspr $B$K3JG<$9$k!#(B dspr $B$O(B NULL $B$G$"$C$F$O$J$i$J$$!#(B
$B8+=P$7%Q%M%k$N:FI=<($O$*$3$J$o$l$J$$$?$a!"(B $B%"%W%j%1!<%7%g%s$NB&$G(B dsp_tagpnl() $B$r $B$^$?!"%Q%M%kFb$K%Q!<%D$J$I$rI=<($7$?$$>l9g$O!"(B dsp_tagpnl() $Bl9g$O!"(B $B8+=P$7HV9f$r@Z$jBX$($kKh$K!"(B $B0JA0$N%Z!<%8$G;HMQ$7$F$$$?%Q!<%D$r:o=|$7$J$1$l$P$J$i$J$$>l9g$b$"$k(B)$B!#(B

pres_tagpnl
 
$B8+=P$7%Q%M%k$N%W%l%9%$%Y%s%H=hM}(B

$B!Z7A<0![(B

W   pres_tagpnl( VOID *tagpnl, WEVENT *wevt )

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

VOID    *tagpnl $B8+=P$7%Q%M%k%]%$%s%?(B
WEVENT  *wevt   $B%$%Y%s%HNN0h$X$N%]%$%s%?(B

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

$B!a(B 0 (ER_OK) $B@5>o=*N;(B(0:$B@Z$jBX$($J$7(B 1$B!A(B:$BA*Br$5$l$?HV9f(B)
$B!c(B 0         $B%(%i!<(B  ($B4X?tCM$O%(%i!<%3!<%I(B -1:$B8+=P$70J30$N%W%l%9(B)

$B!Z2r@b![(B

tagpnl $B$G;XDj$5$l$?8+=P$7%Q%M%k$K$D$$$F!"(B wevt $B$G;XDj$5$l$?%W%l%9%$%Y%s%H$N=hM}$r$*$3$J$&!#(B wevt $B$G;XDj$5$l$?%$%Y%s%H$,8+=P$70J30$r;X$7$F$$$k>l9g$d!"(B $B$=$N8+=P$7$,ITG=>uBV$G$"$k>l9g$O!"(B $B4X?tCM$H$7$F(B -1 $B$,JV$k!#(B
$B%W%l%9$5$l$F$$$k4V!"(B $B%W%l%9;~$N8+=P$7>e$K%]%$%s%?$,$"$l$P8+=P$7$rH?E>I=<($H$7!"(B $B%$%Y%s%H$rl9g(B ( $BL58z$J%W%l%9$@$C$?>l9g(B ) $B$O!"(B $B4X?tCM$H$7$F(B 0 $B$,JV$k!#(B $B%W%l%9;~$N8+=P$7>e$G%j%j!<%9$5$l$?>l9g(B ( $BM-8z$J%W%l%9$@$C$?>l9g(B ) $B$O!"(B $B$=$N8+=P$7$NHV9f$r4X?tCM$H$7$FJV$9!#(B $B$$$:$l$N>l9g$b!"(B $B=*N;$N7@5!$H$J$C$?%$%Y%s%H$,(B wevt $B$K3JG<$5$l$k!#(B
$B8+=P$7%Q%M%k$Nsw_tagpnl() $B$*$h$S(B dsp_tagpnl() $B$r $B$3$N>O$NL\
$BA0JG(B:2.17 $B2hA|7A<0JQ49%i%$%V%i%j$K$b$I$k(B
$B