.\" -*- nroff -*- .\" This man page is Copyright (C) 1998 Pawel Krawczyk. .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" $Id: sendfile.2,v 1.1 2000/10/20 13:05:09 ricardo Exp $ .\" .\" 2000-08-21 André Fassone Canova .\" Tradução para o português brasileiro .\" 2000-08-29 Marcus Vinicius Brito .\" Revisão .\" .TH SENDFILE 2 "01/12/1998" "Página de Manual do Linux" "Manual do Programador Linux" .SH NOME sendfile \- transfere dados entre descritores de arquivo .SH SINOPSE .B #include .sp .BI "ssize_t sendfile(int" " da_saida" ", int" " da_entrada" ", off_t *" deslocamento ", size_t" " quantidade" ) .SH 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. .I da_entrada deve ser um descritor de arquivo aberto para leitura e .I da_saida deve ser um descritor de arquivo aberto para escrita. .I deslocamento é um ponteiro para uma variável contendo a posição do ponteiro do arquivo de entrada a partir de onde .BR sendfile (2) iniciará a leitura de dados. Quando .B sendfile retornar, esta variável estará atribuída com o deslocamento do byte seguinte ao último byte lido. .I quantidade é o número de bytes a ser transferido entre os descritores de arquivos. .SH NOTAS Sendfile não modifica o ponteiro do arquivo .IR da_entrada , mas modifica o de .IR da_saida . Se você pretende usar .B sendfile para enviar arquivos para um soquete TCP, mas precisa enviar alguns cabeçalhos antes do conteúdo do arquivo, veja a opção .B TCP_CORK em .BR tcp (7) para minimizar o número de pacotes e para ajustar a performance. .SH "VALORES RETORNADOS" Se a transferência foi bem sucedida, o número de bytes escritos em .I da_saida é retornado. Caso contrário, \-1 é retornado, e .I errno é ajustado adequadamente. .SH ERROS .TP .B EBADF O arquivo de entrada não foi aberto para leitura ou o arquivo de saída não foi aberto para escrita. .TP .B EINVAL Descritor inválido ou travado. .\" These two are from do_generic_file_read() in filemap.c .TP .B ENOMEM Memória insuficiente para ler a partir de .IR da_entrada . .TP .B EIO Erro não especificado durante a leitura de .IR da_entrada . .SH VERSÕES .B sendfile é uma nova característica no Linux 2.2. Outros Unixes freqüentemente implementam .B sendfile com diferenças de semântica e protótipo. .B sendfile não deve ser usada em programa portáveis. .SH "VEJA TAMBÉM" .BR socket (2), .BR open (2) .SH TRADUZIDO PELA EQUIPE DO LDP-BR EM 29/08/2000 \&\fR\&\f(CWAndré L. Fassone Canova (tradução)\fR \&\fR\&\f(CWMarcus Vinicius S. Brito (revisão)\fR