forked from ygrek/ocurl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
errors.ml
110 lines (108 loc) · 3 KB
/
errors.ml
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
let all = [
"CURLE_OK";
"CURLE_UNSUPPORTED_PROTOCOL";
"CURLE_FAILED_INIT";
"CURLE_URL_MALFORMAT";
"CURLE_URL_MALFORMAT_USER";
"CURLE_COULDNT_RESOLVE_PROXY";
"CURLE_COULDNT_RESOLVE_HOST";
"CURLE_COULDNT_CONNECT";
"CURLE_FTP_WEIRD_SERVER_REPLY";
"CURLE_FTP_ACCESS_DENIED";
"CURLE_FTP_USER_PASSWORD_INCORRECT";
"CURLE_FTP_WEIRD_PASS_REPLY";
"CURLE_FTP_WEIRD_USER_REPLY";
"CURLE_FTP_WEIRD_PASV_REPLY";
"CURLE_FTP_WEIRD_227_FORMAT";
"CURLE_FTP_CANT_GET_HOST";
"CURLE_FTP_CANT_RECONNECT";
"CURLE_FTP_COULDNT_SET_BINARY";
"CURLE_PARTIAL_FILE";
"CURLE_FTP_COULDNT_RETR_FILE";
"CURLE_FTP_WRITE_ERROR";
"CURLE_FTP_QUOTE_ERROR";
"CURLE_HTTP_RETURNED_ERROR";
"CURLE_WRITE_ERROR";
"CURLE_MALFORMAT_USER";
"CURLE_FTP_COULDNT_STOR_FILE";
"CURLE_READ_ERROR";
"CURLE_OUT_OF_MEMORY";
"CURLE_OPERATION_TIMEOUTED";
"CURLE_FTP_COULDNT_SET_ASCII";
"CURLE_FTP_PORT_FAILED";
"CURLE_FTP_COULDNT_USE_REST";
"CURLE_FTP_COULDNT_GET_SIZE";
"CURLE_HTTP_RANGE_ERROR";
"CURLE_HTTP_POST_ERROR";
"CURLE_SSL_CONNECT_ERROR";
"CURLE_BAD_DOWNLOAD_RESUME";
"CURLE_FILE_COULDNT_READ_FILE";
"CURLE_LDAP_CANNOT_BIND";
"CURLE_LDAP_SEARCH_FAILED";
"CURLE_LIBRARY_NOT_FOUND";
"CURLE_FUNCTION_NOT_FOUND";
"CURLE_ABORTED_BY_CALLBACK";
"CURLE_BAD_FUNCTION_ARGUMENT";
"CURLE_BAD_CALLING_ORDER";
"CURLE_INTERFACE_FAILED";
"CURLE_BAD_PASSWORD_ENTERED";
"CURLE_TOO_MANY_REDIRECTS";
"CURLE_UNKNOWN_TELNET_OPTION";
"CURLE_TELNET_OPTION_SYNTAX";
"CURLE_SSL_PEER_CERTIFICATE";
"CURLE_GOT_NOTHING";
"CURLE_SSL_ENGINE_NOTFOUND";
"CURLE_SSL_ENGINE_SETFAILED";
"CURLE_SEND_ERROR";
"CURLE_RECV_ERROR";
"CURLE_SHARE_IN_USE";
"CURLE_SSL_CERTPROBLEM";
"CURLE_SSL_CIPHER";
"CURLE_SSL_CACERT";
"CURLE_BAD_CONTENT_ENCODING";
"CURLE_LDAP_INVALID_URL";
"CURLE_FILESIZE_EXCEEDED";
"CURLE_FTP_SSL_FAILED";
"CURLE_SEND_FAIL_REWIND";
"CURLE_SSL_ENGINE_INITFAILED";
"CURLE_LOGIN_DENIED";
"CURLE_TFTP_NOTFOUND";
"CURLE_TFTP_PERM";
"CURLE_REMOTE_DISK_FULL";
"CURLE_TFTP_ILLEGAL";
"CURLE_TFTP_UNKNOWNID";
"CURLE_REMOTE_FILE_EXISTS";
"CURLE_TFTP_NOSUCHUSER";
"CURLE_CONV_FAILED";
"CURLE_CONV_REQD";
"CURLE_SSL_CACERT_BADFILE";
"CURLE_REMOTE_FILE_NOT_FOUND";
"CURLE_SSH";
"CURLE_SSL_SHUTDOWN_FAILED";
"CURLE_AGAIN";
]
let pr fmt = Printf.ksprintf print_endline fmt
let () =
match List.tl @@ Array.to_list @@ Sys.argv with
| [] | "c"::[] ->
all |> List.iteri begin fun i s ->
match s with
| "CURLE_OK" ->
pr " {\"%s\", %s}," s s
| _ ->
pr "#if HAVE_DECL_%s" s;
pr "#if %s != %d" s i;
pr "#warning error code mismatch: %s != %d" s i;
pr "#endif";
pr " {\"%s\", %s}," s s;
pr "#else";
pr " {\"%s\", -1}," s;
pr"#endif";
end
| "ml"::[] -> all |> List.iter (pr " | %s")
| "configure"::[] ->
Format.set_margin 80;
Format.open_box 0;
all |> List.iter (function "CURLE_OK" -> () | s -> Format.printf "%s,@ " s);
Format.close_box ();
| _ -> failwith "bad usage"