intro(2) System Calls Manual intro(2) NAVN intro - introduktion til systemkald BESKRIVELSE Afsnit 2 af manualen beskriver Linux' systemkald. Et systemkald er et indgangspunkt til Linuxkernen. Normalt igangsaettes systemkald ikke direkte: I stedet for har de fleste systemkald tilsvarende C-biblioteksomslagsfunktioner, der udforer trinene kraevet (f.eks. trapping til kernetilstand) for at igangsaette systemkaldet. Dermed ligner det at lave et systemkald en igangsaettelse af en normal biblioteksfunktion. I mange tilfaelde udforer C-biblioteksomslagsfunktionen ikke mere end: o kopiering af argumenter og det unikke systemkaldnummer til registrene, hvor kernen forventer dem; o trapping til kernetilstand, hvorefter kernen udforer det faktiske abrejde for systemkaldet; o angivelse af errno hvis systemkaldet returnerer et fejlnummmer, nar kernen returnerer CPU'en til brugertilstand. I nogle fa tilfaelde kan en omslagsfunktion dog gore mere ende dette, for eksempel udfore lidt forberedelse af argumenterne for trapping til kernetilstand, eller udsaettelse af vaerdier returneret af systemkaldet. Hvor dette er tilfaeldet, sa forsoger manualsiderne i afsnit 2 generelt at bemaerke detaljerne for bade (normalt GNU) C-biblioteks API-graensefladen og det ra systemkald. Oftest, vil hovedbeskrivelsen fokusere pa C-biblioteksgraensefladen, og forskelle for systemkaldet er daekkes i NOTER-afsnittet. For en liste over Linux' systemkald, se syscalls(2). RETURVAERDI Ved fejl returnerer de fleste systemkald et negativt fejlnummer (dvs. den negeret vaerdi af en af konstanterne beskrevet i errno(3)). C-biblioteksomslaget skjuler denne detalje fra kalderen: Nar et systemkald returnerer en negativ vaerdi, sa kopierer omslaget den absolutte vaerdi ind i errno-vaerdien og returnerer -1 som returvaerdi for omslaget. Vaerdien returneret af et succesfuldt systemkald afhaenger af kaldet. Mange systemkald returnerer 0 ved succes, men nogle kan returnere andre vaerdier end 0 fra et succesfuldt kald. Detaljerne er beskrevet i de individuelle manualsider. I nogle tilfaelde ma programmoren definere en funktionstestmakro for at kunne se erklaeringen for et systemkald fra teksthovedfilen angivet i manualsidens SYNOPSIS-afsnit. (Hvor kraevet, ma disse funktionstekstmakroer vaere defineret for inkludering af enhver teksthovedfil). I sadanne tilfaelde, er den kraevede makro beskrevet i manualsiden. For yderligere information om funktionstestmakroer, se feature_test_macros(7). STANDARDER Bestemte termer og forkortelser bruges til at indikere UNIX-varianter og standarder som kald i dette afsnit er i overensstemmelse med. Se standards(7). NOTER Direkte kald I de fleste tilfaelde er det unodvendigt at starte et systemkald direkte, men der er tidspunkter, hvor C-standardbiblioteket ikke implementerer en paent omslagsfunktion for dig. I dette tilfaelde skal programmoren starte systemkaldet via syscall(2). Historisk var dette ogsa muligt via en af _syscall-makroerne beskrevet i _Syscall(2). Forfattere og ophavsretsbetingelser Kig i teksthovedet for manualsidens kilde for forfatter(e) og ophavsretsbetingelser. Bemaerk at disse kan vaere forskellige fra side til side! SE OGSA _syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7), time(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.06 31. oktober 2023 intro(2)