|
Ivana Varekova |
2c82b59 |
diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/sigaction.2 man-pages-cs-0.18.20090209/man-pages/man2/sigaction.2
|
|
Ivana Varekova |
2c82b59 |
--- man-pages-cs-0.18.20090209-orig/man-pages/man2/sigaction.2 1999-05-31 19:28:28.000000000 +0200
|
|
Ivana Varekova |
2c82b59 |
+++ man-pages-cs-0.18.20090209/man-pages/man2/sigaction.2 2009-11-13 12:46:19.000000000 +0100
|
|
Ivana Varekova |
2c82b59 |
@@ -1,10 +1,10 @@
|
|
Ivana Varekova |
2c82b59 |
-.TH SIGACTION 2 "18.února 1997" "Linux 1.3" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
+.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10
|
|
Ivana Varekova |
2c82b59 |
+.TH SIGACTION 2 "29.října 2009" "Linux 1.3" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
.do hla cs
|
|
Ivana Varekova |
2c82b59 |
.do hpf hyphen.cs
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
.SH JMÉNO
|
|
Ivana Varekova |
2c82b59 |
-sigaction, sigprocmask, sigpending, sigsuspend \- Funkce POSIXu
|
|
Ivana Varekova |
2c82b59 |
-pro práci se signály.
|
|
Ivana Varekova |
2c82b59 |
+sigaction \- prověří a změní akci signálu
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
.SH SYNTAXE
|
|
Ivana Varekova |
2c82b59 |
.B #include <signal.h>
|
|
Ivana Varekova |
2c82b59 |
@@ -12,12 +12,11 @@
|
|
Ivana Varekova |
2c82b59 |
.BI "int sigaction(int " signum ", const struct sigaction *" act ","
|
|
Ivana Varekova |
2c82b59 |
.BI "struct sigaction *" oldact );
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
-.BI "int sigprocmask(int " how ", const sigset_t *" set ", "
|
|
Ivana Varekova |
2c82b59 |
-.BI "sigset_t *" oldset );
|
|
Ivana Varekova |
2c82b59 |
-.sp
|
|
Ivana Varekova |
2c82b59 |
-.BI "int sigpending(sigset_t *" set );
|
|
Ivana Varekova |
2c82b59 |
+Vyžaduje Feature Test Makro pro glibc (viz \fBfeature_test_macros\fP(7)):
|
|
Ivana Varekova |
2c82b59 |
+.fi
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
-.BI "int sigsuspend(const sigset_t *" mask );
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBsigaction\fP(): _POSIX_C_SOURCE>=1 || _XOPEN_SOURCE || _POSIX_SOURCE
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
.SH POPIS
|
|
Ivana Varekova |
2c82b59 |
Systémovým voláním
|
|
Ivana Varekova |
2c82b59 |
@@ -35,7 +34,7 @@
|
|
Ivana Varekova |
2c82b59 |
.I act
|
|
Ivana Varekova |
2c82b59 |
nenulová, je pro signál
|
|
Ivana Varekova |
2c82b59 |
.I signum
|
|
Ivana Varekova |
2c82b59 |
-nainstalována akce
|
|
Ivana Varekova |
2c82b59 |
+nainstalovaná akce
|
|
Ivana Varekova |
2c82b59 |
.IR act.
|
|
Ivana Varekova |
2c82b59 |
Je-li hodnota
|
|
Ivana Varekova |
2c82b59 |
.I oldact
|
|
Ivana Varekova |
2c82b59 |
@@ -57,6 +56,17 @@
|
|
Ivana Varekova |
2c82b59 |
.fi
|
|
Ivana Varekova |
2c82b59 |
.RE
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
+Na některých architekturách je zahrnuto sjednocení: nepřiřazujte do
|
|
Ivana Varekova |
2c82b59 |
+.I sa_handler
|
|
Ivana Varekova |
2c82b59 |
+a
|
|
Ivana Varekova |
2c82b59 |
+.I sa_sigaction.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Prvek
|
|
Ivana Varekova |
2c82b59 |
+.I sa_restorer
|
|
Ivana Varekova |
2c82b59 |
+je zastaralý a neměl by být používán. Norma POSIX
|
|
Ivana Varekova |
2c82b59 |
+nespecifikuje prvek
|
|
Ivana Varekova |
2c82b59 |
+.I sa_restorer.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
.I sa_handler
|
|
Ivana Varekova |
2c82b59 |
určuje akci, která má být přiřazena signálu
|
|
Ivana Varekova |
2c82b59 |
.I signum
|
|
Ivana Varekova |
2c82b59 |
@@ -65,14 +75,29 @@
|
|
Ivana Varekova |
2c82b59 |
pro implicitní akci,
|
|
Ivana Varekova |
2c82b59 |
.B SIG_IGN
|
|
Ivana Varekova |
2c82b59 |
pro ignorování signálu, nebo ukazatel na funkci ošetřující signál.
|
|
Ivana Varekova |
2c82b59 |
+Tato funkce má ošetřující funkci jako jediný parametr.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Pokud je v
|
|
Ivana Varekova |
2c82b59 |
+.I sa_flags
|
|
Ivana Varekova |
2c82b59 |
+specifikováno
|
|
Ivana Varekova |
2c82b59 |
+.B SA_SIGINFO,
|
|
Ivana Varekova |
2c82b59 |
+pak je obslužná funkce pro \fIsignum\fP specifikována v
|
|
Ivana Varekova |
2c82b59 |
+.I sa_sigaction
|
|
Ivana Varekova |
2c82b59 |
+a ne v
|
|
Ivana Varekova |
2c82b59 |
+.I sa_handler.
|
|
Ivana Varekova |
2c82b59 |
+Tato funkce obdrží číslo signálu jako první parametr,
|
|
Ivana Varekova |
2c82b59 |
+ukazatel na
|
|
Ivana Varekova |
2c82b59 |
+.I siginfo_t
|
|
Ivana Varekova |
2c82b59 |
+jako druhý parametr a ukazatel na
|
|
Ivana Varekova |
2c82b59 |
+.I ucontext_t
|
|
Ivana Varekova |
2c82b59 |
+jako poslední třetí parametr.
|
|
Ivana Varekova |
2c82b59 |
+.I sa
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
.I sa_mask
|
|
Ivana Varekova |
2c82b59 |
je maska signálů, které mají být zablokovány při obsluze signálu.
|
|
Ivana Varekova |
2c82b59 |
Navíc je zablokován signál, který vyvolal akci, nejsou\-li
|
|
Ivana Varekova |
2c82b59 |
nastaveny příznaky
|
|
Ivana Varekova |
2c82b59 |
-.B SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
-nebo
|
|
Ivana Varekova |
2c82b59 |
-.B SA_NOMASK .
|
|
Ivana Varekova |
2c82b59 |
+.B SA_NODEFER .
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
.I sa_flags
|
|
Ivana Varekova |
2c82b59 |
je množina příznaků, které ovlivňují obsluhu signálu.
|
|
Ivana Varekova |
2c82b59 |
@@ -87,121 +112,323 @@
|
|
Ivana Varekova |
2c82b59 |
tento proces signál
|
|
Ivana Varekova |
2c82b59 |
.BR SIGSTOP ", " SIGTSTP ", " SIGTTIN
|
|
Ivana Varekova |
2c82b59 |
nebo
|
|
Ivana Varekova |
2c82b59 |
-.BR SIGTTOU ")."
|
|
Ivana Varekova |
2c82b59 |
+.BR SIGTTOU ")"
|
|
Ivana Varekova |
2c82b59 |
+nebo při ukončení (tj. při obdržení
|
|
Ivana Varekova |
2c82b59 |
+.BR SIGCONT ")"
|
|
Ivana Varekova |
2c82b59 |
+(viz \fBwait\fP(2)). Toto nastavení má smysl pouze
|
|
Ivana Varekova |
2c82b59 |
+při zřízení obslužné funkce pro
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BR SA_NOCLDWAIT " (Od Linuxu 2.6)
|
|
Ivana Varekova |
2c82b59 |
+Je-li \fIsignum\fP rovno \fSIGCHLD\fP, nejsou z potomci procesu
|
|
Ivana Varekova |
2c82b59 |
+poté co skončí transformovány na zombie. Další informace také \fBwaitpid\fP(2).
|
|
Ivana Varekova |
2c82b59 |
+Tento příznak má smysl pouze když je nastavena obslužná funkce pro
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+nebo je nastaveno
|
|
Ivana Varekova |
2c82b59 |
+.B SIG_DFL.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Je-li příznak \fBSA_NOCLDWAIT\fP nastaven během zřizování obslužné funkce
|
|
Ivana Varekova |
2c82b59 |
+pro
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD,
|
|
Ivana Varekova |
2c82b59 |
+pak norma POSIX.1 nespecifikuje zda je signál
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+generován při ukončení potomka procesu. Na Linuxu je
|
|
Ivana Varekova |
2c82b59 |
+signál
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+v takovémto případě generován. V některých jiných implementacích
|
|
Ivana Varekova |
2c82b59 |
+však signál generován není.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BR SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
+Umožní příchod dalšího signálu během jeho vlastní obslužné funkce.
|
|
Ivana Varekova |
2c82b59 |
+Má smysl pouze pokud je nastavena obslužná funkce.
|
|
Ivana Varekova |
2c82b59 |
+.B SA_NOMASK
|
|
Ivana Varekova |
2c82b59 |
+je zastaralé a nestandardní synonymum.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BR SA_ONSTACK
|
|
Ivana Varekova |
2c82b59 |
+Zavolá obslužnou funkci na alternativním signálovém zásobníku
|
|
Ivana Varekova |
2c82b59 |
+poskytnutého prostřednictvím \fBsigaltstack\fP(2). Pokud není
|
|
Ivana Varekova |
2c82b59 |
+alternativní zásobník dostupný, bude použit implicitní z
|
|
Ivana Varekova |
2c82b59 |
+zásobník. Toto nastavení je smysluplné pouze v případě, že
|
|
Ivana Varekova |
2c82b59 |
+je nastavena obslužná funkce.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.BR SA_ONESHOT " nebo " SA_RESETHAND
|
|
Ivana Varekova |
2c82b59 |
+.BR SA_RESETHAND
|
|
Ivana Varekova |
2c82b59 |
Poté, co je zavolána obslužná funkce, se obsluha signálu vrací do
|
|
Ivana Varekova |
2c82b59 |
-implicitního stavu. (Takto se normálně chová systémové volání
|
|
Ivana Varekova |
2c82b59 |
-.BR signal "(2) .)"
|
|
Ivana Varekova |
2c82b59 |
+implicitního stavu. Toto nastavení je smysluplné pouze v případě, že
|
|
Ivana Varekova |
2c82b59 |
+je nastavena obslužná funkce.
|
|
Ivana Varekova |
2c82b59 |
+.B SA_ONESHOT
|
|
Ivana Varekova |
2c82b59 |
+je zastaralé a nestandardní synonymum.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
.B SA_RESTART
|
|
Ivana Varekova |
2c82b59 |
Nastaví kompatibilní chování s BSD: určitá systémová volání pak
|
|
Ivana Varekova |
2c82b59 |
-jsou po zpracování signálu restartována.
|
|
Ivana Varekova |
2c82b59 |
+jsou po zpracování signálu restartována. Toto nastavení je
|
|
Ivana Varekova |
2c82b59 |
+smysluplné pouze v případě, že je nastavena obslužná funkce.
|
|
Ivana Varekova |
2c82b59 |
+Pro více informací o restartu systémového volání se obraťte na
|
|
Ivana Varekova |
2c82b59 |
+\fBsignal\fP(7).
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.BR SA_NOMASK " neboli " SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
-Umožní příchod dalšího signálu během jeho vlastní obslužné funkce.
|
|
Ivana Varekova |
2c82b59 |
+.B SA_SIGINFO "(Od Linuxu 2.2)
|
|
Ivana Varekova |
2c82b59 |
+Obslužná funkce má tři parametry, ne jeden. V tomto případě
|
|
Ivana Varekova |
2c82b59 |
+.I sa_sigaction
|
|
Ivana Varekova |
2c82b59 |
+by mělo být nastaveno místo
|
|
Ivana Varekova |
2c82b59 |
+.I sa_handler.
|
|
Ivana Varekova |
2c82b59 |
+Toto nastavení je
|
|
Ivana Varekova |
2c82b59 |
+smysluplné pouze v případě, že je nastavena obslužná funkce.
|
|
Ivana Varekova |
2c82b59 |
.RE
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Pole
|
|
Ivana Varekova |
2c82b59 |
-.I sa_restorer
|
|
Ivana Varekova |
2c82b59 |
-je neaktuální a nemělo by být používáno.
|
|
Ivana Varekova |
2c82b59 |
+Parametr \fIsiginfo_t\fP pro \fIsa_sigaction\fP je struktura s následujícími
|
|
Ivana Varekova |
2c82b59 |
+prvky:
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Systémovým voláním
|
|
Ivana Varekova |
2c82b59 |
-.B sigprocmask
|
|
Ivana Varekova |
2c82b59 |
-lze měnit seznam momentálně blokovaných signálů. Záleží na parametru
|
|
Ivana Varekova |
2c82b59 |
-.IR how ,
|
|
Ivana Varekova |
2c82b59 |
-jaká změna nastane:
|
|
Ivana Varekova |
2c82b59 |
-.RS
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-.B SIG_BLOCK
|
|
Ivana Varekova |
2c82b59 |
-Nový seznam blokovaných signálů bude obsahovat dosud blokované signály
|
|
Ivana Varekova |
2c82b59 |
-a signály v parametru
|
|
Ivana Varekova |
2c82b59 |
-.I set .
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-.B SIG_UNBLOCK
|
|
Ivana Varekova |
2c82b59 |
-Signály v parametru
|
|
Ivana Varekova |
2c82b59 |
-.I set
|
|
Ivana Varekova |
2c82b59 |
-jsou odstraněny ze seznamu blokovaných signálů.
|
|
Ivana Varekova |
2c82b59 |
-Je přípustné uvést v parametru
|
|
Ivana Varekova |
2c82b59 |
-.I set
|
|
Ivana Varekova |
2c82b59 |
-signál, který není blokován.
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-.B SIG_SETMASK
|
|
Ivana Varekova |
2c82b59 |
-Seznam blokovaných signálů je nastaven na
|
|
Ivana Varekova |
2c82b59 |
-.IR set .
|
|
Ivana Varekova |
2c82b59 |
-.RE
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Je\-li hodnota parametru
|
|
Ivana Varekova |
2c82b59 |
-.I oldset
|
|
Ivana Varekova |
2c82b59 |
-nenulová, je předchozí seznam blokovaných signálů uložen do
|
|
Ivana Varekova |
2c82b59 |
-.IR oldset .
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Systémové volání
|
|
Ivana Varekova |
2c82b59 |
-.B sigpending
|
|
Ivana Varekova |
2c82b59 |
-dovoluje zjistit nevyřízené signály (které přišly při zablokování).
|
|
Ivana Varekova |
2c82b59 |
-Maska nevyřízených signálů je uložena do parametru
|
|
Ivana Varekova |
2c82b59 |
-.IR set .
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Volání
|
|
Ivana Varekova |
2c82b59 |
-.B sigsuspend
|
|
Ivana Varekova |
2c82b59 |
-přechodně nahradí masku signálů maskou zadanou v parametru
|
|
Ivana Varekova |
2c82b59 |
-.I mask
|
|
Ivana Varekova |
2c82b59 |
-a poté pozdrží provádění procesu do obdržení signálu.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-.SH "NÁVRATOVÉ HODNOTY"
|
|
Ivana Varekova |
2c82b59 |
-Funkce
|
|
Ivana Varekova |
2c82b59 |
-.BR sigaction ,
|
|
Ivana Varekova |
2c82b59 |
-.BR sigprocmask ,
|
|
Ivana Varekova |
2c82b59 |
-.B sigpending
|
|
Ivana Varekova |
2c82b59 |
-a
|
|
Ivana Varekova |
2c82b59 |
-.B sigsuspend
|
|
Ivana Varekova |
2c82b59 |
-vrací 0 při úspěšném provedení a -1 při chybě.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-.SH "CHYBOVÉ HODNOTY"
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.nf
|
|
Ivana Varekova |
2c82b59 |
+siginfo_t {
|
|
Ivana Varekova |
2c82b59 |
+ int si_signo; /*číslo signálu*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_errno; /*hodnota errno*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_code; /*kód signálu*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_trapno; /*číslo, které zapříčinilo hard-
|
|
Ivana Varekova |
2c82b59 |
+ warově generovaný signál (nepo-
|
|
Ivana Varekova |
2c82b59 |
+ užito na většině architektur)*/
|
|
Ivana Varekova |
2c82b59 |
+ pid_t si_pid; /*ID odesílajícího procesu*/
|
|
Ivana Varekova |
2c82b59 |
+ uid_t si_uid; /*skutečné ID vlastníka*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_status; /*návratová hodnota signálu*/
|
|
Ivana Varekova |
2c82b59 |
+ clock_t si_utime; /*spotřeba uživatelského času*/
|
|
Ivana Varekova |
2c82b59 |
+ clock_t si_stime; /*spotřeba systémového času*/
|
|
Ivana Varekova |
2c82b59 |
+ sigval_t si_value; /*hodnota signálu*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_int; /*POSIX.1b signál*/
|
|
Ivana Varekova |
2c82b59 |
+ void *si_ptr; /*POSIX.1b signál*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_overrun; /*počítadlo časovače*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_timerid; /*ID časovače POSIX.1b*/
|
|
Ivana Varekova |
2c82b59 |
+ void *si_addr; /*paměťová lokace, která
|
|
Ivana Varekova |
2c82b59 |
+ způsobila chybu*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_band; /*band event*/
|
|
Ivana Varekova |
2c82b59 |
+ int si_fd; /*identifikátor souboru*/
|
|
Ivana Varekova |
2c82b59 |
+}
|
|
Ivana Varekova |
2c82b59 |
+.fi
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Proměnné \fIsi_signo\fP, \fIsi_errno\fP a \fIsi_code\fP jsou
|
|
Ivana Varekova |
2c82b59 |
+definována pro všechny signály. (\fIsi_errno\fP se na Linuxu
|
|
Ivana Varekova |
2c82b59 |
+většinou nepoužívá) Zbytek struktury může být union, takže
|
|
Ivana Varekova |
2c82b59 |
+by měla být čtena pouze pole, která mají význam pro daný signál:
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+* POSIX.1b signály a \fBSIGCHLD\fP nastavují \fIsi_pid\fP a \fIsi_uid\fP.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+* POSIX.1b časovače (od Linux verze 2.6) nastavují \fIsi_overrun\fP
|
|
Ivana Varekova |
2c82b59 |
+ a \fIsi_timerid\fP. Pole \fIsi_timerid\fP je interní ID použité
|
|
Ivana Varekova |
2c82b59 |
+ kernelem pro identifikaci časovače. Není to stejné číslo
|
|
Ivana Varekova |
2c82b59 |
+ jako ID vracené funkcí \fBtimer_create\fP(2).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+* \fBSIGCHLD\fP použije \fIsi_status\fP, \fIsi_utime\fP a \fIsi_stime\fP.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+* Proměnné \fIsi_int\fP a \fIsi_ptr\fP jsou specifikována odesilatelem
|
|
Ivana Varekova |
2c82b59 |
+ POSIX.1b signálu. Více detailů lze nalézt v \fBsigqueue\fP(2).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+* \fBSIGILL, SIGFPE, SIGSEGV\fP a \fBSIGBUS\fP používají \fIsi_addr\fP kam
|
|
Ivana Varekova |
2c82b59 |
+ vloží adresu chyby. \fBSIGPOLL\fP používá \fIsi_band\fP a \fIsi_fd\fP.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+je hodnota (ne bitová maska) indikující který signál byl zaslán. Následující
|
|
Ivana Varekova |
2c82b59 |
+seznam ukazuje hodnoty, které mohou být umístěny v poli \fIsi_code\fP společně
|
|
Ivana Varekova |
2c82b59 |
+s důvodem, proč byl signál generován.
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.B EINVAL
|
|
Ivana Varekova |
2c82b59 |
-Byl zadán neplatný signál. Tato chyba je také generována při pokusu
|
|
Ivana Varekova |
2c82b59 |
-změnit obsluhu signálů
|
|
Ivana Varekova |
2c82b59 |
-.BR SIGKILL " nebo " SIGSTOP ", "
|
|
Ivana Varekova |
2c82b59 |
-které nemohou být zachyceny.
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_USER\fP \fBkill\fP(2) nebo \fBraise\fP(3)
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.B EFAULT
|
|
Ivana Varekova |
2c82b59 |
-.IR act ", " oldact ", " set
|
|
Ivana Varekova |
2c82b59 |
-nebo
|
|
Ivana Varekova |
2c82b59 |
-.I oldset
|
|
Ivana Varekova |
2c82b59 |
-ukazují do oblasti paměti, která nepatří do adresního prostoru procesu.
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_KERNEL\fP Signály zaslané kernelem.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.B EINTR
|
|
Ivana Varekova |
2c82b59 |
-Systémové volání bylo přerušeno.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-.SH POZNÁMKY
|
|
Ivana Varekova |
2c82b59 |
-Signály
|
|
Ivana Varekova |
2c82b59 |
-.BR SIGKILL " or " SIGSTOP
|
|
Ivana Varekova |
2c82b59 |
-nelze blokovat voláním
|
|
Ivana Varekova |
2c82b59 |
-sigprocmask. Pokusy o to budou v tichosti ignorovány.
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Podle normy POSIX není definováno chování procesu poté, co
|
|
Ivana Varekova |
2c82b59 |
-ignoruje signál SIGFPE, SIGILL, nebo SIGSEGV, který nebyl generován
|
|
Ivana Varekova |
2c82b59 |
-funkcemi \fIkill()\fP nebo \fIraise()\fP.
|
|
Ivana Varekova |
2c82b59 |
-Celočíselné dělení nulou dává nedefinovaný výsledek a
|
|
Ivana Varekova |
2c82b59 |
-na některých architekturách generuje signál SIGFPE.
|
|
Ivana Varekova |
2c82b59 |
-Ignorování tohoto signálu může způsobit zacyklení procesu.
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_QUEUE\fP \fBsigqueue\fP(2)
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_TIMER\fP vypršel POSIXový časovač
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_MESGQ\fP změnil se stav POSIXové fronty zpráv
|
|
Ivana Varekova |
2c82b59 |
+ (Od Linuxu 2.6.6). Viz. \fBmq_notify\fP(3)
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_ASINCIO\fP Dokončeno AIO.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_SIGIO\fP SIGIO zařazeno do fronty
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSI_TKILL\fP \fBtkill\fP(2) nebo \fBtgkill\fP(2) (od Linuxu 2.4.19)
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Nastavení akce pro signál
|
|
Ivana Varekova |
2c82b59 |
-.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
-na
|
|
Ivana Varekova |
2c82b59 |
-.B SIG_IGN
|
|
Ivana Varekova |
2c82b59 |
-způsobí automatický zánik dětských procesů po jejich ukončení.
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Norma POSIX definuje pouze příznak
|
|
Ivana Varekova |
2c82b59 |
-.BR SA_NOCLDSTOP .
|
|
Ivana Varekova |
2c82b59 |
-Používání jiných příznaků v
|
|
Ivana Varekova |
2c82b59 |
-.I sa_flags
|
|
Ivana Varekova |
2c82b59 |
-je nepřenositelné.
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGILL\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_ILLOPC\fP nesprávný opcode
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_ILLOPN\fP nesprávný operand
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_ILLADR\fP nesprávný adresovací mód
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_ILLTRP\fP illegal trap
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_PRVOPC\fP privilegovaný opcode
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_PRVREG\fP privilegovaný registr
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_COPROC\fP chyba koprocesoru
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBILL_BADSTK\fP chyba interního zásobníku
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGFPE\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_INTDIV\fP integer dělný nulou
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_INTOVF\fP přetečení integeru
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTDIV\fP float číslo dělené nulou
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTOVF\fP přetečení čísla typu float
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTUND\fP podtečení čísla typu float
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTRES\fP nepřesný výsledek typu float
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTINV\fP neplatná operace s čísly typu float
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBFPE_FLTSUB\fP index mimo rozsah
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGSEGV\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSEGV_MAPERR\fP adresa není namapována na objekt
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBSEGV_ACCERR\fP neplatná práva namapovaného objektu
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGBUS\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBBUS_ADRALN\fP špatné zarovnání adresy
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBBUS_ADDERR\fP fyzická adresa neexistuje
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBBUS_OBJERR\fP objektově specifická hardwarová chyba
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGTRAP\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBTRAP_BRKPT\fP breakpoint procesu
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBTRAP_TRACE\fP proces trace trap
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGCHLD\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_EXITED\fP potomek procesu skončil
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_KILLED\fP potomek procesu byl zabit
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_DUMPED\fP abnormální ukončení potomka procesu
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_TRAPPED\fP traced child was trapped
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_STOPPED\fP pozastavení potomka procesu
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBCLD_CONTINUED\fP pozastavený potomek pokračuje (od Linuxu
|
|
Ivana Varekova |
2c82b59 |
+ verze 2.6.9)
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.RE
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Následující hodnoty mohou být umístěny v
|
|
Ivana Varekova |
2c82b59 |
+.I si_code
|
|
Ivana Varekova |
2c82b59 |
+pro signál \fBSIGPOLL\fP:
|
|
Ivana Varekova |
2c82b59 |
+.RS
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_INN\fP k dispozici data na vstupu
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_OUT\fP výstupní buffery k dispozici
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_MSG\fP dostupná příchozí zpráva
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_ERR\fP V/V chyba
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_PRI\fP prioritní vstup k dispozici
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+\fBPOLL_HUP\fP zařízení odpojeno
|
|
Ivana Varekova |
2c82b59 |
+.SH NÁVRATOVÁ HODNOTA
|
|
Ivana Varekova |
2c82b59 |
+\fBsigaction\fP() vrací 0 při úspěchu a -1 při chybě.
|
|
Ivana Varekova |
2c82b59 |
+.SH CHYBY
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.B EFAULT
|
|
Ivana Varekova |
2c82b59 |
+\fIact\fP nebo \fIoldact\fP ukazují do paměti, která není platnou
|
|
Ivana Varekova |
2c82b59 |
+součástí adresového prostoru procesu.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.B EINVAL
|
|
Ivana Varekova |
2c82b59 |
+Byl specifikován neplatný signál. Tato chyba bude generována
|
|
Ivana Varekova |
2c82b59 |
+i v případě, že bude proveden pokus o změnu akce na příkaz
|
|
Ivana Varekova |
2c82b59 |
+.B SIGKILL
|
|
Ivana Varekova |
2c82b59 |
+nebo
|
|
Ivana Varekova |
2c82b59 |
+.B SIGSTOP.
|
|
Ivana Varekova |
2c82b59 |
+Tyto signály nemohou být zachyceny nebo ignorovány.
|
|
Ivana Varekova |
2c82b59 |
+.SH SPLŇUJE STANDARDY
|
|
Ivana Varekova |
2c82b59 |
+POSIX.1-2004, SVr4.
|
|
Ivana Varekova |
2c82b59 |
+.SH POZNÁMKY
|
|
Ivana Varekova |
2c82b59 |
+Podle normy POSIX je chování procesu nedefinované pokud ignoruje
|
|
Ivana Varekova |
2c82b59 |
+.B SIGFPE, SIGILL
|
|
Ivana Varekova |
2c82b59 |
+nebo
|
|
Ivana Varekova |
2c82b59 |
+.B SIGSEGV
|
|
Ivana Varekova |
2c82b59 |
+signály, které nebyly generované pomocí \fBkill\fP(2) nebo
|
|
Ivana Varekova |
2c82b59 |
+\fBraise\fP(3). Dělení nulou v pevné řádové čárce (integer)
|
|
Ivana Varekova |
2c82b59 |
+má nedefinovaný výsledek. Tato operace může na některých
|
|
Ivana Varekova |
2c82b59 |
+architekturách generovat
|
|
Ivana Varekova |
2c82b59 |
+.B SIGFPE
|
|
Ivana Varekova |
2c82b59 |
+signál. (Také dělení nejmenšího záporného čísla -1 může generovat
|
|
Ivana Varekova |
2c82b59 |
+.B SIGFPE.
|
|
Ivana Varekova |
2c82b59 |
+) Ignorování tohoto signálu může skončit nekonečnou smyčkou.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+POSIX.1-1990 neumožňovalo nastavení
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+na hodnotu
|
|
Ivana Varekova |
2c82b59 |
+.B SIG_IGN.
|
|
Ivana Varekova |
2c82b59 |
+POSIX.1-2001 toto nastavení umožňuje, takže ignorování
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+může být použito pro zamezení vytváření zombies (viz
|
|
Ivana Varekova |
2c82b59 |
+\fBwait\fP(2)). Nicméně starší BSD a System V aplikace
|
|
Ivana Varekova |
2c82b59 |
+se v chování na příkaz
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+liší a tak stále jediným přenositelným řešením, že se
|
|
Ivana Varekova |
2c82b59 |
+potomek nestane zombie, je odchytávání signálu
|
|
Ivana Varekova |
2c82b59 |
+.B SIGCHLD
|
|
Ivana Varekova |
2c82b59 |
+pomocí \fBwait\fP(2) nebo jiné podobné funkce.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Norma POSIX.1-1990 specifikovala pouze
|
|
Ivana Varekova |
2c82b59 |
+.B SA_NOCLDSTOP.
|
|
Ivana Varekova |
2c82b59 |
+Norma POSIX.1-2001 přidala
|
|
Ivana Varekova |
2c82b59 |
+.B SA_NOCLDWAIT, SA_RESETHAND, SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
+a
|
|
Ivana Varekova |
2c82b59 |
+.B SA_SIGINFO.
|
|
Ivana Varekova |
2c82b59 |
+Použití těchto hodnot v \fIsa_flags\fP může být hůře
|
|
Ivana Varekova |
2c82b59 |
+přenositelné na starší linuxové distribuce.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
Příznak
|
|
Ivana Varekova |
2c82b59 |
.B SA_RESETHAND
|
|
Ivana Varekova |
2c82b59 |
je kompatibilní se stejnojmenným příznakem v systémech SVr4.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
Příznak
|
|
Ivana Varekova |
2c82b59 |
.B SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
@@ -211,33 +438,46 @@
|
|
Ivana Varekova |
2c82b59 |
(což způsobovalo ignorování nastavení
|
|
Ivana Varekova |
2c82b59 |
.I sa_mask
|
|
Ivana Varekova |
2c82b59 |
).
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Jména
|
|
Ivana Varekova |
2c82b59 |
-.BR SA_RESETHAND " and " SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
-jsou určena pro kompatibilitu se SVr4 a byla zavedena ve verzi knihovny libc
|
|
Ivana Varekova |
2c82b59 |
-3.0.9.
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Pro zjištění momentálního stavu obsluhy signálů lze volat funkci
|
|
Ivana Varekova |
2c82b59 |
-.B sigaction
|
|
Ivana Varekova |
2c82b59 |
-s parametrem
|
|
Ivana Varekova |
2c82b59 |
-.IR act
|
|
Ivana Varekova |
2c82b59 |
-rovným nule.
|
|
Ivana Varekova |
2c82b59 |
-Zadáte\-li nulové parametry
|
|
Ivana Varekova |
2c82b59 |
-.IR act
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Pokud je funkce \fBsigaction\fP() volána s druhým argumentem rovným
|
|
Ivana Varekova |
2c82b59 |
+null, může být zjištěna aktuální obslužná funkce. Může být také zjištěno
|
|
Ivana Varekova |
2c82b59 |
+zda je daný signál podporován na na daném stroji pokud zavoláme tuto
|
|
Ivana Varekova |
2c82b59 |
+funkci s druhým a třetím argumentem rovným null.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Signály
|
|
Ivana Varekova |
2c82b59 |
+.B SIGKILL
|
|
Ivana Varekova |
2c82b59 |
a
|
|
Ivana Varekova |
2c82b59 |
-.IR oldact ","
|
|
Ivana Varekova |
2c82b59 |
-lze ji použít ke kontrole, je\-li daný signál na tom kterém systému
|
|
Ivana Varekova |
2c82b59 |
-použitelný.
|
|
Ivana Varekova |
2c82b59 |
-.PP
|
|
Ivana Varekova |
2c82b59 |
-Pro podrobnosti o manipulaci se skupinami signálů viz
|
|
Ivana Varekova |
2c82b59 |
-.BR sigsetops (3)
|
|
Ivana Varekova |
2c82b59 |
-.SH "SPLŇUJE STANDARDY"
|
|
Ivana Varekova |
2c82b59 |
-POSIX, SVr4.
|
|
Ivana Varekova |
2c82b59 |
-Dokumentace SVr4 se nezmiňuje o chybové hodnotě EINTR.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
+.B SIGSTOP
|
|
Ivana Varekova |
2c82b59 |
+nemohou být blokovány (specifikováním v \fIsa_mask\fP).
|
|
Ivana Varekova |
2c82b59 |
+Takovéto pokusy budou ignorovány bez vypsání chyby.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Pro více informací o manipulaci s množinami signálů se obraťte na
|
|
Ivana Varekova |
2c82b59 |
+\fBsigsetopts\fP(3).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Pro seznam asynchronních signálově bezpečných funkcí, které mohou
|
|
Ivana Varekova |
2c82b59 |
+být bezpečně volány zevnitř obslužné funkce použijte \fBsignal\fP(7).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.B Nezdokumentované
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+Před uvedením
|
|
Ivana Varekova |
2c82b59 |
+.B SA_SIGINFO
|
|
Ivana Varekova |
2c82b59 |
+bylo možné získat dodatečné informace pomocí funkce \fIsa_handler\fP
|
|
Ivana Varekova |
2c82b59 |
+s druhým parametrem typu \fIstruct sigcontext\fP. Pro více informací se
|
|
Ivana Varekova |
2c82b59 |
+obraťte na relevantní kernelové zdroje. Tato funkce je nyní již zastaralá.
|
|
Ivana Varekova |
2c82b59 |
+.SH CHYBY
|
|
Ivana Varekova |
2c82b59 |
+V kenelech do verze 2.6.13 včetně, specifikace
|
|
Ivana Varekova |
2c82b59 |
+.B SA_NODEFER
|
|
Ivana Varekova |
2c82b59 |
+v \fIsa_flags\fP zabránila nejenom vymaskování signálu během provádění
|
|
Ivana Varekova |
2c82b59 |
+obslužné funkce, ale měla také účinek na signály specifikované v
|
|
Ivana Varekova |
2c82b59 |
+\fIsa_mask\fP. Tato chyba byla odstraněna v kernelu 2.6.14.
|
|
Ivana Varekova |
2c82b59 |
+.SH PŘÍKLAD
|
|
Ivana Varekova |
2c82b59 |
+Viz \fBmprotect\fP(2).
|
|
Ivana Varekova |
2c82b59 |
.SH "DALŠÍ INFORMACE"
|
|
Ivana Varekova |
2c82b59 |
-.BR kill "(1), " kill "(2), " killpg "(2), " pause "(2), " raise "(3), "
|
|
Ivana Varekova |
2c82b59 |
-.BR siginterrupt "(3), " signal "(2), " signal "(7), " sigsetops "(3), "
|
|
Ivana Varekova |
2c82b59 |
-.BR sigvec (2)
|
|
Ivana Varekova |
2c82b59 |
-.SH VAROVÁNÍ
|
|
Ivana Varekova |
2c82b59 |
-Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
|
|
Ivana Varekova |
2c82b59 |
+.BR kill "(1), " kill "(2), " killpg "(2), " pause "(2), " sigaltstack "(2), "
|
|
Ivana Varekova |
2c82b59 |
+.BR signal "(2), " signalfd "(2), " sigpending "(2), " sigprocmask "(2), "
|
|
Ivana Varekova |
2c82b59 |
+.BR sigqueue "(2), " sigsuspend "(2), " wait "(2), " raise "(3), " siginterupt "(3) , "
|
|
Ivana Varekova |
2c82b59 |
+.BR sigsetopts "(3), " sigvec "(3), " core "(5), " signal "(7)
|
|
Ivana Varekova |
2c82b59 |
+.SH TIRÁŽ
|
|
Ivana Varekova |
2c82b59 |
+Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a
|
|
Ivana Varekova |
2c82b59 |
+informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/.
|
|
Ivana Varekova |
2c82b59 |
+
|
|
Ivana Varekova |
2c82b59 |
diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/socket.2 man-pages-cs-0.18.20090209/man-pages/man2/socket.2
|
|
Ivana Varekova |
2c82b59 |
--- man-pages-cs-0.18.20090209-orig/man-pages/man2/socket.2 1999-05-31 19:28:29.000000000 +0200
|
|
Ivana Varekova |
2c82b59 |
+++ man-pages-cs-0.18.20090209/man-pages/man2/socket.2 2009-11-13 12:48:12.000000000 +0100
|
|
Ivana Varekova |
2c82b59 |
@@ -1,10 +1,11 @@
|
|
Ivana Varekova |
2c82b59 |
-.TH SOCKET 2 "4. dubna 1997" "BSD Man Page" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
+.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10
|
|
Ivana Varekova |
2c82b59 |
+.TH SOCKET 2 "6. listopadu 2009" "BSD Man Page" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
.do hla cs
|
|
Ivana Varekova |
2c82b59 |
.do hpf hyphen.cs
|
|
Ivana Varekova |
2c82b59 |
.SH JMÉNO
|
|
Ivana Varekova |
2c82b59 |
socket \- vytvoř soket
|
|
Ivana Varekova |
2c82b59 |
.SH SYNTAXE
|
|
Ivana Varekova |
2c82b59 |
-.B #include <sys/types.h>
|
|
Ivana Varekova |
2c82b59 |
+\fB#include <sys/types.h>\fP /*Viz POZNÁMKY*/
|
|
Ivana Varekova |
2c82b59 |
.br
|
|
Ivana Varekova |
2c82b59 |
.B #include <sys/socket.h>
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
@@ -18,72 +19,71 @@
|
|
Ivana Varekova |
2c82b59 |
specifikuje jmenný prostor, ve kterém se bude komunikace odehrávat; tím je
|
|
Ivana Varekova |
2c82b59 |
zvolena i rodina protokolů, které mohou být použity. Tyto rodiny jsou
|
|
Ivana Varekova |
2c82b59 |
definovány v hlavičkovém souboru
|
|
Ivana Varekova |
2c82b59 |
-.IR sys/socket.h .
|
|
Ivana Varekova |
2c82b59 |
+.IR <sys/socket.h> .
|
|
Ivana Varekova |
2c82b59 |
V současné době jsou podporovány tyto formáty:
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Jméno Účel Man stránka
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_UNIX, AF_LOCAL\fP Lokální komunikace \fBunix\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_INET\fP Internetové protokolu IPv4 \fBip\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_INET6\fP Internetové protokolu IPv6 \fBipv6\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_IPX\fP Protokoly Novellu IPX
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_NETLINK\fP Uživatelské rozhraní kernelu \fBnetlink\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_X25\fP ITU-T X.25/ISO-8205 protokol \fBx25\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_AX25\fP Protokol pro Amatérskárádiova AX.25
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_ATMPVC\fP Přístup k ATM PVC
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_APPLETALK\fP Appletalk \fBddp\fP(7)
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+\fBAF_PACKET\fP paketové rozhraní nízké úrovně \fBpacket\fP(7)
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
-.RS
|
|
Ivana Varekova |
2c82b59 |
-.TP 0.9i
|
|
Ivana Varekova |
2c82b59 |
-AF_UNIX
|
|
Ivana Varekova |
2c82b59 |
-(interní protokol UNIXu)
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-AF_INET
|
|
Ivana Varekova |
2c82b59 |
-(Internetový jmenný prostor)
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-AF_ISO
|
|
Ivana Varekova |
2c82b59 |
-(protokoly ISO)
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-AF_NS
|
|
Ivana Varekova |
2c82b59 |
-(protokoly Xerox Network Systems)
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-AF_IMPLINK
|
|
Ivana Varekova |
2c82b59 |
-(IMP \*(lqhost at IMP\*(rq link layer)
|
|
Ivana Varekova |
2c82b59 |
-.RE
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-Soket má typ
|
|
Ivana Varekova |
2c82b59 |
+Soket má typ
|
|
Ivana Varekova |
2c82b59 |
.IR type ,
|
|
Ivana Varekova |
2c82b59 |
který specifikuje komunikační styl. Podporované typy jsou:
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-.RS
|
|
Ivana Varekova |
2c82b59 |
-.nf
|
|
Ivana Varekova |
2c82b59 |
-SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
-SOCK_DGRAM
|
|
Ivana Varekova |
2c82b59 |
-SOCK_RAW
|
|
Ivana Varekova |
2c82b59 |
-SOCK_SEQPACKET
|
|
Ivana Varekova |
2c82b59 |
-SOCK_RDM
|
|
Ivana Varekova |
2c82b59 |
-.fi
|
|
Ivana Varekova |
2c82b59 |
-.RE
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-A
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
poskytuje sekvenční, spolehlivou a dvoustrannou proudovou komunikaci.
|
|
Ivana Varekova |
2c82b59 |
Může být podporován mechanismus přenosu out-of-band dat.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_DGRAM
|
|
Ivana Varekova |
2c82b59 |
-soket podporuje datagramy (nespojované, nespolehlivé zprávy pevné (typicky
|
|
Ivana Varekova |
2c82b59 |
+Podporuje datagramy (nespojované, nespolehlivé zprávy pevné (typicky
|
|
Ivana Varekova |
2c82b59 |
malé) maximální délky).
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_SEQPACKET
|
|
Ivana Varekova |
2c82b59 |
-soket poskytuje sekvenční, spolehlivý, dvojstranný přenos dat pro datagramy
|
|
Ivana Varekova |
2c82b59 |
-pevné maximální délky; konzument může číst tato data voláním jádra. Tento
|
|
Ivana Varekova |
2c82b59 |
-typ je v současné době implementován pouze pro
|
|
Ivana Varekova |
2c82b59 |
-.BR AF_NS .
|
|
Ivana Varekova |
2c82b59 |
+Poskytuje sekvenční, spolehlivý, dvojstranný přenos dat pro datagramy
|
|
Ivana Varekova |
2c82b59 |
+pevné maximální délky. Konzument musí přečíst celý paket při každém volání
|
|
Ivana Varekova |
2c82b59 |
+systému.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_RAW
|
|
Ivana Varekova |
2c82b59 |
-poskytuje přístup k interním síťovým protokolům a rozhraním.
|
|
Ivana Varekova |
2c82b59 |
-Typy
|
|
Ivana Varekova |
2c82b59 |
-.BR SOCK_RAW ,
|
|
Ivana Varekova |
2c82b59 |
-který je k dispozici pouze superuživateli a
|
|
Ivana Varekova |
2c82b59 |
-.BR SOCK_RDM ,
|
|
Ivana Varekova |
2c82b59 |
-který je plánován, ale ještě není implementován, zde nejsou popsány.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
+Poskytuje spolehlivou datagramovou vrstvu, která však nezaručuje řazení.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.B SOCK_PACKET
|
|
Ivana Varekova |
2c82b59 |
+Zastaralé. Nemělo by být používáno v nových aplikacích. Viz \fBpacket\fP(7).
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Některé druhy soketů nemusí být implementovány pro všechny rodiny protokolů.
|
|
Ivana Varekova |
2c82b59 |
+Například
|
|
Ivana Varekova |
2c82b59 |
+.B SOCK_SEQPACKET
|
|
Ivana Varekova |
2c82b59 |
+není implementováno pro
|
|
Ivana Varekova |
2c82b59 |
+.B AF_INET.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
Argument
|
|
Ivana Varekova |
2c82b59 |
.I protocol
|
|
Ivana Varekova |
2c82b59 |
specifikuje, který konkrétní protokol má být použit. Normálně existuje pouze
|
|
Ivana Varekova |
2c82b59 |
jeden protokol, který se dá použít u soketu konkrétního typu a dané rodiny
|
|
Ivana Varekova |
2c82b59 |
protokolů. Ale je samozřejmě možné, aby existovalo protokolů více. Číslo
|
|
Ivana Varekova |
2c82b59 |
-protokolu závisí na použitém jmenném prostoru, bližší informace naleznete v
|
|
Ivana Varekova |
2c82b59 |
+protokolu závisí na použitém jmenném prostoru, bližší informace naleznete v
|
|
Ivana Varekova |
2c82b59 |
.BR protocols (5).
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
Sokety typu
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
-jsou plně duplexní proudy dat podobné rourám. Proudový soket musí být
|
|
Ivana Varekova |
2c82b59 |
+jsou plně duplexní proudy dat podobné rourám. Proudový soket musí být
|
|
Ivana Varekova |
2c82b59 |
.I spojen
|
|
Ivana Varekova |
2c82b59 |
před tím, než přijme nebo pošle jakákoliv data. Spojení s jiným soketem se
|
|
Ivana Varekova |
2c82b59 |
provádí voláním
|
|
Ivana Varekova |
2c82b59 |
@@ -98,7 +98,7 @@
|
|
Ivana Varekova |
2c82b59 |
.BR recv (2).
|
|
Ivana Varekova |
2c82b59 |
Je-li sezení ukončeno, můžete zavolat funkci
|
|
Ivana Varekova |
2c82b59 |
.BR close (2).
|
|
Ivana Varekova |
2c82b59 |
-Out-of-band data mohou být poslána. Konkrétní informace najdete v
|
|
Ivana Varekova |
2c82b59 |
+Out-of-band data mohou být poslána. Konkrétní informace najdete v
|
|
Ivana Varekova |
2c82b59 |
.BR send (2).
|
|
Ivana Varekova |
2c82b59 |
Out-of-band data mohou být přijata voláním
|
|
Ivana Varekova |
2c82b59 |
.BR recv (2).
|
|
Ivana Varekova |
2c82b59 |
@@ -107,23 +107,19 @@
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
zaručují, že data se neztratí a ani nebudou duplikována. Je-li část dat, pro
|
|
Ivana Varekova |
2c82b59 |
kterou je k dispozici prostor ve vyrovnávací paměti, nedoručena po rozumnou
|
|
Ivana Varekova |
2c82b59 |
-dobu, je spojení prohlášeno za přerušené a volání budou vracet chyby (\-1) a
|
|
Ivana Varekova |
2c82b59 |
-globální proměnná errno bude nastavena na
|
|
Ivana Varekova |
2c82b59 |
-.B ETIMEDOUT .
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
-Některé protokoly uchovávají sokety v činnosti tím, že přibližně každou
|
|
Ivana Varekova |
2c82b59 |
-minutu posílají packet, nevyskytuje-li se jiná aktivita. Neobjeví-li se
|
|
Ivana Varekova |
2c82b59 |
-odpověď po delší dobu (např. 5 minut), je opět indikována chyba. Signál
|
|
Ivana Varekova |
2c82b59 |
+dobu, je spojení prohlášeno za přerušené. Pokud je na soketu povoleno
|
|
Ivana Varekova |
2c82b59 |
+.B SO_KEEPALIVE
|
|
Ivana Varekova |
2c82b59 |
+pak soket testuje různými metodami závislými na protokolu zda je druhý konec
|
|
Ivana Varekova |
2c82b59 |
+stále aktivní. Je zaslán signál
|
|
Ivana Varekova |
2c82b59 |
.B SIGPIPE
|
|
Ivana Varekova |
2c82b59 |
-je poslán procesu, jestliže proces pošle data do "rozbitého" proudu.
|
|
Ivana Varekova |
2c82b59 |
-To způsobí, že "naivní" procesy, které neobsluhují tento signál skončí.
|
|
Ivana Varekova |
2c82b59 |
-
|
|
Ivana Varekova |
2c82b59 |
+pokud proces zasílá nebo přijímá data z porušeného proudu dat; pokud proces
|
|
Ivana Varekova |
2c82b59 |
+nemá obslužnou funkci pak je při přijetí tohoto signálu ukončen. Sokety
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_SEQPACKET
|
|
Ivana Varekova |
2c82b59 |
-sokety používají stejná volání jako
|
|
Ivana Varekova |
2c82b59 |
-.B SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
-sokety. Jediným rozdílem je, že volání
|
|
Ivana Varekova |
2c82b59 |
-.BR read (2)
|
|
Ivana Varekova |
2c82b59 |
-vrací pouze požadované množství dat a ostatní data budou zničena.
|
|
Ivana Varekova |
2c82b59 |
+mají stejnou množinu signálů jako sokety
|
|
Ivana Varekova |
2c82b59 |
+.B SOCK_STREAM.
|
|
Ivana Varekova |
2c82b59 |
+Jediným rozdílem je, že volání \fBread\fP(2) vrací pouze požadovanou velikost
|
|
Ivana Varekova |
2c82b59 |
+dat a zbylá data, která zůstala v paketu budou smazána. Zachovány jsou také
|
|
Ivana Varekova |
2c82b59 |
+meze pro příchozí datagramy.
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
.B SOCK_DGRAM
|
|
Ivana Varekova |
2c82b59 |
a
|
|
Ivana Varekova |
2c82b59 |
@@ -134,13 +130,31 @@
|
|
Ivana Varekova |
2c82b59 |
.BR recvfrom (2),
|
|
Ivana Varekova |
2c82b59 |
které vrací další datagram s jeho návratovou adresou.
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
-Volání
|
|
Ivana Varekova |
2c82b59 |
+Operace
|
|
Ivana Varekova |
2c82b59 |
.BR fcntl (2)
|
|
Ivana Varekova |
2c82b59 |
-může být použito ke specifikování skupiny procesů, které obdrží signál
|
|
Ivana Varekova |
2c82b59 |
+.B F_SETOWN
|
|
Ivana Varekova |
2c82b59 |
+může být použita ke specifikování procesu nebo skupiny procesů, které obdrží
|
|
Ivana Varekova |
2c82b59 |
+signál
|
|
Ivana Varekova |
2c82b59 |
.B SIGURG
|
|
Ivana Varekova |
2c82b59 |
-při příchodu out-of-band dat. Může také povolit neblokující vstupně-výstupní
|
|
Ivana Varekova |
2c82b59 |
+při příchodu out-of-band dat, nebo
|
|
Ivana Varekova |
2c82b59 |
+.B SIGPIPE
|
|
Ivana Varekova |
2c82b59 |
+signálu, když je
|
|
Ivana Varekova |
2c82b59 |
+.B SOCK_STREAM
|
|
Ivana Varekova |
2c82b59 |
+spojení neočekávaně přerušeno. Může také povolit neblokující vstupně-výstupní
|
|
Ivana Varekova |
2c82b59 |
operace případně asynchronní hlášení vstupně-výstupních událostí signálem
|
|
Ivana Varekova |
2c82b59 |
.BR SIGIO .
|
|
Ivana Varekova |
2c82b59 |
+Použití
|
|
Ivana Varekova |
2c82b59 |
+.B F_SETOWN
|
|
Ivana Varekova |
2c82b59 |
+je ekvivalentní volání \fBioctl\fP(2) s parametrem
|
|
Ivana Varekova |
2c82b59 |
+.B FIOSETOWN
|
|
Ivana Varekova |
2c82b59 |
+nebo
|
|
Ivana Varekova |
2c82b59 |
+.B SIOCSPGRP.
|
|
Ivana Varekova |
2c82b59 |
+
|
|
Ivana Varekova |
2c82b59 |
+Pokud síť signalizuje chybu protokolovému modulu (například pomocí ICMP
|
|
Ivana Varekova |
2c82b59 |
+zprávy pro IP protokol) je soketu přiřazen příznak značící nevyřešenou chybu.
|
|
Ivana Varekova |
2c82b59 |
+Další operace na tomto soketu obnoví tento příznak. Pro některé protokoly je
|
|
Ivana Varekova |
2c82b59 |
+možné zřídit frontu chyb pro každý soket a získat tak detailní informace
|
|
Ivana Varekova |
2c82b59 |
+o chybách. Viz \fBIP_RECVERR\fP v \fBip\fP(7).
|
|
Ivana Varekova |
2c82b59 |
|
|
Ivana Varekova |
2c82b59 |
Operace soketu jsou řízeny volbami soketů. Tyto volby jsou specifikovány v
|
|
Ivana Varekova |
2c82b59 |
hlavičkovém souboru
|
|
Ivana Varekova |
2c82b59 |
@@ -154,32 +168,57 @@
|
|
Ivana Varekova |
2c82b59 |
\-1 je vrácena, jestliže nastala chyba, jinak je vrácen deskriptor soketu.
|
|
Ivana Varekova |
2c82b59 |
.SH CHYBY
|
|
Ivana Varekova |
2c82b59 |
.TP 0.8i
|
|
Ivana Varekova |
2c82b59 |
+.B EACCESS
|
|
Ivana Varekova |
2c82b59 |
+Nemáte právo vytvořit soket specifikovaného typu a/nebo protokolu.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B EPROTONOSUPPORT
|
|
Ivana Varekova |
2c82b59 |
Komunikační styl nebo protokol není podporován specifikovaným jmenným
|
|
Ivana Varekova |
2c82b59 |
prostorem.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
+.B EINVAL
|
|
Ivana Varekova |
2c82b59 |
+Neznámý protokol, nebo rodina protokolů není k dispozici.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
.B EMFILE
|
|
Ivana Varekova |
2c82b59 |
Tabulka deskriptorů procesu je zaplněna.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
.B ENFILE
|
|
Ivana Varekova |
2c82b59 |
Tabulka otevřených souborů systému je zaplněna.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.B EACCESS
|
|
Ivana Varekova |
2c82b59 |
-Nemáte právo vytvořit soket specifikovaného typu a/nebo protokolu.
|
|
Ivana Varekova |
2c82b59 |
-.TP
|
|
Ivana Varekova |
2c82b59 |
-.B ENOBUFS
|
|
Ivana Varekova |
2c82b59 |
+\fBENOBUFS\fP nebo \fBENOMEM\fP
|
|
Ivana Varekova |
2c82b59 |
Nedostatek vyrovnávacích pamětí. Soket nemůže být vytvořen, dokud nedojde k
|
|
Ivana Varekova |
2c82b59 |
uvolnění zdrojů.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.B EPROTONOSUPPORT
|
|
Ivana Varekova |
2c82b59 |
+Typ protokolu nebo specifikovaný protokol není podporovaný v
|
|
Ivana Varekova |
2c82b59 |
+dané doméně.
|
|
Ivana Varekova |
2c82b59 |
.SH SPLŇUJE STANDARDY
|
|
Ivana Varekova |
2c82b59 |
-4.4BSD (volání jádra
|
|
Ivana Varekova |
2c82b59 |
+4.4BSD, POSIX.1-2001 (volání jádra
|
|
Ivana Varekova |
2c82b59 |
.B socket
|
|
Ivana Varekova |
2c82b59 |
se objevilo v 4.2BSD). Obvykle je kompatibilní s ne-BSD systémy, které
|
|
Ivana Varekova |
2c82b59 |
podporují BSD Sokety (včetně variant Systému V).
|
|
Ivana Varekova |
2c82b59 |
+.SH POZNÁMKY
|
|
Ivana Varekova |
2c82b59 |
+POSIX.1-2001 nevyžaduje vložení hlavičkového souboru \fI<sys/types.h>\fP
|
|
Ivana Varekova |
2c82b59 |
+a tento soubor není vyžadován ani v linuxu. Nicméně některé starší
|
|
Ivana Varekova |
2c82b59 |
+BSD implementace jej vyžadují a proto je doporučeno jej vložit
|
|
Ivana Varekova |
2c82b59 |
+do přenositelných aplikací.
|
|
Ivana Varekova |
2c82b59 |
+
|
|
Ivana Varekova |
2c82b59 |
+Konstanty používané v BSD 4.X pro rodiny protokolů jsou pojmenovány
|
|
Ivana Varekova |
2c82b59 |
+.B PF_UNIX, PF_INET
|
|
Ivana Varekova |
2c82b59 |
+zatímco adresové rodiny jsou pojmenované
|
|
Ivana Varekova |
2c82b59 |
+.B AF_UNIX,
|
|
Ivana Varekova |
2c82b59 |
+atd. Nicméně BSD man stránky tvrdí, že adresové a protokolové rodiny
|
|
Ivana Varekova |
2c82b59 |
+jsou to samé, a že je možné používat předponu AF_* všude.
|
|
Ivana Varekova |
2c82b59 |
+.SH CHYBY V IMPLEMENTACI
|
|
Ivana Varekova |
2c82b59 |
+.B SOCK_UUCP
|
|
Ivana Varekova |
2c82b59 |
+ještě není implementováno
|
|
Ivana Varekova |
2c82b59 |
+.SH PŘÍKLAD
|
|
Ivana Varekova |
2c82b59 |
+Příklad použití funkce \fBsocket\fP() je v \fBgetaddrinfo\fP(3).
|
|
Ivana Varekova |
2c82b59 |
.SH DALŠÍ INFORMACE
|
|
Ivana Varekova |
2c82b59 |
-.BR accept "(2), " bind "(2), " connect "(2), " getprotoent "(3), "
|
|
Ivana Varekova |
2c82b59 |
-.BR getsockname "(2), " getsockopt "(2), " ioctl "(2), " listen "(2), "
|
|
Ivana Varekova |
2c82b59 |
+.BR accept "(2), " bind "(2), " connect "(2), " fnctl "(2), " getpeername "(2),
|
|
Ivana Varekova |
2c82b59 |
+.BR getsockname "(2), " getsockopt "(2), " ioctl "(2), " listen "(2),
|
|
Ivana Varekova |
2c82b59 |
.BR read "(2), " recv "(2), " select "(2), " send "(2), " shutdown "(2), "
|
|
Ivana Varekova |
2c82b59 |
-.BR socketpair "(2), " write (2)
|
|
Ivana Varekova |
2c82b59 |
+.BR socketpair "(2), " write "(2), " getprotoent "(3), " ip "(7), " socket "(7),
|
|
Ivana Varekova |
2c82b59 |
+.BR tcp "(7), " udp "(7), " unix "(7)
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
"An Introductory 4.3 BSD Interprocess Communication Tutorial"
|
|
Ivana Varekova |
2c82b59 |
je znovu vydáno v
|
|
Ivana Varekova |
2c82b59 |
@@ -188,5 +227,7 @@
|
|
Ivana Varekova |
2c82b59 |
"BSD Interprocess Communication Tutorial"
|
|
Ivana Varekova |
2c82b59 |
je znovu vydáno v
|
|
Ivana Varekova |
2c82b59 |
.I UNIX Programmer's Supplementary Documents Volume 1
|
|
Ivana Varekova |
2c82b59 |
-.SH VAROVÁNÍ
|
|
Ivana Varekova |
2c82b59 |
-Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
|
|
Ivana Varekova |
2c82b59 |
+.SH TIRÁŽ
|
|
Ivana Varekova |
2c82b59 |
+Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a
|
|
Ivana Varekova |
2c82b59 |
+informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/.
|
|
Ivana Varekova |
2c82b59 |
+
|
|
Ivana Varekova |
2c82b59 |
diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man3/gethostbyname.3 man-pages-cs-0.18.20090209/man-pages/man3/gethostbyname.3
|
|
Ivana Varekova |
2c82b59 |
--- man-pages-cs-0.18.20090209-orig/man-pages/man3/gethostbyname.3 1999-05-31 19:28:32.000000000 +0200
|
|
Ivana Varekova |
2c82b59 |
+++ man-pages-cs-0.18.20090209/man-pages/man3/gethostbyname.3 2009-11-13 12:51:02.000000000 +0100
|
|
Ivana Varekova |
2c82b59 |
@@ -1,9 +1,11 @@
|
|
Ivana Varekova |
2c82b59 |
-.TH GETHOSTBYNAME 3 "30. března 1997" "BSD" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
+.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10
|
|
Ivana Varekova |
2c82b59 |
+.TH GETHOSTBYNAME 3 "5. listopadu 2009" "BSD" "Linux - příručka programátora"
|
|
Ivana Varekova |
2c82b59 |
.do hla cs
|
|
Ivana Varekova |
2c82b59 |
.do hpf hyphen.cs
|
|
Ivana Varekova |
2c82b59 |
.SH JMÉNO
|
|
Ivana Varekova |
2c82b59 |
-gethostbyname, gethostbyaddr, sethostent, endhostent, herror \- získej
|
|
Ivana Varekova |
2c82b59 |
-záznam z databáze počítačů
|
|
Ivana Varekova |
2c82b59 |
+gethostbyname, gethostbyaddr, sethostent, gethostend, endhostent, h_errno,
|
|
Ivana Varekova |
2c82b59 |
+herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r,
|
|
Ivana Varekova |
2c82b59 |
+gethostbyname_r, gethostent_r, \- zjistí záznam z databáze počítačů
|
|
Ivana Varekova |
2c82b59 |
.SH SYNTAXE
|
|
Ivana Varekova |
2c82b59 |
.nf
|
|
Ivana Varekova |
2c82b59 |
.B #include <netdb.h>
|
|
Ivana Varekova |
2c82b59 |
@@ -11,6 +13,7 @@
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
.BI "struct hostent *gethostbyname(const char *" name );
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
+.BI "#include <sys/socket.h> " /*AF_INET*/
|
|
Ivana Varekova |
2c82b59 |
.BI "struct hostent *gethostbyaddr(const char *" addr ", int " len ", int " type );
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
.BI "void sethostent(int " stayopen );
|
|
Ivana Varekova |
2c82b59 |
@@ -18,33 +21,86 @@
|
|
Ivana Varekova |
2c82b59 |
.B void endhostent(void);
|
|
Ivana Varekova |
2c82b59 |
.sp
|
|
Ivana Varekova |
2c82b59 |
.BI "void herror(const char *" s );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.BI "const char *hstrerror(int " err );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+/*rozšíření System V/POSIX*/
|
|
Ivana Varekova |
2c82b59 |
+.B struct hostent *gethostent(void);
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+/*rozšíření GNU*/
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.B int gethostend_r(
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent *" ret ", char *" buf ", size_t " buflen ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent **" result ", int *" h_errnop );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BI "int gethostbyaddr_r(const void *" addr ", socklen_t " len " , int " type ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent *" ret ", char *" buf ", size_t " buflen ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent **" result ", int *" h_errnop );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BI "int gethostbyname_r(const char *" name
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent *" ret ", char *" buf ", size_t " buflen ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent **" result ", int *" h_errnop );
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.BI "int gethostbyname2_r(const char *" name ", int " af ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent *" ret ", char *" buf ", size_t " buflen ",
|
|
Ivana Varekova |
2c82b59 |
+.BI "struct hostent **" result ", int *" h_errnop );
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Vyžaduje Feature Test Makro pro glibc (viz \fBfeature_test_macros\fP(7)):
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+\fBgethostbyname2\fP(), \fBgethostent_r\fP(), \fBgethostbyaddr_r\fP(), \fBgethostbyname_r\fP(),
|
|
Ivana Varekova |
2c82b59 |
+\fBgethostbyname2_r\fP(): _BSD_SOURCE || _SVID_SOURCE
|
|
Ivana Varekova |
2c82b59 |
.fi
|
|
Ivana Varekova |
2c82b59 |
.SH POPIS
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBgethostbyname*\fP() a \fBgethostbyaddr*\fP() jsou zastaralé.
|
|
Ivana Varekova |
2c82b59 |
+V programech by měly být nahrazeny funkcemi \fBgetaddrinfo\fP(3) a
|
|
Ivana Varekova |
2c82b59 |
+\fBgetnameinfo\fP(3).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
Funkce \fBgethostbyname()\fP vrací strukturu typu \fIhostent\fP
|
|
Ivana Varekova |
2c82b59 |
-pro zadaný počítač \fIname\fP. Doména počítače a jí nadřazené jsou
|
|
Ivana Varekova |
2c82b59 |
+pro zadaný počítač \fIname\fP. V poli \fIname\fP může být buď
|
|
Ivana Varekova |
2c82b59 |
+hostaname nebo IPv4 adresa v klasické tečkové notaci (jako v
|
|
Ivana Varekova |
2c82b59 |
+\fBinet_addr\fP(3)), případně IPv6 adresa v dvojtečkové
|
|
Ivana Varekova |
2c82b59 |
+(případně v tečkové) notaci. (Více informací o formátu IPv6
|
|
Ivana Varekova |
2c82b59 |
+adres lze nalézt v RFC 1884.) Je-li jméno IPv4 nebo IPv6 adresa
|
|
Ivana Varekova |
2c82b59 |
+není prováděno žádné hledání a \fBgethostbyname\fP() jednoduše
|
|
Ivana Varekova |
2c82b59 |
+zkopíruje \fIname\fP do pole \fIh_name\fP a strukturu \fIstruct in_addr\fP
|
|
Ivana Varekova |
2c82b59 |
+do pole \fIh_addr_list[0]\fP ve vracené struktuře \fIhostent\fP.
|
|
Ivana Varekova |
2c82b59 |
+Doména počítače a jí nadřazené jsou
|
|
Ivana Varekova |
2c82b59 |
prohledávány pouze tehdy, nekončí-li \fIname\fP tečkou.
|
|
Ivana Varekova |
2c82b59 |
Pokud \fIname\fP nekončí tečkou a proměnná prostředí \fBHOSTALIASES\fP
|
|
Ivana Varekova |
2c82b59 |
-je nastavena, bude prvně prohledáván soubor, na který ukazuje proměnná
|
|
Ivana Varekova |
2c82b59 |
+je nastavena, bude prvně prohledáván soubor, na který ukazuje proměnná
|
|
Ivana Varekova |
2c82b59 |
\fBHOSTALIASES\fP.
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Funkce \fBgethostbyaddr()\fP vrací strukturu typu \fIhostent\fP pro
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBgethostbyaddr\fP() vrací strukturu typu \fIhostent\fP pro
|
|
Ivana Varekova |
2c82b59 |
počítač, jehož adresa \fIaddr\fP (délky \fIlen\fP a typu \fItype\fP) byla
|
|
Ivana Varekova |
2c82b59 |
-zadána. Jediným platný typem adresy je nyní AF_INET.
|
|
Ivana Varekova |
2c82b59 |
+zadána. Platné typy adres jsou AF_INET a AF_INET6. Parametr adresa hosta je
|
|
Ivana Varekova |
2c82b59 |
+ukazatel do struktury jejíž typ závisí na druhu adresy. Například
|
|
Ivana Varekova |
2c82b59 |
+\fI struct in_addr *\fP (zřejmě získáno skrze volání \fBinet_addr\fP(3))
|
|
Ivana Varekova |
2c82b59 |
+pro adresy typu
|
|
Ivana Varekova |
2c82b59 |
+.B AF_INET.
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Funkce \fBsethostent()\fP specifikuje, je-li \fIstayopen\fP pravdivé (1),
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBsethostent()\fP specifikuje, je-li \fIstayopen\fP pravdivé (1),
|
|
Ivana Varekova |
2c82b59 |
že k dotazování budou použity spojené TCP sokety a spojení zůstane mezi
|
|
Ivana Varekova |
2c82b59 |
jednotlivými dotazy otevřeno. Jinak budou k dotazování použity UDP
|
|
Ivana Varekova |
2c82b59 |
datagramy.
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
Funkce \fBendhostent()\fP ukončí TCP spojení pro dotazy na nameserver.
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
-Funkce \fBherror()\fP vytiskne chybovou zprávu, která přísluší hodnotě
|
|
Ivana Varekova |
2c82b59 |
-proměnné \fIh_errno\fP.
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBherror()\fP vytiskne chybovou zprávu,
|
|
Ivana Varekova |
2c82b59 |
+která přísluší hodnotě proměnné \fIh_errno\fP.
|
|
Ivana Varekova |
2c82b59 |
+.PP
|
|
Ivana Varekova |
2c82b59 |
+Zastaralá funkce \fBhsterror\fP() vezme číslo chyby (obvykle \fIh_errno\fP)
|
|
Ivana Varekova |
2c82b59 |
+a vrátí odpovídající řetězec.
|
|
Ivana Varekova |
2c82b59 |
.PP
|
|
Ivana Varekova |
2c82b59 |
Funkce \fBgethostbyname()\fP a \fBgethostbyaddr()\fP používají při své
|
|
Ivana Varekova |
2c82b59 |
činnosti jak nameservery \fBnamed\fP(8), tak soubor \fI/etc/hosts\fP, ale
|
|
Ivana Varekova |
2c82b59 |
samozřejmě i NIS nebo YP, to záleží na pořadí definovaném v \fI/etc/host.conf\fP.
|
|
Ivana Varekova |
2c82b59 |
-(Viz
|
|
Ivana Varekova |
2c82b59 |
+(Viz
|
|
Ivana Varekova |
2c82b59 |
.BR resolv+ (8)).
|
|
Ivana Varekova |
2c82b59 |
Standardně je prvně dotazován \fBnamed\fP(8) a potom soubor
|
|
Ivana Varekova |
2c82b59 |
\fI/etc/hosts\fP.
|
|
Ivana Varekova |
2c82b59 |
@@ -56,13 +112,13 @@
|
|
Ivana Varekova |
2c82b59 |
.ne 7
|
|
Ivana Varekova |
2c82b59 |
.ta 8n 16n 32n
|
|
Ivana Varekova |
2c82b59 |
struct hostent {
|
|
Ivana Varekova |
2c82b59 |
- char *h_name; /* official name of host */
|
|
Ivana Varekova |
2c82b59 |
- char **h_aliases; /* alias list */
|
|
Ivana Varekova |
2c82b59 |
- int h_addrtype; /* host address type */
|
|
Ivana Varekova |
2c82b59 |
- int h_length; /* length of address */
|
|
Ivana Varekova |
2c82b59 |
- char **h_addr_list; /* list of addresses */
|
|
Ivana Varekova |
2c82b59 |
+ char *h_name; /* official name of host */
|
|
Ivana Varekova |
2c82b59 |
+ char **h_aliases; /* alias list */
|
|
Ivana Varekova |
2c82b59 |
+ int h_addrtype; /* host address type */
|
|
Ivana Varekova |
2c82b59 |
+ int h_length; /* length of address */
|
|
Ivana Varekova |
2c82b59 |
+ char **h_addr_list; /* list of addresses */
|
|
Ivana Varekova |
2c82b59 |
}
|
|
Ivana Varekova |
2c82b59 |
-#define h_addr h_addr_list[0] /* for backward compatibility */
|
|
Ivana Varekova |
2c82b59 |
+#define h_addr h_addr_list[0] /* for backward compatibility */
|
|
Ivana Varekova |
2c82b59 |
.ta
|
|
Ivana Varekova |
2c82b59 |
.fi
|
|
Ivana Varekova |
2c82b59 |
.RE
|
|
Ivana Varekova |
2c82b59 |
@@ -89,14 +145,15 @@
|
|
Ivana Varekova |
2c82b59 |
.SH NÁVRATOVÁ HODNOTA
|
|
Ivana Varekova |
2c82b59 |
Funkce \fBgethostbyname()\fP a \fBgethostbyaddr()\fP vrací strukturu
|
|
Ivana Varekova |
2c82b59 |
\fIhostent\fP nebo ukazatel NULL v případě výskytu chyby. Potom je nastavena
|
|
Ivana Varekova |
2c82b59 |
-proměnná \fIh_errno\fP.
|
|
Ivana Varekova |
2c82b59 |
-.SH CHYBY
|
|
Ivana Varekova |
2c82b59 |
+proměnná \fIh_errno\fP. Pokud je návratová hodnota not-NULL pak zřejmě
|
|
Ivana Varekova |
2c82b59 |
+návratová hodnota odkazuje na statická data. Více informací v poznámkách níže.
|
|
Ivana Varekova |
2c82b59 |
+.SH ROZEZNÁVANÉ CHYBY
|
|
Ivana Varekova |
2c82b59 |
Proměnná \fIh_errno\fP může obsahovat následující hodnoty:
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
.B HOST_NOT_FOUND
|
|
Ivana Varekova |
2c82b59 |
Specifikovaný počítač je neznámý.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
-.B NO_ADDRESS
|
|
Ivana Varekova |
2c82b59 |
+\fBNO_ADDRESS\fP nebo \fBNO_DATA\fP
|
|
Ivana Varekova |
2c82b59 |
Jméno je platné, ale nemá žádnou IP adresu.
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
.B NO_RECOVERY
|
|
Ivana Varekova |
2c82b59 |
@@ -111,9 +168,67 @@
|
|
Ivana Varekova |
2c82b59 |
.TP
|
|
Ivana Varekova |
2c82b59 |
.I /etc/hosts
|
|
Ivana Varekova |
2c82b59 |
databáze počítačů.
|
|
Ivana Varekova |
2c82b59 |
+.TP
|
|
Ivana Varekova |
2c82b59 |
+.I /etc/nsswitch.conf
|
|
Ivana Varekova |
2c82b59 |
+konfigurační soubor pro výběr jmenné služby
|
|
Ivana Varekova |
2c82b59 |
+.SH POZNÁMKY
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBgethostbyname\fP() a \fBgethostbyaddr\fP() mohou vracet
|
|
Ivana Varekova |
2c82b59 |
+ukazatele na statická data. Tyto ukazatele mohou být přepsány pozdějším
|
|
Ivana Varekova |
2c82b59 |
+voláním. Zkopírování hodnoty do \fIstruct hostent\fP
|
|
Ivana Varekova |
2c82b59 |
+není dostatečné, protože obsahuje ukazatele.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+V originálních BSD implementacích měl parametr \fIlen\fP funkce
|
|
Ivana Varekova |
2c82b59 |
+\fBgethostbyname\fP() typ \fIint\fP. Standard SUSv2 je chybový
|
|
Ivana Varekova |
2c82b59 |
+a deklaruje parametr \fIlen\fP funkce \fBgethostbyaddr\fP() jako
|
|
Ivana Varekova |
2c82b59 |
+typ \fIsize_t\fP. (Což je špatně, protože musí být typu \fIint\fP
|
|
Ivana Varekova |
2c82b59 |
+a ne \fIsize_t\fP. Norma POSIX.1-2001 mu přiřazuje typ \fIsocklen_t\fP
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+U BSD prototypu funkce \fBgethostbyaddr\fP() je první argument typu
|
|
Ivana Varekova |
2c82b59 |
+\fIconst char *\fP.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Norma POSIX.1-2001 označila funkce \fBgethostbyaddr\fP() a \fBgethostbyname\fP()
|
|
Ivana Varekova |
2c82b59 |
+za zastaralé. Viz \fBgetaddrinfo\fP(3), \fBgetnameinfo\fP(3), \fBgai_sterror\fP(3).
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.B System V/POSIX rozšíření
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+POSIX vyžaduje, aby volání \fBgethostent\fP() vracelo další záznam z
|
|
Ivana Varekova |
2c82b59 |
+hostitelské databáze. Pokud používáme DNS/BIND tak to nedává moc smysl,
|
|
Ivana Varekova |
2c82b59 |
+nicméně může to být užitečné, pokud hostitelská databáze obsahuje soubory,
|
|
Ivana Varekova |
2c82b59 |
+které mohou být čteny po řádcích. Na mnoha systémech čte tato funkce ze
|
|
Ivana Varekova |
2c82b59 |
+souboru \fI/etc/hosts\fP. Funkce může být dostupná pouze pokud byla
|
|
Ivana Varekova |
2c82b59 |
+knihovna přeložena bez podpory DNS. Glibc verze ignoruje IPv6 záznamy.
|
|
Ivana Varekova |
2c82b59 |
+Tato funkce není reentrantní. Glibc proto přidává reentrantní verzi
|
|
Ivana Varekova |
2c82b59 |
+\fBgethostent_r\fP().
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+.B GNU rozšíření
|
|
Ivana Varekova |
2c82b59 |
+.br
|
|
Ivana Varekova |
2c82b59 |
+Glibc2 zavádí také funkci \fBgethostbyname2\fP() která pracuje stejně jako
|
|
Ivana Varekova |
2c82b59 |
+funkce \fBgethostbyname\fP(), ale umožňuje specifikaci rodiny do níž musí
|
|
Ivana Varekova |
2c82b59 |
+adresa spadat.
|
|
Ivana Varekova |
2c82b59 |
+.sp
|
|
Ivana Varekova |
2c82b59 |
+Glibc2 zavádí reentrantní funkce \fBgethostent_r\fP(), \fBgethostbyaddr_r\fP(),
|
|
Ivana Varekova |
2c82b59 |
+\fBgethostbyname_r\fP() a \fBgethostbynbame2_r\fP(). Volající musí poskytnout
|
|
Ivana Varekova |
2c82b59 |
+\fIhostent\fP strukturu \fIret\fP, která bude v případě úspěchu naplněna, a
|
|
Ivana Varekova |
2c82b59 |
+dočasný pracovní buffer \fIbuf\fP o velikosti \fIbuflen\fP. Po skončení funkce
|
|
Ivana Varekova |
2c82b59 |
+bude \fIresult\fP obsahovat ukazatel na výsledek v případě úspěšného volání.
|
|
Ivana Varekova |
2c82b59 |
+V případě chyby nebo když není nalezen žádný záznam je \fIresult\fP NULL. Tato
|
|
Ivana Varekova |
2c82b59 |
+funkce vrací v případě úspěchu 0 a nenulovou hodnotu při v případě chyby. V
|
|
Ivana Varekova |
2c82b59 |
+návaznosti na chyby vracené nereentrantními verzemi je vrácena chyba
|
|
Ivana Varekova |
2c82b59 |
+.B ERANGE
|
|
Ivana Varekova |
2c82b59 |
+v případě, že je poskytnutý buffer \fIbuf\fP příliš malý. Volání by pak mělo být
|
|
Ivana Varekova |
2c82b59 |
+realizováno s větším množstvím paměti. Globální proměnná \fIh_errno\fP není
|
|
Ivana Varekova |
2c82b59 |
+změněna, ale adresa proměnné do které se ukládají čísla chyb je předána
|
|
Ivana Varekova |
2c82b59 |
+\fIh_errnop\fP.
|
|
Ivana Varekova |
2c82b59 |
+.SH CHYBY
|
|
Ivana Varekova |
2c82b59 |
+Funkce \fBgethostbyname\fP() nerozeznává části IPv4 adresy,
|
|
Ivana Varekova |
2c82b59 |
+které jsou zadané v tečkové konvenci hexadecimálně.
|
|
Ivana Varekova |
2c82b59 |
.SH SPLŇUJE STANDARDY
|
|
Ivana Varekova |
2c82b59 |
BSD 4.3
|
|
Ivana Varekova |
2c82b59 |
.SH DALŠÍ INFORMACE
|
|
Ivana Varekova |
2c82b59 |
-.BR resolver "(3), " hosts "(5), " hostname "(7), " resolv+ " (8), " named (8)
|
|
Ivana Varekova |
2c82b59 |
-.SH VAROVÁNÍ
|
|
Ivana Varekova |
2c82b59 |
-Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
|
|
Ivana Varekova |
2c82b59 |
+.BR getaddrinfo "(3), " getnameinfo "(3), " inet "(3), " inet_ntop "(3)
|
|
Ivana Varekova |
2c82b59 |
+.BR inet_pton "()3
|
|
Ivana Varekova |
2c82b59 |
+.BR resolver "(3), " hosts "(5), "nsswitch.conf "(5), " hostname "(7), " named (8)
|
|
Ivana Varekova |
2c82b59 |
+.SH TIRÁŽ
|
|
Ivana Varekova |
2c82b59 |
+Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a
|
|
Ivana Varekova |
2c82b59 |
+informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/.
|
|
Ivana Varekova |
2c82b59 |
+
|