ページへ戻る

− Links

 印刷 

GUIGUI01​/man0002 のバックアップ差分(No.7) :: OSASK計画

osaskwiki:GUIGUI01/man0002 のバックアップ差分(No.7)

« Prev[4]  Next »[5]
6: 2008-11-20 (木) 13:30:20 ソース[6] 7: 2008-11-20 (木) 14:10:17 ソース[7]
Line 8: Line 8:
-[000002] システムワークエリアの指定。 -[000002] システムワークエリアの指定。
-[000003] APIパケット終端。 -[000003] APIパケット終端。
--[000004] g01_exit_success()+-[000004] void g01_exit_success()
--正常終了。 --正常終了。
--[000005] g01_putc(int c)+-[000005] void g01_putc(int c)
--一文字表示。 --一文字表示。
--[000005] g01_puts_c0(文字列定数 len, 文字列定数 str)+-[000005] void g01_puts_c0(文字列定数 len, 文字列定数 str)
--lenをgh4で書いて使う。例 g01_puts_c0("¥x8d", "hello, world¥n"); --lenをgh4で書いて使う。例 g01_puts_c0("¥x8d", "hello, world¥n");
--意味がよく分からないなら、下のg01_puts_c255()を使うほうがいいだろう。 --意味がよく分からないなら、下のg01_puts_c255()を使うほうがいいだろう。
--[000005] g01_puts_c255(文字列定数 len, 文字列定数 str)+-[000005] void g01_puts_c255(文字列定数 len, 文字列定数 str)
--255バイト以下の文字列をコンソールに出力。 --255バイト以下の文字列をコンソールに出力。
--g01_puts_c255("¥x0d", "hello, world¥n"); のように使う。 --g01_puts_c255("¥x0d", "hello, world¥n"); のように使う。
Line 22: Line 22:
//*** ジャンクAPI   すべて[3ffffff]のサブファンクション -- commented_out by K, 2008.11.19 //*** ジャンクAPI   すべて[3ffffff]のサブファンクション -- commented_out by K, 2008.11.19
-[000000] リザーブ。 -[000000] リザーブ。
--[000001] jg01_getcmdlin(int *len, int n, char *p)+-[000001] void jg01_getcmdlin(int *len, int n, char *p)
--コマンドライン文字列取得。現状ではコマンドライン全体が無条件に見える。将来的には、この仕様は廃止され、コマンドライン全体を見る方法はなくなる。 --コマンドライン文字列取得。現状ではコマンドライン全体が無条件に見える。将来的には、この仕様は廃止され、コマンドライン全体を見る方法はなくなる。
--仕様が廃止された後でも、このAPIを使ったアプリを救済するために、このコマンドラインで渡せる文字列を指定する方法が提供される(詳細は未定だが、例: >efg01 app.g01 jg01_cmdlin:"abc def ghi")。lenには実際の長さが入る。nが*lenよりも小さい場合、文字列はnまでしか格納されない。 --仕様が廃止された後でも、このAPIを使ったアプリを救済するために、このコマンドラインで渡せる文字列を指定する方法が提供される(詳細は未定だが、例: >efg01 app.g01 jg01_cmdlin:"abc def ghi")。lenには実際の長さが入る。nが*lenよりも小さい場合、文字列はnまでしか格納されない。
--[000002] jg01_fopen(int mode, int slot, char *path)+-[000002] void jg01_fopen(int mode, int slot, char *path)
--ファイルのオープン。オープンに成功するか失敗するまで帰ってこない(OSASKのような非同期式ではない・・・手抜きなので)。失敗した場合、slotは無効状態になる。 --ファイルのオープン。オープンに成功するか失敗するまで帰ってこない(OSASKのような非同期式ではない・・・手抜きなので)。失敗した場合、slotは無効状態になる。
--modeのbit0-2 : 0=タスクローカル, 1=ユーザ, 2=マシンローカル, 3=ネットワーク --modeのbit0-2 : 0=タスクローカル, 1=ユーザ, 2=マシンローカル, 3=ネットワーク
Line 38: Line 38:
--テキストモードなどというものはない。「ぐいぐい01」での標準的なテキストはCRが入らないものとするが、各アプリにおいてこれをあえて出力するオプションがあってもよい。そしてCRを無視することができない(=CRがあると誤動作する)テキストツールがあったとしても出来がよければ川合秀実推奨はでる。 --テキストモードなどというものはない。「ぐいぐい01」での標準的なテキストはCRが入らないものとするが、各アプリにおいてこれをあえて出力するオプションがあってもよい。そしてCRを無視することができない(=CRがあると誤動作する)テキストツールがあったとしても出来がよければ川合秀実推奨はでる。
--slotは4~63が使用可能。 --slotは4~63が使用可能。
--[000003] jg01_fclose(int slot) +-[000003] void jg01_fclose(int slot) 
---ファイルのクローズ。クローズはエラーにならない。というか、エラーの場合は何もしない。 +--ファイルのクローズ。クローズはエラーにならない。というか、エラーの場合は何もしない。アプリの終了時にはオープンしたファイルは正しくクローズされるので、終了処理直前のクローズは省略してよい。 
--[000004] jg01_fread(int slot, int *len, int n, char *p)+-[000004] void jg01_fread(int slot, int *len, int n, char *p)
--ファイルからの読み込み。*lenに読み込んだバイト数が返る。0が返るとEOF。-1だとエラー。 --ファイルからの読み込み。*lenに読み込んだバイト数が返る。0が返るとEOF。-1だとエラー。
--[000004] jg01_fwrite(int slot, int *len, int n, char *p)+-[000004] void jg01_fwrite(int slot, int *len, int n, char *p)
--ファイルへの書き込み。サブファンクション番号がfreadと同じなのはミスではない(オプションコードで見分ける)。*lenに書き込めたバイト数が返る。-1だとエラー。 --ファイルへの書き込み。サブファンクション番号がfreadと同じなのはミスではない(オプションコードで見分ける)。*lenに書き込めたバイト数が返る。-1だとエラー。
--[000005] jg01_fseek32(int slot, int mode, int ofs, int *pos)+-[000005] void jg01_fseek32(int slot, int mode, int ofs, int *pos)
--ファイルポインタの移動・取得・ファイルサイズ変更。API的には32bit制限があるわけではないが、C言語ライブラリ化にあたって32bitに限定した。 --ファイルポインタの移動・取得・ファイルサイズ変更。API的には32bit制限があるわけではないが、C言語ライブラリ化にあたって32bitに限定した。
--[000006] jg01_testslot0(int slot)+-[000006] void jg01_testslot0(int slot, char *p)
--slotの状態を返す。-1がslot値無効、0が未使用・無効、1がコンソール、2がファイル。 --slotの状態を返す。-1がslot値無効、0が未使用・無効、1がコンソール、2がファイル。
 +-[000007] リザーブ。
 +-[000008] void jg01_malloc(int bytes, void **p)
 +--システムからメモリをもらう。これはbss領域の中を切り分けてもらうなどではなく、それとは別に追加でもらうメモリである。失敗する可能性は十分にあり、失敗すると-1が返される。
 +-[000009] void jg01_mfree(int bytes, void *p)
 +--jg01_malloc()でもらったメモリを返す。部分的に返すこともできるし、bssの一部などもらってないメモリを返すこともできる。pが-1だと何もしない。アプリの終了時にはメモリは勝手に返されるので、終了処理中にmfreeする必要はない。
« Prev[4]  Next »[5]