Home / File/ syscall.c — netty Source File

syscall.c — netty Source File

Architecture documentation for syscall.c, a c file in the netty codebase. 5 imports, 0 dependents.

File c NativeTransport 5 imports

Entity Profile

Dependency Diagram

graph LR
  14adcbc2_b7ae_69f0_de81_7ff8295f080a["syscall.c"]
  ddebf97c_764b_c969_f280_80845f7175f3["syscall.h"]
  14adcbc2_b7ae_69f0_de81_7ff8295f080a --> ddebf97c_764b_c969_f280_80845f7175f3
  a85764e7_9ef9_e057_d0f3_4ac9d68d9fe9["signal.h"]
  14adcbc2_b7ae_69f0_de81_7ff8295f080a --> a85764e7_9ef9_e057_d0f3_4ac9d68d9fe9
  b59566e3_09f9_0754_86de_fdbc5d364dea["syscall.h"]
  14adcbc2_b7ae_69f0_de81_7ff8295f080a --> b59566e3_09f9_0754_86de_fdbc5d364dea
  4094ef75_9fba_3a58_2273_1277324b0041["uio.h"]
  14adcbc2_b7ae_69f0_de81_7ff8295f080a --> 4094ef75_9fba_3a58_2273_1277324b0041
  6f8e9f3d_28f0_b3bb_e5f8_505aa6fd30ef["unistd.h"]
  14adcbc2_b7ae_69f0_de81_7ff8295f080a --> 6f8e9f3d_28f0_b3bb_e5f8_505aa6fd30ef
  style 14adcbc2_b7ae_69f0_de81_7ff8295f080a 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: MIT */
#include "syscall.h"
#include <signal.h>
#include <sys/syscall.h>
#include <sys/uio.h>
#include <unistd.h>

// Define syscall numbers if not exists as these are "stable".
#ifndef __NR_io_uring_setup
#define __NR_io_uring_setup		425
#endif
#ifndef __NR_io_uring_enter
#define __NR_io_uring_enter		426
#endif
#ifndef __NR_io_uring_register
#define __NR_io_uring_register	427
#endif

int sys_io_uring_setup(unsigned entries, struct io_uring_params *p) {
    return syscall(__NR_io_uring_setup, entries, p);
}

int sys_io_uring_enter(int fd, unsigned to_submit, unsigned min_complete,
                       unsigned flags, sigset_t *sig) {
    return syscall(__NR_io_uring_enter, fd, to_submit, min_complete, flags, sig,
                 _NSIG / 8);
}

int sys_io_uring_register(int fd, unsigned opcode, const void *arg, unsigned nr_args) {
    return syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
}

Dependencies

Frequently Asked Questions

What does syscall.c do?
syscall.c is a source file in the netty codebase, written in c. It belongs to the NativeTransport domain.
What does syscall.c depend on?
syscall.c imports 5 module(s): signal.h, syscall.h, syscall.h, uio.h, unistd.h.
Where is syscall.c in the architecture?
syscall.c is located at transport-native-io_uring/src/main/c/syscall.c (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