From ae1e4e08a1005a0c487f03ba189d7536e7fdcba6 Mon Sep 17 00:00:00 2001 From: Michael Gielda Date: Thu, 3 Apr 2014 14:53:04 +0200 Subject: Added the OS files --- .../net/tcpip/current/src/lib/setsockopt.c | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 ecos/packages/net/tcpip/current/src/lib/setsockopt.c (limited to 'ecos/packages/net/tcpip/current/src/lib/setsockopt.c') diff --git a/ecos/packages/net/tcpip/current/src/lib/setsockopt.c b/ecos/packages/net/tcpip/current/src/lib/setsockopt.c new file mode 100644 index 0000000..88902f0 --- /dev/null +++ b/ecos/packages/net/tcpip/current/src/lib/setsockopt.c @@ -0,0 +1,54 @@ +//========================================================================== +// +// lib/setsockopt.c +// +// setsockopt() system call +// +//========================================================================== +// ####BSDALTCOPYRIGHTBEGIN#### +// ------------------------------------------- +// Portions of this software may have been derived from OpenBSD +// or other sources, and if so are covered by the appropriate copyright +// and license included herein. +// ------------------------------------------- +// ####BSDALTCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): gthomas +// Contributors: gthomas +// Date: 2000-01-10 +// Purpose: +// Description: +// +// +//####DESCRIPTIONEND#### +// +//========================================================================== + + +#include +#include +#include +#include + +#include + +int +setsockopt(int s, int level, int name, const void *val, socklen_t valsize) +{ + struct sys_setsockopt_args args; + int res, error; + SYSCALLARG(args,s) = s; + SYSCALLARG(args,level) = level; + SYSCALLARG(args,name) = name; + SYSCALLARG(args,val) = val; + SYSCALLARG(args,valsize) = valsize; + error = sys_setsockopt(&args, &res); + if (error) { + errno = error; + return -1; + } else { + return 0; + } +} -- cgit v1.2.3