Files
.github
CMakeModules
dist
externals
SDL
Vulkan-Headers
cmake-modules
cpp-httplib
cubeb
discord-rpc
dynarmic
ffmpeg
find-modules
getopt
glad
httplib
inih
libressl
crypto
include
ssl
tls
compat
ftruncate.c
pread.c
pwrite.c
CMakeLists.txt
VERSION
tls.c
tls.sym
tls_bio_cb.c
tls_client.c
tls_config.c
tls_conninfo.c
tls_internal.h
tls_keypair.c
tls_ocsp.c
tls_peer.c
tls_server.c
tls_util.c
tls_verify.c
.gitignore
CMakeLists.txt
COPYING
ChangeLog
FindLibreSSL.cmake
INSTALL
README.md
README.windows
VERSION
cmake_export_symbol.cmake
ltmain.sh
tap-driver.sh
test-driver
libusb
libzip
mbedtls
microprofile
opus
sirit
soundtouch
xbyak
CMakeLists.txt
patches
src
CMakeLists.txt
LICENSE
README.md
license.txt
yuzu/externals/libressl/tls/compat/pwrite.c

30 lines
508 B
C
Raw Normal View History

2020-12-28 15:15:37 +00:00
/*
* Public domain
*
* Kinichiro Inoguchi <inoguchi@openbsd.org>
*/
#ifdef _WIN32
#define NO_REDEF_POSIX_FUNCTIONS
#include <unistd.h>
ssize_t
pwrite(int d, const void *buf, size_t nbytes, off_t offset)
{
off_t cpos, opos, rpos;
ssize_t bytes;
if((cpos = lseek(d, 0, SEEK_CUR)) == -1)
return -1;
if((opos = lseek(d, offset, SEEK_SET)) == -1)
return -1;
if((bytes = write(d, buf, nbytes)) == -1)
return -1;
if((rpos = lseek(d, cpos, SEEK_SET)) == -1)
return -1;
return bytes;
}
#endif