関数一覧

#include "d3m.hsp"

mref hspctx, 68
dupptr hsphed, hspctx.0, 96 // hspctx.hsphed / sizeof HSPHED

ds_ptr = lpeek( hspctx, 12 ) // hspctx.mem_mds
max_ds = lpeek( hsphed, 28 ) // hsphed.max_ds
dupptr ds, ds_ptr, max_ds

linfo_ptr = lpeek( hspctx, 832 ) // hspctx.mem_linfo
max_linfo = lpeek( hsphed, 52 ) // hsphed.max_linfo
dupptr linfo, linfo_ptr, max_linfo

finfo_ptr = lpeek( hspctx, 840 ) // hspctx.mem_finfo
max_finfo = lpeek( hsphed, 60 ) // hsphed.max_finfo
dupptr finfo, finfo_ptr, max_finfo

minfo_ptr = lpeek( hspctx, 836 ) // hspctx.mem_minfo
max_minfo = lpeek( hsphed, 68 ) // hsphed.max_minfo
dupptr minfo, minfo_ptr, max_minfo

mes "* LINFO"
for i, 0, max_linfo, 16 // sizeof LIBDAT == 16
	flag = lpeek( linfo, i + 0 )
	nameidx = lpeek( linfo, i + 4 )
	hlib = lpeek( linfo, i + 8 )
	clsid = lpeek( linfo, i + 12 )

	;mes "flag = " + flag
	mes strf( "name = %s", ds_ptr + nameidx )
	;mes "hlib = " + hlib
	;mes "clsid = " + clsid
next

mes "* FINFO"
for i, 0, max_finfo, 28 // sizeof STRUCTDAT == 28
	index = wpeek( finfo, i + 0 )
	subid = wpeek( finfo, i + 2 )
	prmindex = lpeek( finfo, i + 4 )
	prmmax = lpeek( finfo, i + 8 )
	nameidx = lpeek( finfo, i + 12 )
	size = lpeek( finfo, i + 16 )
	otindex = lpeek( finfo, i + 20 )
	proc = lpeek( finfo, i + 24 )
	funcflag = proc
	mes strf( "name = %s", ds_ptr + nameidx )
next

;mes "* MINFO"
for i, 0, max_minfo, 8 // sizeof STRUCTPRM == 8
	mptype = wpeek( minfo, i + 0 )
	subid = wpeek( minfo, i + 2 )
	offset = lpeek( minfo, i + 4 )
	;mes "mptype = " + mptype
	;mes "subid = " + subid
	;mes "offset = " + offset
next

うーん。