include("import") func doRead(_data) need_os() if (linked(onRead)) event(onRead, 'os.stat('+FileName+')') end if (linked(onMode)) need_stat() event(onMode, 'os.stat('+FileName+')[stat.ST_MODE]') end if (linked(onIno)) need_stat() event(onIno, 'os.stat('+FileName+')[stat.ST_INO]') end if (linked(onDev)) need_stat() event(onDev, 'os.stat('+FileName+')[stat.ST_DEV]') end if (linked(onNLink)) need_stat() event(onNLink, 'os.stat('+FileName+')[stat.ST_NLINK]') end if (linked(onUID)) need_stat() event(onUID, 'os.stat('+FileName+')[stat.ST_UID]') end if (linked(onGID)) need_stat() event(onGID, 'os.stat('+FileName+')[stat.ST_GID]') end if (linked(onSize)) need_stat() event(onSize, 'os.stat('+FileName+')[stat.ST_SIZE]') end if (linked(onATime)) need_stat() event(onATime, 'os.stat('+FileName+')[stat.ST_ATIME]') end if (linked(onMTime)) need_stat() event(onMTime, 'os.stat('+FileName+')[stat.ST_MTIME]') end if (linked(onCTime)) need_stat() event(onCTime, 'os.stat('+FileName+')[stat.ST_CTIME]') end end func doSet(_data) print('os.chmod('+FileName+', '+Mode+')') end func doChown(_data) print('os.chown('+FileName+', '+UID+', '+GID+')') end