Stat.hx 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package eval.uv;
  2. import asys.FilePermissions;
  3. class Stat {
  4. extern function get_dev():Int;
  5. public var dev(get, never):Int;
  6. extern function get_mode():Int;
  7. public var mode(get, never):Int;
  8. extern function get_nlink():Int;
  9. public var nlink(get, never):Int;
  10. extern function get_uid():Int;
  11. public var uid(get, never):Int;
  12. extern function get_gid():Int;
  13. public var gid(get, never):Int;
  14. extern function get_rdev():Int;
  15. public var rdev(get, never):Int;
  16. extern function get_ino():Int;
  17. public var ino(get, never):Int;
  18. extern function get_size():Int;
  19. public var size(get, never):Int;
  20. extern function get_blksize():Int;
  21. public var blksize(get, never):Int;
  22. extern function get_blocks():Int;
  23. public var blocks(get, never):Int;
  24. extern function get_flags():Int;
  25. public var flags(get, never):Int;
  26. extern function get_gen():Int;
  27. public var gen(get, never):Int;
  28. public function isBlockDevice():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFBLK;
  29. public function isCharacterDevice():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFCHR;
  30. public function isDirectory():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFDIR;
  31. public function isFIFO():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFIFO;
  32. public function isFile():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFREG;
  33. public function isSocket():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFSOCK;
  34. public function isSymbolicLink():Bool return (mode & asys.uv.UVConstants.S_IFMT) == asys.uv.UVConstants.S_IFLNK;
  35. function get_permissions():FilePermissions return @:privateAccess new FilePermissions(mode & asys.uv.UVConstants.S_PERM);
  36. public var permissions(get, never):FilePermissions;
  37. }