英語版
このページの英語版を見る

core.sys.linux.io_uring

io_uring インターフェース用の D ヘッダーファイル。 Linux 5.1 から利用できる。
struct io_uring_sqe;
IOサブミッションデータ構造体(サブミッションキューエントリ)
ubyte opcode;
このキューの操作の型
ubyte flags;
IOSQE_*フラグ
ushort ioprio;
リクエストのイオプリオ
int fd;
IOを実行するファイル記述子
ulong off;
ファイルへのオフセット
ulong addr;
バッファまたはiovecsへのポインタ
uint len;
バッファサイズまたはiovecsの数
ushort poll_events;
互換性
uint poll32_events;
BE用にワード反転される
ulong user_data;
完了時に返されるデータ
ushort buf_index;
使用されている場合、固定バッファへのインデックス
偽のアームOABIの苦情を避けるためにこれをパックする。
ushort buf_group;
グループ化されたバッファ選択のため
偽のアームOABIによる苦情を避けるため、これをパックする。
ushort personality;
使用する場合、使用するパーソナリティー
IOSQE_FIXED_FILE
固定ファイルセットを使用する
IOSQE_IO_DRAIN
機内IO後の問題
IOSQE_IO_LINK
次のSQEにリンクする。
IOSQE_IO_HARDLINK
LINKのようなものだが、より強力
IOSQE_ASYNC
常に非同期にする
IOSQE_BUFFER_SELECT
sqe.buf_groupからバッファを選択する
IORING_SETUP_IOPOLL
io_contextがポーリングされる
IORING_SETUP_SQPOLL
SQはスレッドをポーリングする
IORING_SETUP_SQ_AFF
sq_thread_cpuが有効である。
IORING_SETUP_CQSIZE
アプリがCQサイズを定義する
IORING_SETUP_CLAMP
SQ/CQリング・サイズをクランプする
IORING_SETUP_ATTACH_WQ
既存のWQにアタッチする
IORING_SETUP_R_DISABLED
リングを無効にして開始する
struct io_uring_cqe;
IO完了データ構造(完了キュー・エントリ)
ulong user_data;
サブミッションが引き渡される
int res;
このイベントの結果コード
enum uint IORING_CQE_F_BUFFER;
設定されている場合、上位 16 ビットはバッファ ID である。
struct io_sqring_offsets;
mmap(2) のオフセットで埋められる
IORING_SQ_NEED_WAKEUP
io_uring_enter ウェイクアップが必要。
IORING_SQ_CQ_OVERFLOW
CQ リングがオーバーフローする。
IORING_CQ_EVENTFD_DISABLED
eventfd の通知を無効化。
struct io_uring_params;
io_uring_setup(2) 用に渡される。
IORING_RESTRICTION_REGISTER_OP
io_uring_register(2) のオペコードを許容。
IORING_RESTRICTION_SQE_OP
sqe の opcode を許容。
IORING_RESTRICTION_SQE_FLAGS_ALLOWED
sqe フラグを許可する。
IORING_RESTRICTION_SQE_FLAGS_REQUIRED
sqe フラグを必須にする (これらのフラグは投入ごとに設定されなければならない)。