1 /**************************************************************************/
2 /* */
3 /* OCaml */
4 /* */
5 /* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
6 /* */
7 /* Copyright 1996 Institut National de Recherche en Informatique et */
8 /* en Automatique. */
9 /* */
10 /* All rights reserved. This file is distributed under the terms of */
11 /* the GNU Lesser General Public License version 2.1, with the */
12 /* special exception on linking described in the file LICENSE. */
13 /* */
14 /**************************************************************************/
15
16 #include <caml/mlvalues.h>
17 #include "unixsupport.h"
18 #include "socketaddr.h"
19
unix_bind(socket,address)20 CAMLprim value unix_bind(socket, address)
21 value socket, address;
22 {
23 int ret;
24 union sock_addr_union addr;
25 socklen_param_type addr_len;
26
27 get_sockaddr(address, &addr, &addr_len);
28 ret = bind(Socket_val(socket), &addr.s_gen, addr_len);
29 if (ret == -1) {
30 win32_maperr(WSAGetLastError());
31 uerror("bind", Nothing);
32 }
33 return Val_unit;
34 }
35