wasi-libc/libc-bottom-half/sources/__wasilibc_tell.c
Dan Gohman 446cb3f1aa
Wasi snapshot preview1 (#140)
* Make __wasi_linkcount_t a uint64_t (#134)

Refs: https://github.com/WebAssembly/WASI/pull/127

* Generate the WASI interface from witx.

This replaces the hand-maintained <wasi/core.h> header with a
<wasi/api.h> generated from witx.

Most of the churn here is caused by upstream WASI renamings; hopefully
in the future ABI updates will be less noisy.
2019-11-21 20:06:00 -08:00

15 lines
425 B
C

#include <wasi/api.h>
#include <errno.h>
off_t __wasilibc_tell(int fildes) {
__wasi_filesize_t offset;
__wasi_errno_t error = __wasi_fd_tell(fildes, &offset);
if (error != 0) {
// lseek returns ESPIPE on when called on a pipe, socket, or fifo,
// which on WASI would translate into ENOTCAPABLE.
errno = error == ENOTCAPABLE ? ESPIPE : error;
return -1;
}
return offset;
}