summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/sockopt.c
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2001-10-09 13:36:33 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2001-10-09 13:36:33 +0000
commitafc895f5b32356f5554bfbdfd8ebaef26e2aefc0 (patch)
tree8d33772e951799187249154e740a2136422b3a27 /otherlibs/win32unix/sockopt.c
parentdc17aff3494139376dc61c7f803ebb7f371e61e5 (diff)
Patch Bruno Verlyck 2001-09-12, nettoie le passage des arguments 'level'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3863 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/win32unix/sockopt.c')
-rw-r--r--otherlibs/win32unix/sockopt.c51
1 files changed, 26 insertions, 25 deletions
diff --git a/otherlibs/win32unix/sockopt.c b/otherlibs/win32unix/sockopt.c
index 6d3f9d163..cc1385ac1 100644
--- a/otherlibs/win32unix/sockopt.c
+++ b/otherlibs/win32unix/sockopt.c
@@ -28,49 +28,51 @@ static int sockopt_optint[] = { SO_LINGER };
static int sockopt_float[] = { SO_RCVTIMEO, SO_SNDTIMEO };
-value getsockopt_int(int *sockopt, value socket, value level, value option)
+CAMLprim value getsockopt_int(int *sockopt, value socket,
+ int level, value option)
{
int optval;
int optsize;
optsize = sizeof(optval);
if (getsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &optval, &optsize) == -1)
uerror("getsockopt", Nothing);
return Val_int(optval);
}
-value setsockopt_int(int *sockopt, value socket, value level,
- value option, value status)
+CAMLprim value setsockopt_int(int *sockopt, value socket, int level,
+ value option, value status)
{
int optval = Int_val(status);
if (setsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &optval, sizeof(optval)) == -1)
uerror("setsockopt", Nothing);
return Val_unit;
}
CAMLprim value unix_getsockopt_bool(value socket, value option) {
- return getsockopt_int(sockopt_bool, socket, Val_int(SOL_SOCKET), option);
+ return getsockopt_int(sockopt_bool, socket, SOL_SOCKET, option);
}
CAMLprim value unix_setsockopt_bool(value socket, value option, value status)
{
- return setsockopt_int(sockopt_bool, socket, Val_int(SOL_SOCKET), option, status);
+ return setsockopt_int(sockopt_bool, socket, SOL_SOCKET, option, status);
}
CAMLprim value unix_getsockopt_int(value socket, value option) {
- return getsockopt_int(sockopt_int, socket, Val_int(SOL_SOCKET), option);
+ return getsockopt_int(sockopt_int, socket, SOL_SOCKET, option);
}
CAMLprim value unix_setsockopt_int(value socket, value option, value status)
{
- return setsockopt_int(sockopt_int, socket, Val_int(SOL_SOCKET), option, status);
+ return setsockopt_int(sockopt_int, socket, SOL_SOCKET, option, status);
}
-value getsockopt_optint(int *sockopt, value socket, value level, value option)
+CAMLprim value getsockopt_optint(int *sockopt, value socket,
+ int level, value option)
{
struct linger optval;
int optsize;
@@ -78,7 +80,7 @@ value getsockopt_optint(int *sockopt, value socket, value level, value option)
optsize = sizeof(optval);
if (getsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &optval, &optsize) == -1)
uerror("getsockopt_optint", Nothing);
if (optval.l_onoff != 0) {
@@ -88,8 +90,8 @@ value getsockopt_optint(int *sockopt, value socket, value level, value option)
return res;
}
-value setsockopt_optint(int *sockopt, value socket, value level,
- value option, value status)
+CAMLprim value setsockopt_optint(int *sockopt, value socket, int level,
+ value option, value status)
{
struct linger optval;
@@ -97,7 +99,7 @@ value setsockopt_optint(int *sockopt, value socket, value level,
if (optval.l_onoff)
optval.l_linger = Int_val (Field (status, 0));
if (setsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &optval, sizeof(optval)) == -1)
uerror("setsockopt_optint", Nothing);
return Val_unit;
@@ -105,31 +107,30 @@ value setsockopt_optint(int *sockopt, value socket, value level,
CAMLprim value unix_getsockopt_optint(value socket, value option)
{
- return getsockopt_optint(sockopt_optint, socket,
- Val_int(SOL_SOCKET), option);
+ return getsockopt_optint(sockopt_optint, socket, SOL_SOCKET, option);
}
CAMLprim value unix_setsockopt_optint(value socket, value option, value status)
{
- return setsockopt_optint(sockopt_optint, socket,
- Val_int(SOL_SOCKET), option, status);
+ return setsockopt_optint(sockopt_optint, socket, SOL_SOCKET, option, status);
}
-value getsockopt_float(int *sockopt, value socket, value level, value option)
+CAMLprim value getsockopt_float(int *sockopt, value socket,
+ int level, value option)
{
struct timeval tv;
int optsize;
optsize = sizeof(tv);
if (getsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &tv, &optsize) == -1)
uerror("getsockopt_float", Nothing);
return copy_double((double) tv.tv_sec + (double) tv.tv_usec / 1e6);
}
-value setsockopt_float(int *sockopt, value socket, value level,
- value option, value status)
+CAMLprim value setsockopt_float(int *sockopt, value socket, int level,
+ value option, value status)
{
struct timeval tv;
double tv_f;
@@ -138,7 +139,7 @@ value setsockopt_float(int *sockopt, value socket, value level,
tv.tv_sec = (int)tv_f;
tv.tv_usec = (int) (1e6 * (tv_f - tv.tv_sec));
if (setsockopt((SOCKET) Handle_val(socket),
- Int_val(level), sockopt[Int_val(option)],
+ level, sockopt[Int_val(option)],
(void *) &tv, sizeof(tv)) == -1)
uerror("setsockopt_float", Nothing);
return Val_unit;
@@ -146,11 +147,11 @@ value setsockopt_float(int *sockopt, value socket, value level,
CAMLprim value unix_getsockopt_float(value socket, value option)
{
- return getsockopt_float(sockopt_float, socket, Val_int(SOL_SOCKET), option);
+ return getsockopt_float(sockopt_float, socket, SOL_SOCKET, option);
}
CAMLprim value unix_setsockopt_float(value socket, value option, value status)
{
- return setsockopt_float(sockopt_float, socket, Val_int(SOL_SOCKET), option, status);
+ return setsockopt_float(sockopt_float, socket, SOL_SOCKET, option, status);
}