package posix-socket

  1. Overview
  2. Docs

Source file posix_eai_errno_conversions.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
(* Generated errno conversion functions *)
open Posix_socket_constants.Def (Posix_socket_generated_constants)

(** Convert eai_errno code to variant *)
let error_of_int n =
  if n = eai_addrfamily then `ADDRFAMILY
  else if n = eai_again then `AGAIN
  else if n = eai_badflags then `BADFLAGS
  else if n = eai_fail then `FAIL
  else if n = eai_family then `FAMILY
  else if n = eai_memory then `MEMORY
  else if n = eai_nodata then `NODATA
  else if n = eai_noname then `NONAME
  else if n = eai_service then `SERVICE
  else if n = eai_socktype then `SOCKTYPE
  else if n = eai_system then `SYSTEM
  else if n = eai_badhints then `BADHINTS
  else if n = eai_protocol then `PROTOCOL
  else if n = eai_overflow then `OVERFLOW
  else `UNKNOWN n

(** Convert variant to errno code *)
let int_of_error = function
  | `ADDRFAMILY -> eai_addrfamily
  | `AGAIN -> eai_again
  | `BADFLAGS -> eai_badflags
  | `FAIL -> eai_fail
  | `FAMILY -> eai_family
  | `MEMORY -> eai_memory
  | `NODATA -> eai_nodata
  | `NONAME -> eai_noname
  | `SERVICE -> eai_service
  | `SOCKTYPE -> eai_socktype
  | `SYSTEM -> eai_system
  | `BADHINTS -> eai_badhints
  | `PROTOCOL -> eai_protocol
  | `OVERFLOW -> eai_overflow
  | `UNKNOWN n -> n