Linux repositories inspector
Página de manual do Linux
01/12/1998
Aliases: sendfile64(2), sendfile64(2), sendfile64(2), sendfile64(2), sendfile64(2), sendfile64(2)

manpages-pt-dev

Portuguese Versions of the Manual Pages (dev sections)

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

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

TRADUZIDO PELA EQUIPE DO LDP-BR EM 29/08/2000

André L. Fassone Canova <> (tradução) Marcus Vinicius S. Brito <> (revisão)
⇧ Top