From afc895f5b32356f5554bfbdfd8ebaef26e2aefc0 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Tue, 9 Oct 2001 13:36:33 +0000 Subject: [PATCH] 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 --- otherlibs/unix/sockopt.c | 53 ++++++++++++++++++----------------- otherlibs/win32unix/sockopt.c | 51 ++++++++++++++++----------------- 2 files changed, 54 insertions(+), 50 deletions(-) diff --git a/otherlibs/unix/sockopt.c b/otherlibs/unix/sockopt.c index 210e2134b..299b394ce 100644 --- a/otherlibs/unix/sockopt.c +++ b/otherlibs/unix/sockopt.c @@ -84,54 +84,56 @@ static int sockopt_optint[] = { SO_LINGER }; static int sockopt_float[] = { SO_RCVTIMEO, SO_SNDTIMEO }; -CAMLprim 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; socklen_param_type optsize; optsize = sizeof(optval); - if (getsockopt(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (getsockopt(Int_val(socket), level, sockopt[Int_val(option)], (void *) &optval, &optsize) == -1) uerror("getsockopt", Nothing); return Val_int(optval); } -CAMLprim 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(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (setsockopt(Int_val(socket), 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) { /* ML */ - return getsockopt_int(sockopt_bool, socket, Val_int(SOL_SOCKET), option); +CAMLprim value unix_getsockopt_bool(value socket, value 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) { /* ML */ - return getsockopt_int(sockopt_int, socket, Val_int(SOL_SOCKET), option); +CAMLprim value unix_getsockopt_int(value socket, value 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); } -CAMLprim 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; socklen_param_type optsize; value res = Val_int(0); /* None */ optsize = sizeof(optval); - if (getsockopt(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (getsockopt(Int_val(socket), level, sockopt[Int_val(option)], (void *) &optval, &optsize) == -1) uerror("getsockopt_optint", Nothing); if (optval.l_onoff != 0) { @@ -141,15 +143,15 @@ CAMLprim value getsockopt_optint(int *sockopt, value socket, value level, value return res; } -CAMLprim 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; optval.l_onoff = Is_block (status); if (optval.l_onoff) optval.l_linger = Int_val (Field (status, 0)); - if (setsockopt(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (setsockopt(Int_val(socket), level, sockopt[Int_val(option)], (void *) &optval, sizeof(optval)) == -1) uerror("setsockopt_optint", Nothing); return Val_unit; @@ -157,28 +159,29 @@ CAMLprim 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); } -CAMLprim 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; socklen_param_type optsize; optsize = sizeof(tv); - if (getsockopt(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (getsockopt(Int_val(socket), 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); } -CAMLprim 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; @@ -186,7 +189,7 @@ CAMLprim value setsockopt_float(int *sockopt, value socket, value level, tv_f = Double_val(status); tv.tv_sec = (int)tv_f; tv.tv_usec = (int) (1e6 * (tv_f - tv.tv_sec)); - if (setsockopt(Int_val(socket), Int_val(level), sockopt[Int_val(option)], + if (setsockopt(Int_val(socket), level, sockopt[Int_val(option)], (void *) &tv, sizeof(tv)) == -1) uerror("setsockopt_float", Nothing); return Val_unit; @@ -194,12 +197,12 @@ CAMLprim 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); } #else 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); }