package posix-socket

  1. Overview
  2. Docs

Source file posix_socket_generated_stubs.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
module CI = Cstubs_internals

external posix_socket_1_getnameinfo
  : _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr -> Unsigned.uint32 ->
    _ CI.fatptr -> Unsigned.uint32 -> int -> int
  = "posix_socket_1_getnameinfo_byte7" "posix_socket_1_getnameinfo" 

external posix_socket_2_getaddrinfo
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int
  = "posix_socket_2_getaddrinfo" 

external posix_socket_3_freeaddrinfo : _ CI.fatptr -> unit
  = "posix_socket_3_freeaddrinfo" 

external posix_socket_4_getservbyname
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp = "posix_socket_4_getservbyname" 

external posix_socket_5_strnlen
  : _ CI.fatptr -> Unsigned.size_t -> Unsigned.size_t
  = "posix_socket_5_strnlen" 

external posix_socket_6_htonl : Unsigned.uint32 -> Unsigned.uint32
  = "posix_socket_6_htonl" 

external posix_socket_7_htons : Unsigned.uint16 -> Unsigned.uint16
  = "posix_socket_7_htons" 

external posix_socket_8_ntohs : Unsigned.uint16 -> Unsigned.uint16
  = "posix_socket_8_ntohs" 

external posix_socket_9_ntohl : Unsigned.uint32 -> Unsigned.uint32
  = "posix_socket_9_ntohl" 

type 'a result = 'a
type 'a return = 'a
type 'a fn =
 | Returns  : 'a CI.typ   -> 'a return fn
 | Function : 'a CI.typ * 'b fn  -> ('a -> 'b) fn
let map_result f x = f x
let returning t = Returns t
let (@->) f p = Function (f, p)
let foreign : type a b. string -> (a -> b) fn -> (a -> b) =
  fun name t -> match t, name with
| Function (CI.Primitive CI.Uint32_t, Returns (CI.Primitive CI.Uint32_t)),
  "ntohl" -> posix_socket_9_ntohl
| Function (CI.Primitive CI.Uint16_t, Returns (CI.Primitive CI.Uint16_t)),
  "ntohs" -> posix_socket_8_ntohs
| Function (CI.Primitive CI.Uint16_t, Returns (CI.Primitive CI.Uint16_t)),
  "htons" -> posix_socket_7_htons
| Function (CI.Primitive CI.Uint32_t, Returns (CI.Primitive CI.Uint32_t)),
  "htonl" -> posix_socket_6_htonl
| Function
    (CI.Pointer _,
     Function (CI.Primitive CI.Size_t, Returns (CI.Primitive CI.Size_t))),
  "strnlen" ->
  (fun x5 x7 -> let CI.CPointer x6 = x5 in posix_socket_5_strnlen x6 x7)
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x12))),
  "getservbyname" ->
  (fun x8 x10 ->
    let CI.CPointer x11 = x10 in
    let CI.CPointer x9 = x8 in
    CI.make_ptr x12 (posix_socket_4_getservbyname x9 x11))
| Function (CI.Pointer _, Returns CI.Void), "freeaddrinfo" ->
  (fun x13 -> let CI.CPointer x14 = x13 in posix_socket_3_freeaddrinfo x14)
| Function
    (CI.View {CI.ty = CI.Pointer _; write = x16; _},
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x20; _},
        Function
          (CI.Pointer _,
           Function (CI.Pointer _, Returns (CI.Primitive CI.Int))))),
  "getaddrinfo" ->
  (fun x15 x19 x23 x25 ->
    let CI.CPointer x26 = x25 in
    let CI.CPointer x24 = x23 in
    let CI.CPointer x22 = x20 x19 in
    let CI.CPointer x18 = x16 x15 in
    let x17 = x18 in
    let x21 = x22 in posix_socket_2_getaddrinfo x17 x21 x24 x26)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x30; _},
        Function
          (CI.Pointer _,
           Function
             (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x35; _},
              Function
                (CI.Pointer _,
                 Function
                   (CI.View
                      {CI.ty = CI.Primitive CI.Uint32_t; write = x40; _},
                    Function
                      (CI.Primitive CI.Int, Returns (CI.Primitive CI.Int)))))))),
  "getnameinfo" ->
  (fun x27 x29 x32 x34 x37 x39 x42 ->
    let CI.CPointer x38 = x37 in
    let CI.CPointer x33 = x32 in
    let CI.CPointer x28 = x27 in
    let x31 = x30 x29 in
    let x36 = x35 x34 in
    let x41 = x40 x39 in
    posix_socket_1_getnameinfo x28 x31 x33 x36 x38 x41 x42)
| _, s ->  Printf.ksprintf failwith "No match for %s" s


let foreign_value : type a. string -> a Ctypes.typ -> a Ctypes.ptr =
  fun name t -> match t, name with
| _, s ->  Printf.ksprintf failwith "No match for %s" s

OCaml

Innovation. Community. Security.