.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH _syscall 2 "17. maj 2025" "Linux man\-pages 6.18" .SH NAVN _syscall \- igangsætte et systemkald uden biblioteksunderstøttelse (FORÆLDET) .SH SYNOPSIS .nf \fB#include \fP .P En _syscall\-makro .P ønsket systemkald .fi .SH BESKRIVELSE Den vigtige ting at vide om et systemkald er dets prototype. Du skal vide hvor mange argumenter der er, deres typer og funktionsreturtypen. Der er syv makroer, der gør det faktiske kald til systemet nemmere. De har formen: .P .in +4n .EX _syscall\fIX\fP(\fItype\fP,\fInavn\fP,\fItype1\fP,\fIarg1\fP,\fItype2\fP,\fIarg2\fP,...) .EE .in .P hvor .IP \fIX\fP er 0\[en]6, der er antallet af argumenter fra systemkaldet .IP \fItype\fP er returtypen for systemkaldet .IP \fInavn\fP er navnet på systemkaldet .IP \fItypeN\fP er det N. arguments type .IP \fIargN\fP er navnet på det N. argument .P Disse makroer opretter en funktion kaldt \fInavn\fP med argumenterne du angiver. Når du inkluderer _syscall() i din kildefil så kalder du systemkaldet med \fInavn\fP. .SH FILER \fI/usr/include/linux/unistd.h\fP .SH STANDARDER Linux. .SH HISTORIK Startende omkring Linux 2.6.18 blev _syscall\-makroerne fjernet fra teksthovedfilerne leveret til brugerrummet. Brug \fBsyscall\fP(2) i stedet for. (Nogle arkitekturer, specielt ia64, tilbød aldrig _syscall\-makroer; på disse arkitekturer var \fBsyscall\fP(2) altid krævet). .SH NOTER _syscall()\-makroerne \fIlaver ikke\fP en prototype. Du skal måske oprette en, specielt for C++\-brugere. .P Systemkald er ikke krævet for kun at returnere positive eller negative fejlkoder. Du skal læse kilden for at være sikker på hvordan det vil returnere fejl. Normalt er det det negative for en standardfejlkode, for eksempel \-\fIEPERM\fP. _syscall()\-makroerne vil returnere resultatet \fIr\fP for systemkaldet når \fIr\fP ikke er negativt, men vil returnere \-1 og angive variablen \fIerrno\fP til \-\fIr\fP når \fIr\fP er negativ. Se \fBerrno\fP(3) for fejlkoderne. .P .\" The preferred way to invoke system calls that glibc does not know .\" about yet is via .\" .BR syscall (2). .\" However, this mechanism can be used only if using a libc .\" (such as glibc) that supports .\" .BR syscall (2), .\" and if the .\" .I .\" header file contains the required SYS_foo definition. .\" Otherwise, the use of a _syscall macro is required. .\" Når definerende et systemkald \fIskal\fP argumenttyperne sendes efter\-værdi eller efter\-peger (for aggregater som strukturer). .SH EKSEMPLER .\" SRC BEGIN (_syscall.c) .EX #include #include #include #include /* for _syscallX\-makroer/relat. ting */ #include /* for struct sysinfo */ \& _syscall1(int, sysinfo, struct sysinfo *, info); \& int main(void) { struct sysinfo s_info; int error; \& error = sysinfo(&s_info); printf("Kodefejl = %d\[rs]n", fejl); printf("Oppetid = %lds\[rs]nBelastning: 1 min %lu / 5 min %lu / 15 min %lu\[rs]n" "RAM: samlet %lu / fri %lu / delt %lu\[rs]n" "Hukommelse i buffere = %lu\[rs]nSwap: samlet %lu / fri %lu\[rs]n" "Antal processer = %d\[rs]n", s_info.uptime, s_info.loads[0], s_info.loads[1], s_info.loads[2], s_info.totalram, s_info.freeram, s_info.sharedram, s_info.bufferram, s_info.totalswap, s_info.freeswap, s_info.procs); exit(EXIT_SUCCESS); } .EE .\" SRC END .SS Prøveresultat .EX Kodefejl = 0 Oppetid = 502034s Belastning: 1 min 13376 / 5 min 5504 / 15 min 1152 RAM: samlet 15343616 / fri 827392 / delt 8237056 Hukommelse i buffere = 5066752 Swap: samlet 27881472 / fri 24698880 Antal processer = 40 .EE .SH "SE OGSÅ" \fBintro\fP(2), \fBsyscall\fP(2), \fBerrno\fP(3) .PP .SH OVERSÆTTELSE Oversættere af denne manual til dansk Joe Hansen . .PP Denne oversættelse er gratis dokumentation; læs .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. .PP Hvis du støder på fejl i oversættelsen af ​​denne vejledning, skal du sende en besked til .MT debian-l10n-danish@lists.debian.org .ME .