sig
  type opt = PID | CONS | ODELAY | NDELAY | NOWAIT | PERROR
  type fac =
      KERN
    | USER
    | MAIL
    | DAEMON
    | AUTH
    | SYSLOG
    | LPR
    | NEWS
    | UUCP
    | CRON
    | AUTHPRIV
    | FTP
    | LOCAL0
    | LOCAL1
    | LOCAL2
    | LOCAL3
    | LOCAL4
    | LOCAL5
    | LOCAL6
    | LOCAL7
  type lev = EMERG | ALERT | CRIT | ERR | WARNING | NOTICE | INFO | DEBUG
  val all_levs : Syslog.lev array
  val all_str_levs : string array
  val compare_lev : Syslog.lev -> Syslog.lev -> int
  val string_of_lev : Syslog.lev -> string
  val lev_of_string : string -> Syslog.lev
  val setlogmask :
    ?levs:Syslog.lev list ->
    ?from_lev:Syslog.lev -> ?to_lev:Syslog.lev -> unit -> unit
  val openlog :
    ?id:string -> ?opt:Syslog.opt list -> ?fac:Syslog.fac -> unit -> unit
  val syslog : ?fac:Syslog.fac -> ?lev:Syslog.lev -> string -> unit
  val esyslog : ?fac:Syslog.fac -> ?lev:Syslog.lev -> string -> unit
  val syslog_printf :
    ?fac:Syslog.fac ->
    ?lev:Syslog.lev -> ('b, unit, string, unit) Pervasives.format4 -> 'b
  val esyslog_printf :
    ?fac:Syslog.fac ->
    ?lev:Syslog.lev -> ('b, unit, string, unit) Pervasives.format4 -> 'b
  external closelog : unit -> unit = "closelog_stub" "noalloc"
  val ounit_tests : unit -> OUnit.test
end