]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/mach/hurd/pwrite.c
2002-06-08 Roland McGrath <roland@frob.com>
[thirdparty/glibc.git] / sysdeps / mach / hurd / pwrite.c
CommitLineData
8b2134db
RM
1/* Write block at given position in file without changing file pointer.
2 Hurd version.
c0c71388 3 Copyright (C) 1999,2001 Free Software Foundation, Inc.
8b2134db
RM
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
8b2134db
RM
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 14 Lesser General Public License for more details.
8b2134db 15
41bdb6e2
AJ
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, write to the Free
18 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA. */
8b2134db
RM
20
21#include <errno.h>
22#include <unistd.h>
c768719d 23#include <hurd/fd.h>
8b2134db
RM
24
25/* Write NBYTES of BUF to FD at given position OFFSET without changing
26 the file position. Return the number written, or -1. */
27ssize_t
221dc560 28__libc_pwrite (int fd, const void *buf, size_t nbytes, off_t offset)
8b2134db 29{
c0c71388
RM
30 error_t err;
31 if (offset < 0)
32 err = EINVAL;
33 else
34 err = HURD_FD_USE (fd, _hurd_fd_write (descriptor, buf, &nbytes, offset));
8b2134db
RM
35 return err ? __hurd_dfail (fd, err) : nbytes;
36}
221dc560
RM
37
38#ifndef __libc_pwrite
39strong_alias (__libc_pwrite, __pwrite)
40weak_alias (__libc_pwrite, pwrite)
41#endif