1: 2003-09-21 (日) 21:58:03 [6] | 2: 2003-10-24 (金) 07:33:00 [7] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | * ファイル関係 | + | * ファイル関係 [[GUIGUI00_man]] |
+ | #contents | ||
***lib_readCSd | ***lib_readCSd | ||
int lib_readCSd(int offset) : | int lib_readCSd(int offset) : | ||
Line 15: | Line 17: | ||
offset = 0x0014 : この値の上位20bitは、file:で指定した値が書き込まれている | offset = 0x0014 : この値の上位20bitは、file:で指定した値が書き込まれている | ||
。下位12bitはリザーブなので、その値に依存しないようにすること。file:は4KB | 。下位12bitはリザーブなので、その値に依存しないようにすること。file:は4KB | ||
- | 単位で指定するに | + | 単位で指定するので、上位20bitだけで指定できる。 |
- | 参甲佑靴暮廛挙縫恚:tviewc00d(inroc), test016 | + | |
+ | 参考になるサンプル:tviewc00(introc), test016 | ||
+ | |||
+ | ***lib_initmodulehandle0 | ||
+ | void lib_initmodulehandle0(int opt, int slot) : | ||
+ | |||
+ | 機能: スロットをモジュールハンドルとして初期化し,アプリ専用ディレクトリに移動。 | ||
+ | |||
+ | opt == 8 だとユーザディレクトリ、opt == 12 だとマシンディレクトリに移動する。 | ||
+ | 現状ではどちらも同じに見えるが、マシンディレクトリだと全ユーザ共通となる。 | ||
+ | モジュールハンドルはスロットを一つ使う。 | ||
+ | たいていの場合、lib_steppath0()と組み合わせて使われる。 | ||
+ | |||
+ | 参考になるサンプル:test016 | ||
+ | |||
+ | ***lib_initmodulehandle1 | ||
+ | void lib_initmodulehandle1(int slot, int num, int sig) : | ||
+ | |||
+ | 機能: スロットをモジュールハンドルとして初期化し、どこのディレクトリに移動 | ||
+ | するかはシェル (人間) に任せる。 | ||
- | ***libinitmodulehandle0 | + | モジュールハンドルはスロットを一つ使う。 |
- | void *libinitmodulehandle0d(int pt, | + | numは番号で、コマンドラインから制御するために機能別に通し番号をふる。 |
- | intsloet) : | + | sigは成功シグナル。成功した場合はsigが、失敗した場合はsig+1~sig+15の |
+ | シグナルが来る。どれがどんなエラーを示すかは未定。 | ||
+ | 成功か失敗のシグナルが返ってくるまで、このコマンドを再実行してはいけない。 | ||
- | 機?+ ス蹌ッ蛤を皀献絛ー襯狼麕疋襪避しの初期化掘ぅ∨プ蠕賤僖覇ィ戝ク肇衢に榮愛。 | + | ネタ元: introc/tviewc00.c |
- | pt == 8 現状 鰲ジュ供朱ハ挙防ルは ス蹌ッ蛤ぐ譴眺使う。 | + | ***lib_steppath0 |
- | 進いてい両豺隋?libsteppath0() | + | void lib_steppath0(int opt, int slot, const char *name, int sig) : |
- | 参甲佑靴暮廛挙縫恚:test016 | + | |
- | ***libinitmodulehandle1 | + | 機能:パスをたどることで、モジュールハンドルを移動。 |
- | void *libinitmodulehandle1( intsloe, | + | |
- | intnum, | + | |
- | intsigt) : | + | |
- | 機?+ ス蹌ッ蛤を皀献絛ー襯狼麕疋襪避しの初期化掘△匹こに覇ィ戝ク肇衢に榮闇 | + | このコマンドを使う前にスロットをモジュールハンドルに初期化して適当な |
- | する? 轡Д (人間) に任泙視Α | + | ディレクトリに移動させておくこと。そのディレクトリの中を検索する。 |
- | 鰲ジュ供朱ハ挙防ルは ス蹌ッ蛤ぐ譴眺使う。 | + | (1) opt == 0 |
- | tnumは番号砲 tsigは成功 轡阿ナう\?しぞ豺腓?igい?失敗蠅靴場合はsig+1~sig+15の | + | name : モジュールネーム。 |
- | 魴グぅ覆が来垢Αどれがどんなエラーを示箸巷は未定Α | + | 必ず大文字で、12文字。9文字目はピリオドでなければならない。12文字に満 |
- | t成功蟀失敗衫魴グぅ覆が鯤屬辰働垢諳里如△海乏マン防を再実行鬚靴討呂い韻覆Α | + | たない場合、スペースで補う。例:"TEST016 .C " |
+ | sig : 完了シグナル。 | ||
+ | 成功の場合はこの値が返ってくる。失敗の場合は+1~+15された値が返ってく | ||
+ | る。値と失敗の原因についての関係は今のところ未定。 | ||
- | ネタ元: (inroc/tviewc00.c | + | 参考になるサンプル:test016 |
- | ***libsteppath0 | + | ***lib_mapmodule |
- | void *libsteppath0((int pt, | + | void lib_mapmodule(0, int slot, int attr, int len, int offset, int moffset) : |
- | intsloe, const char *name, | + | |
- | intsigt) : | + | |
- | 機能:僖綱鬚燭匹るこに | + | 機能: モジュールをメモリ空間にマッピングする。 |
- | △海乏マン防を?箸前腓縫麹?暖困鰲ジュ供朱ハ挙防ルに僚藉酬て適当な | + | |
- | デ謄l奪?リ佑本動蟲泙仔討?襪海函△修デ謄l奪?リ洋担? 佑?う。 | + | |
- | t(1)pt == 8 0 ?e, | + | |
- | : ぅ献絛ー襯狼夕襯爍 | + | |
- | t成???必ず大文字 2文字,頬 t成???いΑg、*li蹌ゼジ | + | |
- | 垢琶筺 | + | |
- | 例:"TEST | + | |
- | .C " t成??) ぅ完了阿ナう\? t成???蕗蟀失怜はsigの値の蕉って?る淮。夊歴轡腓?ig?igの | + | slotはモジュールに移動させたモジュールハンドル。一つのハンドルで複数 |
- | 規ど燭両屬辰働垢 t成???痢?両挽衫魴ジ彊暮弔討の侶 | + | マッピングしてはいけない。 |
- | *は今 温値しな誚サ麕プ襦?est016 | + | attrは読み書き属性。5で読み込み専用、7で書き込み可能。 |
+ | lenはマッピングする長さ。0より大きい4096の倍数。モジュールの大きさとlen | ||
+ | のうち、短いほうでマッピングが打ち切られる。 | ||
+ | offsetはマッピング領域のポインタ。典型的にはilb_readCSd(0x10)を使うが、 | ||
+ | 複数のファイルを同時にマッピングするときは重ならないようにずらす。 | ||
+ | moffsetはモジュール内のオフセット。制限はとくにないらしい。 | ||
- | ***libinimapulehanoid *libstemapulehan(0intsloe, contsloattrontslolenontslofset =ontslomfset) : | + | 参考になるサンプル:tviewc00(introc) |
- | 機能:ぅ献絛ー襯狼皀午献繩空間ス轗蛤ぴプ覦う。 | + | ***lib_unmapmodule |
- | t( oe, cス團絛ー襯狼眛郁急せ篤た献絛ー襯狼麕疋襪卜。眺使覇ニ疋襪卜叔複数 魴グ淅困團恚阿討呂い韻覆Α | + | void lib_unmapmodule(0, int size, int addr) : |
- | ゥゥ?ttr特鋪込き込属性。5でみ込んみ僖覇、7でき込まみ可: | + | 機能: モジュールマッピング解除。 |
- | ゥゥ?enス壘蛤ぴプ覦う。長さ。0うり大る,4096任移数。團絛ー襯狼睥大るゝとlen 進のにち、短けほにで壘蛤ぴプ覦が打ちい?ーを示箸拷値しな誚 0x0014 : 覦う。長さ。ていのポするcのE儀薪?哀?lt offset) 0x10)蹌ッ蛤豺腓誚 0蛤ぴの?**lib_そけ時覦う。 | + | |
- | t( o | + | |
- | ④禄?文字,砲函?il左字垢暮 0x0m014 : 覦の大るゝと内のオ?*察朱ョは? | + | |
- | 鳩ョ繭,砲蕕Αい暮廛挙縫恚:tviewc00d(inroc), test016 | + | addrで始まる長さsizeバイトの領域のモジュールをはがす。 |
+ | モジュールをリサイズしたり、ハンドルにしたスロットを再利用したりするまえに | ||
+ | マッピングを全てはがしておくこと。 | ||
- | *apulehanounid *libstemapulehan(unid *libst contsloaiz: | + | ***lib_readmodulesize |
+ | int ilb_readmodulesize(int slot) : | ||
- | 機addrГジュ供朱ハ汲ジ畍ュ蟠Α | + | 機能: モジュールの大きさを返す。 |
- | 解除e, cス團絛addr。 | + | |
- | ?pい蠡腓aiz:ードとな値が塾皀午献繩空間 | + | |
- | ?垢暮 0x0皀午献繩空間リジ | + | slotはモジュールハンドル。 |
- | 1~を参期化靴禿? 1~献絛ー襯狼再利用 1~をt( o | + | |
- | 潁貿幕 0xう。 | + | |
- | t鯀粥 | + | |
- | ?Α | + | 参考になるサンプル:tviewc00(introc) |
- | デ謄l奪 | + | |
- | CSd | + | |
- | int lib*libstaiz:adCSd(ilt offs*libstaiz:( | + | |
- | 機?+ ス蹌ッ蛤を皀故大るゝとlen 進の コードセグメ絛ー襯狼眛郁急せ篤眺使覇ニ疋誚サ麕プ襦?viewc00d(inroc), test016 | + | |
- | *apuを?瓱箸藩 | + | * こめんと欄 |
#comment | #comment |
(This host) = http://osask.net