minios: add a barebone net/if.h
PATCH 1/1 minios: add a barebone net/if.h
net/if.h is a standard header but unfortunately lwip doesn't provide it for any target but linux.
Therefore I am adding a net/if.h, with an empty implementation of the declared functions.
Signed-off-by Stefano Stabellini <[email protected]>
extras/mini-os/include/posix/net/if.h new file +85 -0
@@ -0,0 +1,85 @@ +/* +* This code is mostly taken from NetBSD net/if.h +* Changes: Stefano Stabellini <[email protected]> +* +****************************************************************************** +* +* Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc. +* All rights reserved. +* +* This code is derived from software contributed to The NetBSD Foundation +* by William Studenmund and Jason R. Thorpe. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +* Copyright (c) 1982, 1986, 1989, 1993 +* The Regents of the University of California. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* 3. Neither the name of the University nor the names of its contributors +* may be used to endorse or promote products derived from this software +* without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +* SUCH DAMAGE. +* +*/ + +#ifndef _NET_IF_H_ +#define _NET_IF_H_ + +/* +* Length of interface external name, including terminating '\0'. +* Note: this is the same size as a generic device's external name. +*/ +#define IF_NAMESIZE 16 + +struct if_nameindex { +unsigned int if_index;/* 1, 2, ... */ +char *if_name;/* null terminated name: "le0", ... */ +}; + +unsigned int if_nametoindex (const char *); +char *if_indextoname (unsigned int ,char *); +struct if_nameindex *if_nameindex (void ); +void if_freenameindex (struct if_nameindex *); + +#endif /* !_NET_IF_H_ */ +
extras/mini-os/lib/sys.c +7 -0
@@ -34,6 +34,7 @@#include <sys/unistd.h> #include <sys/stat.h> #include <sys/mman.h> +#include <net/if.h> #include <time.h> #include <errno.h> #include <fcntl.h>
@@ -1324,6 +1325,12 @@unsupported_function (int, tcgetattr,0 );unsupported_function (int, poll,-1 ); +/* net/if.h */ +unsupported_function_log(unsigned int, if_nametoindex, -1); +unsupported_function_log(char *, if_indextoname, (char *) NULL); +unsupported_function_log(struct if_nameindex *, if_nameindex, (struct if_nameindex *) NULL); +unsupported_function_crash (if_freenameindex); +/* Linuxish abi for the Caml runtime, don't support */ unsupported_function_log(struct dirent *, readdir64, NULL);unsupported_function_log (int, getrusage,-1 );