Provided by:
manpages-pt-dev_20040726-1_all 
NOME
sendfile - transfere dados entre descritores de arquivo
SINOPSE
#include <sys/sendfile.h>
ssize_t sendfile(int da_saida, int da_entrada, off_t *deslocamento,
size_t quantidade)
DESCRIÇÃO
Esta chamada copia dados de um descritor de arquivo para outro. Um ou
ambos destes descritores de arquivo podem ser um soquete de rede.
da_entrada deve ser um descritor de arquivo aberto para leitura e
da_saida deve ser um descritor de arquivo aberto para escrita.
deslocamento é um ponteiro para uma variável contendo a posição do
ponteiro do arquivo de entrada a partir de onde sendfile(2) iniciará a
leitura de dados. Quando sendfile retornar, esta variável estará
atribuída com o deslocamento do byte seguinte ao último byte lido.
quantidade é o número de bytes a ser transferido entre os descritores
de arquivos.
NOTAS
Sendfile não modifica o ponteiro do arquivo da_entrada, mas modifica o
de da_saida.
Se você pretende usar sendfile para enviar arquivos para um soquete
TCP, mas precisa enviar alguns cabeçalhos antes do conteúdo do arquivo,
veja a opção TCP_CORK em tcp(7) para minimizar o número de pacotes e
para ajustar a performance.
VALORES RETORNADOS
Se a transferência foi bem sucedida, o número de bytes escritos em
da_saida é retornado. Caso contrário, -1 é retornado, e errno é
ajustado adequadamente.
ERROS
EBADF O arquivo de entrada não foi aberto para leitura ou o arquivo de
saída não foi aberto para escrita.
EINVAL Descritor inválido ou travado.
ENOMEM Memória insuficiente para ler a partir de da_entrada.
EIO Erro não especificado durante a leitura de da_entrada.
VERSÕES
sendfile é uma nova característica no Linux 2.2.
Outros Unixes freqüentemente implementam sendfile com diferenças de
semântica e protótipo. sendfile não deve ser usada em programa
portáveis.
VEJA TAMBÉM
socket(2), open(2)
TRADUZIDO PELA EQUIPE DO LDP-BR EM 29/08/2000
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Marcus
Vinicius S. Brito <pazu@visaotec.com.br> (revisão)