bytecodealliance / bytecodealliance/rustix

add io_uring_sqe64,io_uring_sqe128,io_uring_cqe16,io_uring_cqe32

Aperta
#997 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
2.1k
Fork
294
Merge medio
4h 7m
PR unite (30g)
2

Descrizione

```
#[repr(C)]
#[derive(Clone, Copy)]
pub struct IoUringSqe {
pub opcode: rustix::io_uring::IoringOp,
pub flags: rustix::io_uring::IoringSqeFlags,
pub ioprio: rustix::io_uring::ioprio_union,
pub fd: rustix::fd::RawFd,
pub off_or_addr2: rustix::io_uring::off_or_addr2_union,
pub addr_or_splice_off_in: rustix::io_uring::addr_or_splice_off_in_union,
pub len: rustix::io_uring::len_union,
pub op_flags: rustix::io_uring::op_flags_union,
pub user_data: rustix::io_uring::io_uring_user_data,
pub buf: rustix::io_uring::buf_union,
pub personality: u16,
pub splice_fd_in_or_file_index: rustix::io_uring::splice_fd_in_or_file_index_union,
pub addr3_or_cmd: addr3_or_cmd_union,
}

#[repr(C)]
#[derive(Copy, Clone)]
pub union addr3_or_cmd_union {
pub addr3: rustix::io_uring::addr3_struct,
pub cmd: T,
}

pub type IoUringSqe64 = IoUringSqe<()>;
pub type IoUringSqe128 = IoUringSqe<[u8; 80]>;

#[repr(C)]
#[derive(Clone, Copy)]
pub struct IoUringCqe {
pub user_data: rustix::io_uring::io_uring_user_data,
pub res: i32,
pub flags: rustix::io_uring::IoringCqeFlags,
pub big_cqe: T,
}

pub type IoUringCqe16 = IoUringCqe<()>;
pub type IoUringCqe32 = IoUringCqe<[u64; 2]>;
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia individuando le definizioni dei tipi io_uring esistenti nei binding rustix e confronta il loro layout con le forme SQE e CQE richieste. Il lavoro è completato quando IoUringSqe64, IoUringSqe128, IoUringCqe16 e IoUringCqe32 hanno le rappresentazioni e i campi specificati e i controlli esistenti pertinenti continuano a essere superati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
linux, rust
Ambito
operating-systems
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.