1/* 2 * Copyright 2002-2007, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Copyright 2001, Manuel J. Petit. All rights reserved. 6 * Distributed under the terms of the NewOS License. 7 */ 8 9 10#include <unistd.h> 11 12#include <errno.h> 13#include <pthread.h> 14 15#include <syscall_utils.h> 16 17#include <errno_private.h> 18#include <syscalls.h> 19 20 21ssize_t 22write(int fd, void const *buffer, size_t bufferSize) 23{ 24 int status = _kern_write(fd, -1, buffer, bufferSize); 25 26 RETURN_AND_SET_ERRNO_TEST_CANCEL(status); 27} 28 29 30ssize_t 31write_pos(int fd, off_t pos, const void *buffer, size_t bufferSize) 32{ 33 if (pos < 0) 34 RETURN_AND_SET_ERRNO_TEST_CANCEL(B_BAD_VALUE); 35 36 RETURN_AND_SET_ERRNO_TEST_CANCEL(_kern_write(fd, pos, buffer, bufferSize)); 37} 38 39 40ssize_t 41pwrite(int fd, const void *buffer, size_t bufferSize, off_t pos) 42{ 43 if (pos < 0) 44 RETURN_AND_SET_ERRNO_TEST_CANCEL(B_BAD_VALUE); 45 46 RETURN_AND_SET_ERRNO_TEST_CANCEL(_kern_write(fd, pos, buffer, bufferSize)); 47} 48