private unsafe int Getattr(path *path, stat *stat, fuse_file_info *fi) { try { Span <stat> span = new Span <stat>(stat, 1); span.Clear(); return(_fileSystem.GetAttr(ToSpan(path), ref MemoryMarshal.GetReference(span), ToFileInfo(fi))); } catch { return(-EIO); } }
private unsafe int Getattr(path *path, stat *stat, fuse_file_info *fi) { try { Span <stat> span = new Span <stat>(stat, 1); span.Clear(); return(_fileSystem.GetAttr(ToSpan(path), ref MemoryMarshal.GetReference(span), ToFileInfo(fi))); } catch (Exception ex) { Console.WriteLine($"GETATTR gets error: {ex.Message}"); return(-EIO); } }
public static extern int stat(byte *path, stat *stat);
public static extern int fstatat(int dirfd, byte *path, stat *stat, int flags);
public static extern int fstat(int fd, stat *stat);
public static int fstat(int fd, stat *stat) => _fstat(0, fd, stat);
public static int stat(byte *path, stat *stat) => _stat(0, path, stat);
private static extern int _stat(int ver, byte *path, stat *stat);
private static extern int _fstat(int ver, int fd, stat *stat);
private static extern int _fstatat(int ver, int fd, byte *path, stat *stat, int flags);
public static int fstatat(int dirfd, byte *path, stat *stat, int flags) => _fstatat(0, dirfd, path, stat, flags);
unsafe public static extern int _fstat(int ver, int fd, stat *stat);