Add compat bits for libtls on Windows
This commit is contained in:
13
tls/compat/ftruncate.c
Normal file
13
tls/compat/ftruncate.c
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Public domain
|
||||
*
|
||||
* Kinichiro Inoguchi <inoguchi@openbsd.org>
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
int
|
||||
ftruncate(int fd, off_t length)
|
||||
{
|
||||
return _chsize(fd, length);
|
||||
}
|
14
tls/compat/getuid.c
Normal file
14
tls/compat/getuid.c
Normal file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Public domain
|
||||
*
|
||||
* Kinichiro Inoguchi <inoguchi@openbsd.org>
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
uid_t
|
||||
getuid(void)
|
||||
{
|
||||
/* Windows fstat sets 0 as st_uid */
|
||||
return 0;
|
||||
}
|
23
tls/compat/pread.c
Normal file
23
tls/compat/pread.c
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Public domain
|
||||
*
|
||||
* Kinichiro Inoguchi <inoguchi@openbsd.org>
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
ssize_t
|
||||
pread(int d, 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 = read(d, buf, nbytes)) == -1)
|
||||
return -1;
|
||||
if((rpos = lseek(d, cpos, SEEK_SET)) == -1)
|
||||
return -1;
|
||||
return bytes;
|
||||
}
|
23
tls/compat/pwrite.c
Normal file
23
tls/compat/pwrite.c
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Public domain
|
||||
*
|
||||
* Kinichiro Inoguchi <inoguchi@openbsd.org>
|
||||
*/
|
||||
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user