# Module FileUtilUMASK

    module FileUtilUMASK: sig .. end

    exception UmaskError of string

    type umask_error = [ `Exc of exn | `NoStickyBit of int ]

    val umask : ?error:(string -> [ `Exc of exn | `NoStickyBit of int ] -> unit) ->
           ?mode:[< `Octal of int | `Symbolic of FileUtilMode.t ] ->
           [< `Octal of Unix.file_perm -> 'a
            | `Symbolic of
                [> `Group of
                     [> `Set of
                          [> `List of
                               [> `Exec | `Read | `Sticky | `StickyO | `Write ] list ] ]
                 | `Other of
                     [> `Set of
                          [> `List of
                               [> `Exec | `Read | `Sticky | `StickyO | `Write ] list ] ]
                 | `User of
                     [> `Set of
                          [> `List of
                               [> `Exec | `Read | `Sticky | `StickyO | `Write ] list ] ]
                ] list -> 'a ] ->
           'a

    val umask_apply : int -> int