bytecodealliance / bytecodealliance/rustix

add io_uring_sqe64,io_uring_sqe128,io_uring_cqe16,io_uring_cqe32

Ouverte
#997 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
2.1k
Forks
294
Merge moyen
6 j 22 h
PR mergées (30 j)
4

Description

```
#[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]>;
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser les définitions de types io_uring existantes dans les bindings rustix et comparez leur layout avec les formes SQE et CQE demandées. Le travail est terminé lorsque IoUringSqe64, IoUringSqe128, IoUringCqe16 et IoUringCqe32 ont les représentations et les champs spécifiés, et que les vérifications existantes pertinentes passent toujours.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
linux, rust
Domaine
operating-systems
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.