	file

These types are documented in this module:

  -type deep_list() :: [char() | atom() | deep_list()].

  -type fd() :: #file_descriptor{}.

  -type filename() :: string().

  -type filename_all() :: string() | binary().

  -type io_device() :: pid() | fd().

  -type name() :: string() | atom() | deep_list().

  -type name_all() ::
            string() | atom() | deep_list() | (RawFilename :: binary()).

  -type posix() ::
            eacces | eagain | ebadf | ebadmsg | ebusy | edeadlk |
            edeadlock | edquot | eexist | efault | efbig | eftype |
            eintr | einval | eio | eisdir | eloop | emfile | emlink |
            emultihop | enametoolong | enfile | enobufs | enodev |
            enolck | enolink | enoent | enomem | enospc | enosr | enostr |
            enosys | enotblk | enotdir | enotsup | enxio | eopnotsupp |
            eoverflow | eperm | epipe | erange | erofs | espipe | esrch |
            estale | etxtbsy | exdev.

  -type date_time() :: calendar:datetime().

  -type file_info() :: #file_info{}.

  -type location() ::
            integer() |
            {bof, Offset :: integer()} |
            {cur, Offset :: integer()} |
            {eof, Offset :: integer()} |
            bof | cur | eof.

  -type mode() ::
            read | write | append | exclusive | raw | binary |
            {delayed_write,
             Size :: non_neg_integer(),
             Delay :: non_neg_integer()} |
            delayed_write |
            {read_ahead, Size :: pos_integer()} |
            read_ahead | compressed |
            {encoding, unicode:encoding()} |
            sync.

  -type file_info_option() ::
            {time, local} | {time, universal} | {time, posix} | raw.
