io_uring_0303
IO_URING liburing Supported capabilities
liburing Supported capabilities - 지원되는 함수
함수들은 지원되는 작업 및 기능을 확인할 수 있습니다.
📦 struct io_uring_probe
📦 struct io_uring_probe_op
📦 [Linux kernel 5.6] struct io_uring_probe *io_uring_get_probe_ring(struct io_uring *ring)
• Parameters
1) ring: io_uring_queue_init()로 설정된 io_uring 구조체.
• Return value: 성공 시, 실행 중인 커널의 io_uring 서브시스템의 기능을 조사하는 데 사용되는 'io_uring_probe'에 대한 포인터.
'io_uring_probe'에는 지원되는 작업 목록이 들어 있습니다. 실패 시 NULL이 반환됩니다.
• Note
이 함수는 io_uring_probe 구조를 보관하기 위해 메모리를 할당합니다.
작업이 끝나면 해제하는 것은 귀하의 책임입니다.
📦 [Linux kernel 5.6] struct io_uring_probe *io_uring_get_probe(void)
실행 중인 커널의 io_uring 서브시스템의 기능을 조사하는 데 사용되는 'io_uring_probe'에 대한 포인터를 반환합니다.
'io_uring_probe'에는 지원되는 작업 목록이 포함되어 있습니다.
이 함수는 io_uring_get_probe_ring()과 거의 동일하지만 링을 설정하거나 참조할 필요가 없습니다.
지원되는 작업의 세부 정보를 가져올 수 있도록 임시 링을 설정합니다.
그런 다음 반환하기 전에 링을 파괴합니다.
• Note
이 함수는 io_uring_probe 구조를 보관하기 위해 메모리를 할당합니다.
작업이 끝나면 해제하는 것은 귀하의 책임입니다.
• See also
실행 중인 커널에서 지원되는 io_uring 작업을 인쇄하는 예제 프로그램입니다.
Example program: https://unixism.net/loti/tutorial/probe_liburing.html#probing-liburing
📦 [Linux kernel 5.6] int io_uring_opcode_supported(struct io_uring_probe *p, int op)
커널에서 io_uring 작업이 지원되는지 확인하는 함수입니다.
작업이 지원되지 않으면 0을 반환하고 지원되면 0이 아닌 값을 반환합니다.
이 함수가 작동하는 모습을 보려면 지원되는 작업 예제 프로그램을 살펴보세요.
https://unixism.net/loti/tutorial/probe_liburing.html#probing-liburing
• Parameters
1) p: io_uring_probe 구조체에 대한 포인터.
2) op: 지원을 확인하려는 작업입니다. IO_URING_OP_* 매크로 중 하나입니다.
• Return value: 반환 값: 작업이 지원되지 않으면 0, 그렇지 않으면 1.
📦 [Linux kernel 5.6] int io_uring_register_probe(struct io_uring *ring, struct io_uring_probe *p, unsigned nr)
io_uring 기능을 제공하는 저수준 함수입니다.
• Parameters
1) ring: io_uring_queue_init()로 설정된 io_uring 구조체.
2) p: io_uring_probe 구조체에 대한 포인터.
3) nr: p가 가리키는 배열 내의 구조의 수.
• Return value: 성공 시 0을 반환하고 실패 시 -errono를 반환합니다.
strerror(3)를 사용하면 실패 이유에 대한 사람이 읽을 수 있는 버전을 얻을 수 있습니다.
