# Module FileUtilTypes

    module FileUtilTypes: sig .. end

    exception FileDoesntExist of FilePath.filename

    exception RecursiveLink of FilePath.filename

    exception Fatal of string

    type action_link =

`|` | `Follow`
`|` | `Skip`
`|` | `SkipInform of `(FilePath.filename -> unit)``
`|` | `AskFollow of `(FilePath.filename -> bool)``

See FileUtil.mli

    type interactive =

`|` | `Force`
`|` | `Ask of `(FilePath.filename -> bool)``

See FileUtil.mli

    type size =

`|` | `TB of `int64``
`|` | `GB of `int64``
`|` | `MB of `int64``
`|` | `KB of `int64``
`|` | `B of `int64``

See FileUtil.mli

    type kind =

`|` | `Dir`
`|` | `File`
`|` | `Dev_char`
`|` | `Dev_block`
`|` | `Fifo`
`|` | `Socket`
`|` | `Symlink`

See FileUtil.mli

    type base_permission = {

`` | `sticky : `bool`;`
`` | `exec : `bool`;`
`` | `write : `bool`;`
`` | `read : `bool`;`

`}`

See FileUtil.mli

    type permission = {

`` | `user : `base_permission`;`
`` | `group : `base_permission`;`
`` | `other : `base_permission`;`

`}`

See FileUtil.mli

    type stat = {

`` | `kind : `kind`;`
`` | `is_link : `bool`;`
`` | `permission : `permission`;`
`` | `size : `size`;`
`` | `owner : `int`;`
`` | `group_owner : `int`;`
`` | `access_time : `float`;`
`` | `modification_time : `float`;`
`` | `creation_time : `float`;`
`` | `device : `int`;`
`` | `inode : `int`;`

`}`

See FileUtil.mli

    type test_file =

`|` | `Is_dev_block`
`|` | `Is_dev_char`
`|` | `Is_dir`
`|` | `Exists`
`|` | `Is_file`
`|` | `Is_set_group_ID`
`|` | `Has_sticky_bit`
`|` | `Is_link`
`|` | `Is_pipe`
`|` | `Is_readable`
`|` | `Is_writeable`
`|` | `Size_not_null`
`|` | `Size_bigger_than of `size``
`|` | `Size_smaller_than of `size``
`|` | `Size_equal_to of `size``
`|` | `Size_fuzzy_equal_to of `size``
`|` | `Is_socket`
`|` | `Has_set_user_ID`
`|` | `Is_exec`
`|` | `Is_owned_by_user_ID`
`|` | `Is_owned_by_group_ID`
`|` | `Is_newer_than of `FilePath.filename``
`|` | `Is_older_than of `FilePath.filename``
`|` | `Is_newer_than_date of `float``
`|` | `Is_older_than_date of `float``
`|` | `And of `test_file * test_file``
`|` | `Or of `test_file * test_file``
`|` | `Not of `test_file``
`|` | `Match of `string``
`|` | `True`
`|` | `False`
`|` | `Has_extension of `FilePath.extension``
`|` | `Has_no_extension`
`|` | `Is_parent_dir`
`|` | `Is_current_dir`
`|` | `Basename_is of `FilePath.filename``
`|` | `Dirname_is of `FilePath.filename``
`|` | `Custom of `(FilePath.filename -> bool)``

See FileUtil.mli

    type touch_time_t =

`|` | `Touch_now`
`|` | `Touch_file_time of `FilePath.filename``
`|` | `Touch_timestamp of `float``

See FileUtil.mli