vmsplice(2) System Calls Manual vmsplice(2) NAVN vmsplice - splejs brugersider til/fra en datakanal BIBLIOTEK C-standardbibliotek (libc, -lc) SYNOPSIS #define _GNU_SOURCE /* Se feature_test_macros(7) */ #include ssize_t vmsplice(int fd, const struct iovec *iov, size_t nr_segs, unsigned int flags); BESKRIVELSE Hvis fd abnes for skrivning sa oversaetter systemkaldet vmsplice() nr_segs-intervaller for brugerhukommelse beskrevet af iov til en datakanal. Hvis fd er aben for laesning udfylder systemkaldet vmsplice() nr_segs-intervaller for brugerhukommelse beskrevet af iov fra en datakanal. Fildeskriptoren fd skal referere til en datakanal. Tekstsogeren iov peger pa en tabel af iovec-strukturer som beskrevet i iovec(3type). Argumentet flags er en bit-maske, der er sammensat af ORing sammen med nul eller flere af de folgende vaerdier: SPLICE_F_MOVE Ubrugt for vmsplice(); se splice(2). SPLICE_F_NONBLOCK Bloker ikke en I/O; se splice(2) for yderligere detaljer. SPLICE_F_MORE Har i ojeblikket ingen effekt for vmsplice(), men kan blive implementeret i fremtiden; se splice(2). SPLICE_F_GIFT Brugersiderne er gift for kernen. Programmet aendrer maske ikke denne hukommelse nogensinde, eller sidemellemlageret og data pa disken kan vaere forskellige. At give sider i gave til kernen betyder, at en efterfolgende splice(2) SPLICE_F_MOVE med succes kan flytte siderne; hvis dette flag ikke er angivet, sa skal en efterfolgende splice(2) SPLICE_F_MOVE kopiere siderne. Data skal vaere korrekt sidejusteret, bade i hukommelse og laengde. RETURVAERDI Ved succesfuld fuldforelse returnerer vmsplice() antallet af byte overfort til datakanalen. Ved fejl returnerer vmsplice() -1 og errno angives for at indikere fejlen. FEJL EAGAIN SPLICE_F_NONBLOCK blev angivet i flag, og operationen ville blokere. EBADF fd er enten ikke gyldig, eller refererer ikke til en datakanal. EINVAL nr_segs er storre end IOV_MAX; eller hukommelsen er ikke justeret hvis SPLICE_F_GIFT er angivet. ENOMEM Ikke nok hukommelse. STANDARDER Linux. HISTORIK Linux 2.6.17, glibc 2.5. NOTER vmsplice() folger de andre vektoriserede laese/skriv-typefunktioner nar det kommer til begraensninger pa antallet af segmenter sendt ind. Denne begraensning er IOV_MAX som defineret i . I ojeblikket er denne begraensning 1024. vmsplice() understotter korrekt splejsning kun fra brugerhukommelse til en datakanal. I den modsatte retning kopieres bare dataene til brugerrummet. Men dette gor graensefladen paen og symmetrisk og gor det muligt at bygge pa vmsplice() med plads til fremtidige forbedringer i ydelsen. SE OGSA splice(2), tee(2), pipe(7) OVERSAETTELSE Oversaettere af denne manual til dansk Joe Hansen Denne oversaettelse er gratis dokumentation; laes GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. Hvis du stoder pa fejl i oversaettelsen af denne vejledning, skal du sende en besked til . Linux man-pages 6.17 8. februar 2026 vmsplice(2)