Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / mlton / syslog.sig
1 (* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9 (* From Tom 7 <twm@andrew.cmu.edu>. *)
10 (* A rather complete interface to the syslog facilities.
11 *
12 * See
13 * man 3 syslog
14 *
15 * .. for descriptions of these constants.
16 *)
17 signature MLTON_SYSLOG =
18 sig
19 type openflag
20
21 val CONS : openflag
22 val NDELAY : openflag
23 val NOWAIT : openflag
24 val ODELAY : openflag
25 (* NOT STANDARD *)
26 val PERROR : openflag
27 (* *)
28 val PID : openflag
29
30 type facility
31
32 val AUTHPRIV : facility
33 val CRON : facility
34 val DAEMON : facility
35 val KERN : facility
36 val LOCAL0 : facility
37 val LOCAL1 : facility
38 val LOCAL2 : facility
39 val LOCAL3 : facility
40 val LOCAL4 : facility
41 val LOCAL5 : facility
42 val LOCAL6 : facility
43 val LOCAL7 : facility
44 val LPR : facility
45 val MAIL : facility
46 val NEWS : facility
47 (* NOT STANDARD *)
48 val SYSLOG : facility
49 (* *)
50 val USER : facility
51 val UUCP : facility
52
53 type loglevel
54
55 val EMERG : loglevel
56 val ALERT : loglevel
57 val CRIT : loglevel
58 val ERR : loglevel
59 val WARNING : loglevel
60 val NOTICE : loglevel
61 val INFO : loglevel
62 val DEBUG : loglevel
63
64 (* Closelog is also optional. *)
65 val closelog: unit -> unit
66
67 (* log a message at a particular loglevel. *)
68 val log: loglevel * string -> unit
69
70 (*
71 * Openlog opens a connection to the system logger.
72 * Calling openlog is optional but recommended.
73 * From the man pages.
74 * The string is prefixed to each message, and is typically set to the
75 * program name.
76 *)
77 val openlog: string * openflag list * facility -> unit
78 end