send

SEND(2)			 Linux - prirucka programatora		       SEND(2)



JMENO
       send, sendto, sendmsg - posli zpravu do soketu

SYNTAXE
       #include <sys/types.h>
       #include <sys/socket.h>


       int send(int s, const void *msg, int len, unsigned int flags);

       int  sendto(int	s, const void *msg, int len, unsigned int flags, const
       struct sockaddr *to, int tolen);

       int sendmsg(int s, const struct msghdr *msg, unsigned int flags);

POPIS
       Send, sendto, a sendmsg se pouzivaji k zasilani zprav do jinych soketu.
       Send muze byt pouzito pouze, je-li soket spojeny zatimco sendto a send-
       msg mohou byt pouzity kdykoliv.

       Adresa ciloveho soketu je zadana parametrem to a tolen specifikuje jeho
       velikost. Adresa zpravy je zadana v argumentu len.  Je-li zprava prilis
       dlouha, aby mola byt poslana atomicky,  je  vracena  chyba  EMSGSIZE  a
       zprava neni poslana.

       Funkce  send  neposkytuje  zadnou  moznost indikace spravneho doruceni.
       Lokalne detekovane chyby jsou indikovany navratovou hodnotou -1.

       Pokud neni k dispozici zadne volne misto pro zpravu pred	 jejim	preno-
       sem,  send se normalne zablokuje, pokud soket neni v neblokujicim modu.
       Volani select(2) muze byt pouzito k zjisteni, je-li mozno poslat	 dalsi
       data.

       Parametr flags muze obsahovat jednu nebo vice z nasledujicich hodnot:

	      #define	MSG_OOB	       0x1  /* zpracuj out-of-band data */
	      #define	MSG_DONTROUTE  0x4  /* obejdi routing, pouzij prime rozhrani*/

       Flag MSG_OOB je pouzit pro posilani out-of-band dat do soketu, ktery to
       podporuje (napr.	 SOCK_STREAM); pouzity protokol musi  take  podporovat
       out-of-band  data.   MSG_DONTROUTE je normalne pouzivano pouze diagnos-
       tickymi a routovacimi programy.

       V recv(2) je obsazen popis struktury msghdr

NAVRATOVA HODNOTA
       Volani vraci pocet poslanych znaku, nebo -1 pokud se objevila chyba.

CHYBY
       EBADF   Byl specifikovan neplatny deskriptor.

       ENOTSOCK
	       Argument s neni soket

       EFAULT  Parametr je v neplatne casti adresoveho prostoru procesu.

       EMSGSIZE
	       Soket pozaduje, aby tato	 zprava	 byla  poslana	atomicky,  ale
	       velikost teto zpravy toto znemoznuje.

       EWOULDBLOCK
	       Soket  je oznacen jako neblokujici a pozadovana operace by blo-
	       kovala.

       ENOBUFS System neni schopen alokovat interni buffery. Operace muze  byt
	       uspesna az budou buffery k dispozici.

       ENOBUFS Vystupni	 fronta	 pro  sitove  rozhrani je zaplnena. To obvykle
	       znamena, ze rozhrani prestalo posilat, ale  muze	 to  byt  take
	       zpusobeno obcasnym pretizenim rozhrani.

SPLNUJE STANDARDY
       4.4BSD, SVr4 (tato volani se poprve objevila ve 4.2BSD).	 SVr4 dokumen-
       tuje dalsi chyby EINVAL, EINTR, EMSGSIZE, ENOSR, ENOMEM.

DALSI INFORMACE
       fcntl(2), recv(2), select(2), getsockopt(2), socket(2), write(2)



BSD Man Page		       2. cervence 1997			       SEND(2)

Personal Tools