in a way that is not tied to the implementation on the host system.
The Dirent module provides functions for translating between the file kinds accessible through dirent.h and their values on particular systems.
The Dirent_unix provides bindings to functions that use the types in Dirent along with a representation of the host system. The bindings support a more comprehensive range of file kinds than the corresponding functions in the standard OCaml Unix module. The Dirent_unix_lwt module exports non-blocking versions of the functions in Dirent_unix based on the Lwt cooperative threading library.