NAZWA¶
intro - wprowadzenie do wywołań systemowych
OPIS¶
Dział 2. podręcznika opisuje wywołania systemowe Linuksa.
Wywołanie systemowe jest punktem dostępu do jądra Linux. Nie
są one zwykle wywoływane bezpośrednio: większość
wywołań systemowych posiada odpowiednie funkcje obudowujące
biblioteki C, które przeprowadzają wymagane kroki (np.
przejście do trybu jądra), aby je wywołać. Dlatego
wykonanie wywołania systemowego wygląda tak samo, jak wywołanie
zwykłej funkcji bibliotecznej.
Lista wywołań systemowych Linuksa jest dostępna w
podręczniku
syscalls(2).
WARTOŚĆ ZWRACANA¶
W przypadku błędu, większość wywołań zwraca
ujemną liczbę błędu (tzn. ujemną wartość
jednej ze stałych opisanych w
errno(3)). Opakowania biblioteki C
ukrywają te detale przed wywołującym: gdy wywołanie
systemowe zwróci wartość ujemną, opakowanie kopiuje
wartość absolutną do zmiennej
errno i zwraca -1 jako
wartość zwracaną przez opakowanie.
Wartość zwracana przez udane wywołanie systemowe zależy od
niego. Wiele wywołań zwraca przy powodzeniu 0, lecz niektóre
zwracają również wartości niezerowe przy pomyślnym
wywołaniu systemowym. Detale są opisane w poszczególnych
stronach podręcznika.
W niektórych przypadkach, programista musi zdefiniować testowe makro
funkcji aby pozyskać deklarację wywołania systemowego z pliku
nagłówkowego opisanego w rozdziale SKŁADNIA strony
podręcznika systemowego (gdy jest to wymagane, takie makra muszą
być zdefiniowane przez dołączeniem
jakichkolwiek
plików nagłówkowych). W takich sytuacjach, wymagane makro jest
opisane w odpowiednim podręczniku systemowym. Więcej informacji o
testowych makrach funkcji można znaleźć w
feature_test_macros(7).
ZGODNE Z¶
Poszczególne zwroty i skróty używane do określenia
wariantów Uniksa i standardów, do których wywołania w tym
dziale się stosują. Patrz
standards(7).
UWAGI¶
Bezpośrednie wywoływanie¶
W większości przypadków nie ma potrzeby bezpośredniego
wywoływania wywołań systemowych, lecz czasem zdarza się,
że jakaś przydatna funkcja systemowa nie ma zaimplementowanego
przydatnej funkcji opakowującej w standardowej bibliotece C. Programista
musi wówczas wywołać wywołanie systemowe ręcznie, za
pomocą
syscall(2). Dawniej można było użyć
również jednego z makr _syscall, opisanych w
_syscall(2).
Autorzy i prawa autorskie¶
Nagłówek źródeł każdej strony podręcznika
systemowego zawiera informacje o autorach i warunkach wykorzystania. Mogą
się one różnić, w zależności od strony.
ZOBACZ TAKŻE¶
_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),
svipc(7),
symlink(7),
time(7)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 3.40 projektu Linux
man-pages. Opis projektu oraz informacje dotyczące zgłaszania
błędów można znaleźć pod adresem
http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Adam Byrtek (PTM) <alpha@irc.pl>, Andrzej M. Krzysztofowicz
(PTM) <ankry@green.mf.pg.gda.pl> i Michał Kułach
<michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl;
uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją
3.40 oryginału.