0 | module System.UV.Data.Error
2 | import Derive.Prelude
4 | %language ElabReflection
8 | data UVError : Type where
11 | EADDRINUSE : UVError
12 | EADDRNOTAVAIL : UVError
13 | EAFNOSUPPORT : UVError
15 | EAI_ADDRFAMILY : UVError
17 | EAI_BADFLAGS : UVError
18 | EAI_BADHINTS : UVError
19 | EAI_CANCELED : UVError
21 | EAI_FAMILY : UVError
22 | EAI_MEMORY : UVError
23 | EAI_NODATA : UVError
24 | EAI_NONAME : UVError
25 | EAI_OVERFLOW : UVError
26 | EAI_PROTOCOL : UVError
27 | EAI_SERVICE : UVError
28 | EAI_SOCKTYPE : UVError
34 | ECONNABORTED : UVError
35 | ECONNREFUSED : UVError
36 | ECONNRESET : UVError
37 | EDESTADDRREQ : UVError
41 | EHOSTUNREACH : UVError
50 | ENAMETOOLONG : UVError
52 | ENETUNREACH : UVError
59 | ENOPROTOOPT : UVError
71 | EPROTONOSUPPORT : UVError
72 | EPROTOTYPE : UVError
90 | ESOCKTNOSUPPORT : UVError
94 | %runElab derive "UVError" [Show,Eq]
97 | toCode : UVError -> Int32
99 | toCode EACCES = (-
13)
100 | toCode EADDRINUSE = (-
98)
101 | toCode EADDRNOTAVAIL = (-
99)
102 | toCode EAFNOSUPPORT = (-
97)
103 | toCode EAGAIN = (-
11)
104 | toCode EAI_ADDRFAMILY = (-
3000)
105 | toCode EAI_AGAIN = (-
3001)
106 | toCode EAI_BADFLAGS = (-
3002)
107 | toCode EAI_BADHINTS = (-
3013)
108 | toCode EAI_CANCELED = (-
3003)
109 | toCode EAI_FAIL = (-
3004)
110 | toCode EAI_FAMILY = (-
3005)
111 | toCode EAI_MEMORY = (-
3006)
112 | toCode EAI_NODATA = (-
3007)
113 | toCode EAI_NONAME = (-
3008)
114 | toCode EAI_OVERFLOW = (-
3009)
115 | toCode EAI_PROTOCOL = (-
3014)
116 | toCode EAI_SERVICE = (-
3010)
117 | toCode EAI_SOCKTYPE = (-
3011)
118 | toCode EALREADY = (-
114)
119 | toCode EBADF = (-
9)
120 | toCode EBUSY = (-
16)
121 | toCode ECANCELED = (-
125)
122 | toCode ECHARSET = (-
4080)
123 | toCode ECONNABORTED = (-
103)
124 | toCode ECONNREFUSED = (-
111)
125 | toCode ECONNRESET = (-
104)
126 | toCode EDESTADDRREQ = (-
89)
127 | toCode EEXIST = (-
17)
128 | toCode EFAULT = (-
14)
129 | toCode EFBIG = (-
27)
130 | toCode EHOSTUNREACH = (-
113)
131 | toCode EINTR = (-
4)
132 | toCode EINVAL = (-
22)
134 | toCode EISCONN = (-
106)
135 | toCode EISDIR = (-
21)
136 | toCode ELOOP = (-
40)
137 | toCode EMFILE = (-
24)
138 | toCode EMSGSIZE = (-
90)
139 | toCode ENAMETOOLONG = (-
36)
140 | toCode ENETDOWN = (-
100)
141 | toCode ENETUNREACH = (-
101)
142 | toCode ENFILE = (-
23)
143 | toCode ENOBUFS = (-
105)
144 | toCode ENODEV = (-
19)
145 | toCode ENOENT = (-
2)
146 | toCode ENOMEM = (-
12)
147 | toCode ENONET = (-
64)
148 | toCode ENOPROTOOPT = (-
92)
149 | toCode ENOSPC = (-
28)
150 | toCode ENOSYS = (-
38)
151 | toCode ENOTCONN = (-
107)
152 | toCode ENOTDIR = (-
20)
153 | toCode ENOTEMPTY = (-
39)
154 | toCode ENOTSOCK = (-
88)
155 | toCode ENOTSUP = (-
95)
156 | toCode EOVERFLOW = (-
75)
157 | toCode EPERM = (-
1)
158 | toCode EPIPE = (-
32)
159 | toCode EPROTO = (-
71)
160 | toCode EPROTONOSUPPORT = (-
93)
161 | toCode EPROTOTYPE = (-
91)
162 | toCode ERANGE = (-
34)
163 | toCode EROFS = (-
30)
164 | toCode ESHUTDOWN = (-
108)
165 | toCode ESPIPE = (-
29)
166 | toCode ESRCH = (-
3)
167 | toCode ETIMEDOUT = (-
110)
168 | toCode ETXTBSY = (-
26)
169 | toCode EXDEV = (-
18)
170 | toCode UNKNOWN = (-
4094)
171 | toCode EOF = (-
4095)
172 | toCode ENXIO = (-
6)
173 | toCode EMLINK = (-
31)
174 | toCode EHOSTDOWN = (-
112)
175 | toCode EREMOTEIO = (-
121)
176 | toCode ENOTTY = (-
25)
177 | toCode EFTYPE = (-
4028)
178 | toCode EILSEQ = (-
84)
179 | toCode ESOCKTNOSUPPORT = (-
94)
180 | toCode ENODATA = (-
61)
181 | toCode EUNATCH = (-
49)
184 | fromCode : Int32 -> UVError
185 | fromCode (-
7) = E2BIG
186 | fromCode (-
13) = EACCES
187 | fromCode (-
98) = EADDRINUSE
188 | fromCode (-
99) = EADDRNOTAVAIL
189 | fromCode (-
97) = EAFNOSUPPORT
190 | fromCode (-
11) = EAGAIN
191 | fromCode (-
3000) = EAI_ADDRFAMILY
192 | fromCode (-
3001) = EAI_AGAIN
193 | fromCode (-
3002) = EAI_BADFLAGS
194 | fromCode (-
3013) = EAI_BADHINTS
195 | fromCode (-
3003) = EAI_CANCELED
196 | fromCode (-
3004) = EAI_FAIL
197 | fromCode (-
3005) = EAI_FAMILY
198 | fromCode (-
3006) = EAI_MEMORY
199 | fromCode (-
3007) = EAI_NODATA
200 | fromCode (-
3008) = EAI_NONAME
201 | fromCode (-
3009) = EAI_OVERFLOW
202 | fromCode (-
3014) = EAI_PROTOCOL
203 | fromCode (-
3010) = EAI_SERVICE
204 | fromCode (-
3011) = EAI_SOCKTYPE
205 | fromCode (-
114) = EALREADY
206 | fromCode (-
9) = EBADF
207 | fromCode (-
16) = EBUSY
208 | fromCode (-
125) = ECANCELED
209 | fromCode (-
4080) = ECHARSET
210 | fromCode (-
103) = ECONNABORTED
211 | fromCode (-
111) = ECONNREFUSED
212 | fromCode (-
104) = ECONNRESET
213 | fromCode (-
89) = EDESTADDRREQ
214 | fromCode (-
17) = EEXIST
215 | fromCode (-
14) = EFAULT
216 | fromCode (-
27) = EFBIG
217 | fromCode (-
113) = EHOSTUNREACH
218 | fromCode (-
4) = EINTR
219 | fromCode (-
22) = EINVAL
220 | fromCode (-
5) = EIO
221 | fromCode (-
106) = EISCONN
222 | fromCode (-
21) = EISDIR
223 | fromCode (-
40) = ELOOP
224 | fromCode (-
24) = EMFILE
225 | fromCode (-
90) = EMSGSIZE
226 | fromCode (-
36) = ENAMETOOLONG
227 | fromCode (-
100) = ENETDOWN
228 | fromCode (-
101) = ENETUNREACH
229 | fromCode (-
23) = ENFILE
230 | fromCode (-
105) = ENOBUFS
231 | fromCode (-
19) = ENODEV
232 | fromCode (-
2) = ENOENT
233 | fromCode (-
12) = ENOMEM
234 | fromCode (-
64) = ENONET
235 | fromCode (-
92) = ENOPROTOOPT
236 | fromCode (-
28) = ENOSPC
237 | fromCode (-
38) = ENOSYS
238 | fromCode (-
107) = ENOTCONN
239 | fromCode (-
20) = ENOTDIR
240 | fromCode (-
39) = ENOTEMPTY
241 | fromCode (-
88) = ENOTSOCK
242 | fromCode (-
95) = ENOTSUP
243 | fromCode (-
75) = EOVERFLOW
244 | fromCode (-
1) = EPERM
245 | fromCode (-
32) = EPIPE
246 | fromCode (-
71) = EPROTO
247 | fromCode (-
93) = EPROTONOSUPPORT
248 | fromCode (-
91) = EPROTOTYPE
249 | fromCode (-
34) = ERANGE
250 | fromCode (-
30) = EROFS
251 | fromCode (-
108) = ESHUTDOWN
252 | fromCode (-
29) = ESPIPE
253 | fromCode (-
3) = ESRCH
254 | fromCode (-
110) = ETIMEDOUT
255 | fromCode (-
26) = ETXTBSY
256 | fromCode (-
18) = EXDEV
257 | fromCode (-
4094) = UNKNOWN
258 | fromCode (-
4095) = EOF
259 | fromCode (-
6) = ENXIO
260 | fromCode (-
31) = EMLINK
261 | fromCode (-
112) = EHOSTDOWN
262 | fromCode (-
121) = EREMOTEIO
263 | fromCode (-
25) = ENOTTY
264 | fromCode (-
4028) = EFTYPE
265 | fromCode (-
84) = EILSEQ
266 | fromCode (-
94) = ESOCKTNOSUPPORT
267 | fromCode (-
61) = ENODATA
268 | fromCode (-
49) = EUNATCH
269 | fromCode _ = UNKNOWN
271 | %foreign "C:uv_strerror,libuv-idris"
272 | uv_strerror : Int32 -> String
275 | errorMsg : UVError -> String
276 | errorMsg = uv_strerror . toCode
279 | Interpolation UVError where
280 | interpolate err = "\{errorMsg err} (\{show err})"