.\" -*- coding: UTF-8 -*- .\" Copyright 2006, Jens Axboe .\" Copyright 2006, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH vmsplice 2 "8. februar 2026" "Linux man\-pages 6.17" .SH NAVN vmsplice \- splejs brugersider til/fra en datakanal .SH BIBLIOTEK C\-standardbibliotek (\fIlibc\fP,\ \fI\-lc\fP) .SH SYNOPSIS .nf \fB#define _GNU_SOURCE\fP /* Se feature_test_macros(7) */ \fB#include \fP .P \fBssize_t vmsplice(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB,\fP \fB size_t \fP\fInr_segs\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP .fi .\" Return type was long before glibc 2.7 .SH BESKRIVELSE .\" Linus: vmsplice() system call to basically do a "write to .\" the buffer", but using the reference counting and VM traversal .\" to actually fill the buffer. This means that the user needs to .\" be careful not to reuse the user-space buffer it spliced into .\" the kernel-space one (contrast this to "write()", which copies .\" the actual data, and you can thus reuse the buffer immediately .\" after a successful write), but that is often easy to do. .\" Since Linux 2.6.23 .\" commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 Hvis \fIfd\fP åbnes for skrivning så oversætter systemkaldet \fBvmsplice\fP() \fInr_segs\fP\-intervaller for brugerhukommelse beskrevet af \fIiov\fP til en datakanal. Hvis \fIfd\fP er åben for læsning udfylder systemkaldet \fBvmsplice\fP() \fInr_segs\fP\-intervaller for brugerhukommelse beskrevet af \fIiov\fP fra en datakanal. Fildeskriptoren \fIfd\fP skal referere til en datakanal. .P Tekstsøgeren \fIiov\fP peger på en tabel af \fIiovec\fP\-strukturer som beskrevet i \fBiovec\fP(3type). .P Argumentet \fIflags\fP er en bit\-maske, der er sammensat af ORing sammen med nul eller flere af de følgende værdier: .TP \fBSPLICE_F_MOVE\fP Ubrugt for \fBvmsplice\fP(); se \fBsplice\fP(2). .TP \fBSPLICE_F_NONBLOCK\fP .\" Not used for vmsplice .\" May be in the future -- therefore EAGAIN Bloker ikke en I/O; se \fBsplice\fP(2) for yderligere detaljer. .TP \fBSPLICE_F_MORE\fP Har i øjeblikket ingen effekt for \fBvmsplice\fP(), men kan blive implementeret i fremtiden; se \fBsplice\fP(2). .TP \fBSPLICE_F_GIFT\fP .\" FIXME . Explain the following line in a little more detail: .\" FIXME .\" It looks like the page-alignment requirement went away with .\" commit bd1a68b59c8e3bce45fb76632c64e1e063c3962d .\" .\" ...if we expect to later SPLICE_F_MOVE to the cache. Brugersiderne er gift for kernen. Programmet ændrer måske ikke denne hukommelse nogensinde, eller sidemellemlageret og data på disken kan være forskellige. At give sider i gave til kernen betyder, at en efterfølgende \fBsplice\fP(2) \fBSPLICE_F_MOVE\fP med succes kan flytte siderne; hvis dette flag ikke er angivet, så skal en efterfølgende \fBsplice\fP(2) \fBSPLICE_F_MOVE\fP kopiere siderne. Data skal være korrekt sidejusteret, både i hukommelse og længde. .SH RETURVÆRDI Ved succesfuld fuldførelse returnerer \fBvmsplice\fP() antallet af byte overført til datakanalen. Ved fejl returnerer \fBvmsplice\fP() \-1 og \fIerrno\fP angives for at indikere fejlen. .SH FEJL .TP \fBEAGAIN\fP \fBSPLICE_F_NONBLOCK\fP blev angivet i \fIflag\fP, og operationen ville blokere. .TP \fBEBADF\fP \fIfd\fP er enten ikke gyldig, eller refererer ikke til en datakanal. .TP \fBEINVAL\fP \fInr_segs\fP er større end \fBIOV_MAX\fP; eller hukommelsen er ikke justeret hvis \fBSPLICE_F_GIFT\fP er angivet. .TP \fBENOMEM\fP Ikke nok hukommelse. .SH STANDARDER Linux. .SH HISTORIK Linux 2.6.17, glibc 2.5. .SH NOTER .\" UIO_MAXIOV in kernel source \fBvmsplice\fP() følger de andre vektoriserede læse/skriv\-typefunktioner når det kommer til begrænsninger på antallet af segmenter sendt ind. Denne begrænsning er \fBIOV_MAX\fP som defineret i \fI\fP. I øjeblikket er denne begrænsning 1024. .P .\" commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 \fBvmsplice\fP() understøtter korrekt splejsning kun fra brugerhukommelse til en datakanal. I den modsatte retning kopieres bare dataene til brugerrummet. Men dette gør grænsefladen pæn og symmetrisk og gør det muligt at bygge på \fBvmsplice\fP() med plads til fremtidige forbedringer i ydelsen. .SH "SE OGSÅ" \fBsplice\fP(2), \fBtee\fP(2), \fBpipe\fP(7) .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 .