ailia  1.4.0.0
クラス | マクロ定義 | 型定義
ailia_call.h ファイル

ユーザ定義コールバック [詳解]

被依存関係図:

[ソースコード]

クラス

struct  _ailiaFileCallback
 

マクロ定義

#define AILIA_USER_API
 
#define AILIA_FSIZE_RETURN_TYPE   long long
 
#define AILIA_USER_API_SUCCESS   (0)
 成功 [詳解]
 
#define AILIA_USER_API_FAILED   (-1)
 失敗 [詳解]
 
#define AILIA_FILE_CALLBACK_VERSION   (1)
 構造体バージョン [詳解]
 

型定義

typedef void *(AILIA_USER_APIAILIA_USER_API_FOPEN) (const void *)
 ファイルを開きます [詳解]
 
typedef int(AILIA_USER_APIAILIA_USER_API_FSEEK) (void *, AILIA_FSIZE_RETURN_TYPE)
 ファイルをシークします [詳解]
 
typedef AILIA_FSIZE_RETURN_TYPE(AILIA_USER_APIAILIA_USER_API_FTELL) (void *)
 ファイルの現在位置を取得します [詳解]
 
typedef AILIA_FSIZE_RETURN_TYPE(AILIA_USER_APIAILIA_USER_API_FSIZE) (void *)
 ファイルのサイズを取得します [詳解]
 
typedef int(AILIA_USER_APIAILIA_USER_API_FREAD) (void *, AILIA_FSIZE_RETURN_TYPE, void *)
 ファイルからデータを読み込みます [詳解]
 
typedef int(AILIA_USER_APIAILIA_USER_API_FCLOSE) (void *)
 ファイルを閉じます [詳解]
 
typedef struct _ailiaFileCallback ailiaFileCallback
 

詳解

ユーザ定義コールバック

日付
2021/07/28

ファイルアクセスコールバック関数は、1ネットワークオブジェクトにつき、 1スレッドから呼び出されます。 複数のオブジェクトに対して、共通のコールバック関数を与える場合は、 コールバック関数はスレッドセーフである必要があります。 また、コールバック関数からは例外を投げずに、 AILIA_USER_API_FAILEDでエラーを通知してください。

マクロ定義詳解

◆ AILIA_FILE_CALLBACK_VERSION

#define AILIA_FILE_CALLBACK_VERSION   (1)

構造体バージョン

◆ AILIA_FSIZE_RETURN_TYPE

#define AILIA_FSIZE_RETURN_TYPE   long long

◆ AILIA_USER_API

#define AILIA_USER_API

◆ AILIA_USER_API_FAILED

#define AILIA_USER_API_FAILED   (-1)

失敗

◆ AILIA_USER_API_SUCCESS

#define AILIA_USER_API_SUCCESS   (0)

成功

型定義詳解

◆ AILIA_USER_API_FCLOSE

typedef int(AILIA_USER_API* AILIA_USER_API_FCLOSE) (void *)

ファイルを閉じます

引数
void* ユーザ定義ファイルポインタ
戻り値
成功した場合、 AILIA_USER_API_SUCCESS を返す。 失敗した場合、 AILIA_USER_API_FAILED を返す。

◆ AILIA_USER_API_FOPEN

typedef void*(AILIA_USER_API* AILIA_USER_API_FOPEN) (const void *)

ファイルを開きます

引数
constvoid * ailiaOpenStreamEx() もしくは ailiaOpenWeightEx() に与えたfopen_args
戻り値
成功した場合、ユーザ定義ファイルポインタを返す。 失敗した場合、NULLを返す。

◆ AILIA_USER_API_FREAD

typedef int(AILIA_USER_API* AILIA_USER_API_FREAD) (void *, AILIA_FSIZE_RETURN_TYPE, void *)

ファイルからデータを読み込みます

引数
void* 読み込みデータ格納先のポインタ

◆ AILIA_USER_API_FSEEK

typedef int(AILIA_USER_API* AILIA_USER_API_FSEEK) (void *, AILIA_FSIZE_RETURN_TYPE)

ファイルをシークします

引数
void* ユーザ定義ファイルポインタ

◆ AILIA_USER_API_FSIZE

typedef AILIA_FSIZE_RETURN_TYPE(AILIA_USER_API* AILIA_USER_API_FSIZE) (void *)

ファイルのサイズを取得します

引数
void* ユーザ定義ファイルポインタ
戻り値
成功した場合、ファイルのサイズをバイト単位で返す。 失敗した場合、-1を返す。

◆ AILIA_USER_API_FTELL

typedef AILIA_FSIZE_RETURN_TYPE(AILIA_USER_API* AILIA_USER_API_FTELL) (void *)

ファイルの現在位置を取得します

引数
void* ユーザ定義ファイルポインタ
戻り値
成功した場合、ファイルポインタの位置をバイト単位で返す。 失敗した場合、-1を返す。

◆ ailiaFileCallback