NAME
    vpu_file - vpu $B%U%!%$%k$r07$&(B API

SYNOPSIS
    #include "vpu_file.h"


ESCRIPTION
	vpu_file $B$O(B $B%j%s%+%9%/%j%W%H(B  vpu.cmd $B$G@8@.$5$l$?(B 
	vpu $B$N(B elf $B%U%!%$%k$r07$&(B API $B$rDs6!$7$^$9(B. 

  $B4X?t(B

    VPUFILE * vpuobj_open(char * file, unsigned int opt);
	file $B$G;XDj$5$l$?(B $B%U%!%$%k$N(B text ($B%;%/%7%g%sL>(B ".vutext"), 
	data ($B%;%/%7%g%sL>(B ".vudata") $B$r(B mmap(2) $B$9$k(B. $B%7%s%\%k>pJs(B
	$B$bFI$_9~$^$l$^$9(B. $BLa$jCM$O(B VPU$B%U%!%$%k%G%#%9%/%j%W%?(B
	(VPUFILE *) $B$G$9(B. opt $B$K(B O_TEXT_PS2MEM $B$r;XDj$9$k$H(B text $BNN(B
	$B0h$O(B, ps2mem(4)$B$r(B mmap(2)$B$9$k$3$H$G3NJ]$5$l$^$9(B.
	O_DATA_PS2MEM $B$rF1$8$3$H$r(B data $BNN0h$KBP$7$F9T$&$3$H$r0UL#$7(B
	$B$^$9(B. $B$3$l$i$N%U%i%0$OF1;~$K;XDj$9$k$3$H$,=PMh$^$9(B. 

	$B%j%s%+%9%/%j%W%H$H$7$F(B vpu.cmd $B$r;H$$(B, text, data $B$H$b(B $B3+;O(B
	$BHVCO$r(B 0 $B$H$7$F(B $B%j%s%/$5$l$F(B, $B%j%m%1!<%7%g%s$,2r7h:Q$G$"$k;v(B
	$B$rA0Ds$K$7$F$*$j(B, vpu_open() $B$O%j%m%1!<%7%g%s$K4X$7$F$O$J$K(B
	$B$b$7$^$;$s(B.  

	$B%7%s%\%k>pJs$O(B, map$B$5$l$?>uBV$G$N>l=j$r<($9$h$&$K3+;O0LCV$N(B
	$BCM$,2C;;$5$l$^$9(B. 

    void vpuobj_close(VPUFILE * f);
	VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B vpu $B%*%V%8%'%/%H%U%!(B
	$B%$%k$K4X$9$k;q8;$r3+J|$7$^$9(B. 


    int vpuobj_text(VPUFILE *f, void **start, int *size);
	VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B $B%U%!%$%k$N%F%-%9%H$N(B
	$BNN0h(B($B3+;O0LCV(B void *start, $B%5%$%:(Bint size)$B$rF@$^$9(B 

    int vpuobj_data(VPUFILE *f, void **start, int *size);
	VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B $B%U%!%$%k$N%G!<%?$NNN(B
	$B0h(B($B3+;O0LCV(B void *start, $B%5%$%:(Bint size)$B$rF@$^$9(B


    int vpuobj_symbol_nr(VPUFILE *f);
	VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B $B%U%!%$%k(B $B$K4^$^$l$k%0(B
	$B%m!<%P%k(B $B%7%s%\%k?t$rF@$^$9(B

    int vpuobj_symbol(VPUFILE *f, int index, char **name,
                        unsigned long *val, int *section);
	VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B $B%U%!%$%k(B $B$K4^$^$l$k(B
	n$BHVL\$N%7%s%\%k$NL>A0$HCM$H=jB0$9$k%;%/%7%g%s$rF@$^$9(B
		section == 0 $B$O(B text $B$r(B
		section == 1 $B$O(B data $B$rI=$7$^$9(B

    int vpuobj_symbol_by_name(VPUFILE *f, char *name,
                        unsigned long *val, int *section);
	$B%7%s%\%kL>$+$i(B, VPU$B%U%!%$%k%G%#%9%/%j%W%?(Bf$B$G;XDj$5$l$?(B $B%U%!(B
	$B%$%k(B $B$K4^$^$l$k%7%s%\%k$N(B $BCM$H=jB0$9$k%;%/%7%g%s$rF@$^$9(B
		section == 0 $B$O(B text $B$r(B
		section == 1 $B$O(B data $B$rI=$7$^$9(B

  $BJQ?t@k8@(B

    IMPORT_VPU_SYMBOL(symbol, char *file)
	$BJQ?t$N%$%s%]!<%H$r9T$$$^$9(B. 
	$B%W%m%0%i%`(B $BB&$G$3$N%^%/%m$r;H$$JQ?t$r@k8@$9$k$H(B, dvp_open() 
        $B$7$?;~$K(B, $B%^%C%A$9$k(B var$B$NCM$,=i4|2=$5$l$^$9(B. 
	file $B$r(B 0 $B$K$9$k$H(B dvp_open $B$9$k%U%#%$%kL>$K4X78$J$/8!:w(B
	$B$5$l$^$9(B. var $B$O(B void * $B$H$7$F@k8@$5$l$^$9(B.  

	vpu_file $B$HF1$8(B shared object $BFb$G$7$+MxMQ$G$-$^$;$s(B. 


