Home / File/ io_uring.h — netty Source File

io_uring.h — netty Source File

Architecture documentation for io_uring.h, a c file in the netty codebase. 2 imports, 2 dependents.

File c NativeTransport 2 imports 2 dependents

Entity Profile

Dependency Diagram

graph LR
  d0c9fb3d_161c_84ac_b9b6_aac527ef62bc["io_uring.h"]
  9538d674_a7b5_385d_5cda_038f0d800747["fs.h"]
  d0c9fb3d_161c_84ac_b9b6_aac527ef62bc --> 9538d674_a7b5_385d_5cda_038f0d800747
  305c3de4_ecb7_b898_0158_ca995963c1d4["types.h"]
  d0c9fb3d_161c_84ac_b9b6_aac527ef62bc --> 305c3de4_ecb7_b898_0158_ca995963c1d4
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e["netty_io_uring.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> d0c9fb3d_161c_84ac_b9b6_aac527ef62bc
  ddebf97c_764b_c969_f280_80845f7175f3["syscall.h"]
  ddebf97c_764b_c969_f280_80845f7175f3 --> d0c9fb3d_161c_84ac_b9b6_aac527ef62bc
  style d0c9fb3d_161c_84ac_b9b6_aac527ef62bc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/*
 * Copyright 2020 The Netty Project
 *
 * The Netty Project licenses this file to you under the Apache License,
 * version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at:
 *
 *   https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */
/*
 * Header file for the io_uring interface.
 *
 * Copyright (C) 2019 Jens Axboe
 * Copyright (C) 2019 Christoph Hellwig
 */
#ifndef LINUX_IO_URING_H
#define LINUX_IO_URING_H

#include <linux/fs.h>
#include <linux/types.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * IO submission data structure (Submission Queue Entry)
 */
struct io_uring_sqe {
	__u8	opcode;		/* type of operation for this sqe */
	__u8	flags;		/* IOSQE_ flags */
	__u16	ioprio;		/* ioprio for the request */
	__s32	fd;		/* file descriptor to do IO on */
	union {
		__u64	off;	/* offset into file */
		__u64	addr2;
	};
	union {
		__u64	addr;	/* pointer to buffer or iovecs */
		__u64	splice_off_in;
	};
	__u32	len;		/* buffer size or number of iovecs */
	union {
		// IMPORTANT:
		// We explicit use 'int __bitwise' here and not ' __kernel_rwf_t' as this may not be present in the
		// kernel headers that are used on the system.
		int __bitwise	rw_flags;
		__u32		fsync_flags;
		__u16		poll_events;	/* compatibility */
		__u32		poll32_events;	/* word-reversed for BE */
		__u32		sync_range_flags;
		__u32		msg_flags;
		__u32		timeout_flags;
// ... (361 more lines)

Dependencies

  • fs.h
  • types.h

Frequently Asked Questions

What does io_uring.h do?
io_uring.h is a source file in the netty codebase, written in c. It belongs to the NativeTransport domain.
What does io_uring.h depend on?
io_uring.h imports 2 module(s): fs.h, types.h.
What files import io_uring.h?
io_uring.h is imported by 2 file(s): netty_io_uring.h, syscall.h.
Where is io_uring.h in the architecture?
io_uring.h is located at transport-native-io_uring/src/main/c/io_uring.h (domain: NativeTransport, directory: transport-native-io_uring/src/main/c).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free