| Uint32 | version | このインターフェースのバージョン |
| bool (SDLCALL *)(void *userdata) | close | ストレージコンテナをクローズする |
| bool (SDLCALL *)(void *userdata) | ready | ストレージコンテナへのアクセスの準備ができているかを戻す. 任意 |
| bool (SDLCALL *)(void *userdata, const char *path, SDL_EnumerateDirectoryCallback callback, void *callback_userdata) | enumerate | ディレクトリを列挙する. 書込専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *path, SDL_PathInfo *info) | info | パスの情報を得る. 書込専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *path, void *destination, Uint64 length) | read_file | ストレージコンテナからファイルを読み込む. 書込専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *path, const void *source, Uint64 length) | write_file | ストレージコンテナのファイルに書き込む. 読取専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *path) | mkdir | ディレクトリを作成する. 読取専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *path) | remove | ファイルまたは空のディレクトリを削除する. 読取専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *oldpath, const char *newpath) | rename | パスの名前を変更する. 読取専用ストレージコンテナの場合は任意 |
| bool (SDLCALL *)(void *userdata, const char *oldpath, const char *newpath) | copy | ファイルをコピーする. 読取専用ストレージコンテナの場合は任意 |
| Uint64 (SDLCALL *)(void *userdata) | space_remaining | 残り容量を得る. 読取専用ストレージコンテナの場合は任意 |
アプリケーションは, この構造体をSDL_OpenStorage()に渡して独自のSDL_Storageを生成することができる.
これは必須ではない. SDLにはSDL_Storageで行う様々な処理の標準的な実装が用意されている.
この構造体はSDL_INIT_INTERFACE()で初期化する必要がある.