cshiori  1
 全て クラス ファイル 関数 変数 列挙型 列挙値 マクロ定義 ページ
shiori.h ファイル

SHIORI/2.0-SHIORI/3.x 偽AIモジュール インポートヘッダファイル このファイルはPDS(Public Domain Software)とする。 [詳解]

[ソースコード]

マクロ定義

#define SHIORI_EXPORT   extern
 
#define SHIORI_CALL
 
#define MEMORY_HANDLE   char *
 
#define SHIORI_MALLOC(len)   malloc(len)
 
#define SHIORI_FREE(ptr)   free((void *)ptr)
 
#define BOOL   int
 
#define TRUE   1
 
#define FALSE   0
 

関数

SHIORI_EXPORT BOOL SHIORI_CALL load (const MEMORY_HANDLE h, long len)
 モジュール読み込み直後に呼ばれる [詳解]
 
SHIORI_EXPORT BOOL SHIORI_CALL unload (void)
 モジュール切り離し直前に呼ばれる [詳解]
 
SHIORI_EXPORT MEMORY_HANDLE
SHIORI_CALL 
request (const MEMORY_HANDLE h, long *len)
 偽AIリクエスト [詳解]
 

詳解

SHIORI/2.0-SHIORI/3.x 偽AIモジュール インポートヘッダファイル このファイルはPDS(Public Domain Software)とする。

「栞」とは、「伺か。」用偽AIモジュール規格の名称である。 栞規格は、HTTPに酷似したリクエスト・レスポンス型メッセージングを軸とした 疎結合モデルであり、偽AIモジュール側を「栞サーバ」、それを利用する側を 「栞クライアント」と呼ぶ。

API中、受け渡しに用いられるメモリ領域は、プラットフォーム依存の領域確保 関数で確保され、受け取り側が解放する。 領域確保、解放に用いる関数は以下。

  • Win32プラットフォーム : GlobalAlloc(GMEM_FIXED, len), GlobalFree()
  • POSIXプラットフォーム : malloc(len), free() (ただし、クライアント固有Cライブラリ依存)

関数詳解

SHIORI_EXPORT BOOL SHIORI_CALL load ( const MEMORY_HANDLE  h,
long  len 
)

モジュール読み込み直後に呼ばれる

引数
h(I) DLLファイルが存在するディレクトリパスを表す文字列への ポインタ。メモリ領域は栞サーバが解放すること。
len(I) hが示す文字列の長さ
戻り値
成功のとき、TRUE。失敗のとき、FALSE。
SHIORI_EXPORT MEMORY_HANDLE SHIORI_CALL request ( const MEMORY_HANDLE  h,
long *  len 
)

偽AIリクエスト

引数
h(I) 要求文字列へのポインタ。栞サーバが解放すること。
len(IO) 呼び出し時は要求文字列のbyte長が格納され、返答文字列の byte長が格納されて返る。
戻り値
返答文字列へのポインタ。栞サーバが確保し、栞クライアントが 解放すること。
SHIORI_EXPORT BOOL SHIORI_CALL unload ( void  )

モジュール切り離し直前に呼ばれる

戻り値
成功のとき、TRUE。失敗のとき、FALSE。