-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
.\" This manpage is Copyright (C) 2006 Jens Axboe
.\" and Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
-.TH TEE 2 2006-04-28 "Linux" "Linux Programmer's Manual"
+.TH TEE 2 2012-05-04 "Linux" "Linux Programmer's Manual"
.SH NAME
tee \- duplicating pipe content
.SH SYNOPSIS
.nf
-.B #define _GNU_SOURCE
+.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
-.BI "long tee(int " fd_in ", int " fd_out ", size_t " len \
+.BI "ssize_t tee(int " fd_in ", int " fd_out ", size_t " len \
", unsigned int " flags );
.fi
+.\" Return type was long before glibc 2.7
.SH DESCRIPTION
.\" Example programs http://brick.kernel.dk/snaps
.\"
.SH VERSIONS
The
.BR tee ()
-system call first appeared in Linux 2.6.17.
-.SH "CONFORMING TO"
-This system call is Linux specific.
+system call first appeared in Linux 2.6.17;
+library support was added to glibc in version 2.5.
+.SH CONFORMING TO
+This system call is Linux-specific.
.SH NOTES
Conceptually,
.BR tee ()
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
-#include <assert.h>
#include <errno.h>
#include <limits.h>
int fd;
int len, slen;
- assert(argc == 2);
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s <file>\\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
if (fd == \-1) {
.fi
.SH SEE ALSO
.BR splice (2),
-.BR vmsplice (2),
-.BR feature_test_macros (7)
+.BR vmsplice (2)