1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
type t = int
let name =
let table =
let open Sys in
[ sigabrt, "ABRT"
; sigalrm, "ALRM"
; sigfpe, "FPE"
; sighup, "HUP"
; sigill, "ILL"
; sigint, "INT"
; sigkill, "KILL"
; sigpipe, "PIPE"
; sigquit, "QUIT"
; sigsegv, "SEGV"
; sigterm, "TERM"
; sigusr1, "USR1"
; sigusr2, "USR2"
; sigchld, "CHLD"
; sigcont, "CONT"
; sigstop, "STOP"
; sigtstp, "TSTP"
; sigttin, "TTIN"
; sigttou, "TTOU"
; sigvtalrm, "VTALRM"
; sigprof, "PROF"
; sigbus, "BUS"
; sigpoll, "POLL"
; sigsys, "SYS"
; sigtrap, "TRAP"
; sigurg, "URG"
; sigxcpu, "XCPU"
; sigxfsz, "XFSZ"
]
in
fun (n : int) ->
match List.assoc_opt n table with
| None -> if n > 0 then Printf.sprintf "%d" n else Printf.sprintf "caml:%d" n
| Some s -> s
;;