| // 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; |
| } |