blob: abe9e32bd60a5749fa94d7342e89089e2851b397 [file] [edit]
// ignore_for_file: type=lint, unused_field
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
@ffi.DefaultAsset('package:io_file/libc_shim')
library;
import 'dart:ffi' as ffi;
/// Returns `libc_shim_dirent.d_name`.
///
/// TODO(brianquinlan): Remove `libc_shim_d_name_ptr` when there is a fix for:
/// https://github.com/dart-lang/sdk/issues/41237
@ffi.Native<ffi.Pointer<ffi.Char> Function(ffi.Pointer<dirent>)>(
symbol: 'libc_shim_d_name_ptr',
)
external ffi.Pointer<ffi.Char> d_name_ptr(ffi.Pointer<dirent> d);
@ffi.Native<ffi.Int Function(ffi.Pointer<DIR>)>(symbol: 'libc_shim_closedir')
external int closedir(ffi.Pointer<DIR> d);
@ffi.Native<ffi.Pointer<DIR> Function(ffi.Int)>(symbol: 'libc_shim_fdopendir')
external ffi.Pointer<DIR> fdopendir(int fd);
@ffi.Native<ffi.Pointer<DIR> Function(ffi.Pointer<ffi.Char>)>(
symbol: 'libc_shim_opendir',
)
external ffi.Pointer<DIR> opendir(ffi.Pointer<ffi.Char> path);
@ffi.Native<ffi.Pointer<dirent> Function(ffi.Pointer<DIR>)>(
symbol: 'libc_shim_readdir',
)
external ffi.Pointer<dirent> readdir(ffi.Pointer<DIR> d);
/// <errno.h>
@ffi.Native<ffi.Void Function(ffi.Int)>(symbol: 'libc_shim_seterrno')
external void seterrno(int err);
@ffi.Native<ffi.Int Function()>(symbol: 'libc_shim_errno')
external int errno();
/// <fcntl.h>
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int)>(
symbol: 'libc_shim_open',
)
external int open(ffi.Pointer<ffi.Char> pathname, int flags, int mode);
@ffi.Native<ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int)>(
symbol: 'libc_shim_openat',
)
external int openat(
int fd,
ffi.Pointer<ffi.Char> pathname,
int flags,
int mode,
);
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>(
symbol: 'libc_shim_chmod',
)
external int chmod(ffi.Pointer<ffi.Char> path, int mode);
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>(
symbol: 'libc_shim_mkdir',
)
external int mkdir(ffi.Pointer<ffi.Char> pathname, int mode);
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<Stat>)>(
symbol: 'libc_shim_stat',
)
external int stat(ffi.Pointer<ffi.Char> path, ffi.Pointer<Stat> buf);
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<Stat>)>(
symbol: 'libc_shim_lstat',
)
external int lstat(ffi.Pointer<ffi.Char> path, ffi.Pointer<Stat> buf);
@ffi.Native<ffi.Int Function(ffi.Int, ffi.Pointer<Stat>)>(
symbol: 'libc_shim_fstat',
)
external int fstat(int fd, ffi.Pointer<Stat> buf);
@ffi.Native<
ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Pointer<Stat>, ffi.Int)
>(symbol: 'libc_shim_fstatat')
external int fstatat(
int fd,
ffi.Pointer<ffi.Char> path,
ffi.Pointer<Stat> buf,
int flag,
);
/// <stdio.h>
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>(
symbol: 'libc_shim_rename',
)
external int rename(ffi.Pointer<ffi.Char> old, ffi.Pointer<ffi.Char> newy);
/// <stdlib.h>
@ffi.Native<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>(
symbol: 'libc_shim_getenv',
)
external ffi.Pointer<ffi.Char> getenv(ffi.Pointer<ffi.Char> name);
@ffi.Native<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>(
symbol: 'libc_shim_mkdtemp',
)
external ffi.Pointer<ffi.Char> mkdtemp(ffi.Pointer<ffi.Char> template);
/// <string.h>
@ffi.Native<ffi.Pointer<ffi.Char> Function(ffi.Int)>(
symbol: 'libc_shim_strerror',
)
external ffi.Pointer<ffi.Char> strerror(int errnum);
/// <unistd.h>
@ffi.Native<ffi.Int Function(ffi.Pointer<ffi.Char>)>(symbol: 'libc_shim_chdir')
external int chdir(ffi.Pointer<ffi.Char> path);
@ffi.Native<ffi.Int Function(ffi.Int)>(symbol: 'libc_shim_close')
external int close(int fd);
@ffi.Native<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, ffi.Int64)>(
symbol: 'libc_shim_getcwd',
)
external ffi.Pointer<ffi.Char> getcwd(ffi.Pointer<ffi.Char> buf, int size);
@ffi.Native<ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int)>(
symbol: 'libc_shim_unlinkat',
)
external int unlinkat(int dirfd, ffi.Pointer<ffi.Char> pathname, int flags);
/// <dirent.h>
final class dirent extends ffi.Struct {
/// POSIX
@ffi.Int64()
external int d_ino;
/// Linux, macOS/iOS
@ffi.Uint8()
external int d_type;
/// POSIX; __DARWIN_MAXNAMLEN = 1024
@ffi.Array.multi([1025])
external ffi.Array<ffi.Char> d_name;
}
final class DIR extends ffi.Struct {
external dirent libc_shim_dirent;
external ffi.Pointer<ffi.Void> _dir;
}
/// <sys/stat.h>
final class timespec extends ffi.Struct {
@ffi.Int64()
external int tv_sec;
@ffi.Int64()
external int tv_nsec;
}
final class Stat extends ffi.Struct {
@ffi.Int64()
external int st_dev;
@ffi.Int64()
external int st_ino;
@ffi.Int64()
external int st_mode;
@ffi.Int64()
external int st_nlink;
@ffi.Int64()
external int std_uid;
@ffi.Int64()
external int st_size;
external timespec st_atim;
external timespec st_mtim;
external timespec st_ctim;
/// Only valid on macOS/iOS
external timespec st_btime;
/// Only valid on macOS/iOS
@ffi.Int64()
external int st_flags;
}