Stefano Stabellini
2008-Sep-16 15:50 UTC
[Xen-devel] [PATCH] mini-os: adding some missing posix function declarations
Adding some missing posix function declarations, to get rid of some qemu-remote compile time warnings. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> --- diff -r 12f3edfab6ef extras/mini-os/include/posix/time.h --- a/extras/mini-os/include/posix/time.h Fri Sep 12 16:45:37 2008 +0100 +++ b/extras/mini-os/include/posix/time.h Mon Sep 15 16:36:09 2008 +0100 @@ -6,5 +6,6 @@ #include_next <time.h> int nanosleep(const struct timespec *req, struct timespec *rem); +int clock_gettime(clockid_t clock_id, struct timespec *tp); #endif /* _POSIX_TIME_H */ diff -r 12f3edfab6ef extras/mini-os/include/posix/unistd.h --- a/extras/mini-os/include/posix/unistd.h Fri Sep 12 16:45:37 2008 +0100 +++ b/extras/mini-os/include/posix/unistd.h Mon Sep 15 15:46:54 2008 +0100 @@ -5,5 +5,6 @@ size_t getpagesize(void); int ftruncate(int fd, off_t length); +int lockf(int fd, int cmd, off_t len); #endif /* _POSIX_UNISTD_H */ diff -r 12f3edfab6ef extras/mini-os/include/x86/os.h --- a/extras/mini-os/include/x86/os.h Fri Sep 12 16:45:37 2008 +0100 +++ b/extras/mini-os/include/x86/os.h Tue Sep 16 14:08:22 2008 +0100 @@ -11,6 +11,7 @@ #define __builtin_expect(x, expected_value) (x) #endif #define unlikely(x) __builtin_expect((x),0) +#define likely(x) __builtin_expect((x),1) #define smp_processor_id() 0 diff -r 12f3edfab6ef extras/mini-os/lib/sys.c --- a/extras/mini-os/lib/sys.c Fri Sep 12 16:45:37 2008 +0100 +++ b/extras/mini-os/lib/sys.c Mon Sep 15 15:45:17 2008 +0100 @@ -1322,6 +1322,7 @@ unsupported_function_crash(sysconf); unsupported_function_crash(sysconf); unsupported_function(int, tcsetattr, -1); unsupported_function(int, tcgetattr, 0); +unsupported_function(int, poll, -1); /* Linuxish abi for the Caml runtime, don''t support */ unsupported_function_log(struct dirent *, readdir64, NULL); diff -r 12f3edfab6ef extras/mini-os/include/posix/arpa/inet.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extras/mini-os/include/posix/arpa/inet.h Mon Sep 15 12:06:23 2008 +0100 @@ -0,0 +1,7 @@ +#ifndef _POSIX_ARPA_INET_H_ +#define _POSIX_ARPA_INET_H_ + +#include <lwip/inet.h> + +#endif /* _POSIX_ARPA_INET_H_ */ + diff -r 12f3edfab6ef extras/mini-os/include/posix/signal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extras/mini-os/include/posix/signal.h Tue Sep 16 16:11:34 2008 +0100 @@ -0,0 +1,10 @@ +#ifndef _POSIX_SIGNAL_H +#define _POSIX_SIGNAL_H + +#include_next <signal.h> + +int sigaction(int signum, const struct sigaction * __restrict, + struct sigaction * __restrict); + +#endif + diff -r 12f3edfab6ef extras/mini-os/include/posix/sys/poll.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extras/mini-os/include/posix/sys/poll.h Mon Sep 15 15:47:39 2008 +0100 @@ -0,0 +1,79 @@ +/* + * This code is mostly taken from FreeBSD sys/sys/poll.h + * Changes: Stefano Stabellini <stefano.stabellini@eu.citrix.com> + * + **************************************************************************** + * Copyright (c) 1997 Peter Wemm <peter@freebsd.org> + * 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. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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 _POSIX_SYS_POLL_H_ +#define _POSIX_SYS_POLL_H_ + +/* + * This file is intended to be compatible with the traditional poll.h. + */ + +typedef unsigned int nfds_t; + +/* + * This structure is passed as an array to poll(2). + */ +struct pollfd { + int fd; /* which file descriptor to poll */ + short events; /* events we are interested in */ + short revents; /* events found on return */ +}; + +/* + * Requestable events. If poll(2) finds any of these set, they are + * copied to revents on return. + * XXX Note that FreeBSD doesn''t make much distinction between POLLPRI + * and POLLRDBAND since none of the file types have distinct priority + * bands - and only some have an urgent "mode". + * XXX Note POLLIN isn''t really supported in true SVSV terms. Under SYSV + * POLLIN includes all of normal, band and urgent data. Most poll handlers + * on FreeBSD only treat it as "normal" data. + */ +#define POLLIN 0x0001 /* any readable data available */ +#define POLLPRI 0x0002 /* OOB/Urgent readable data */ +#define POLLOUT 0x0004 /* file descriptor is writeable */ +#define POLLRDNORM 0x0040 /* non-OOB/URG data available */ +#define POLLWRNORM POLLOUT /* no write type differentiation */ +#define POLLRDBAND 0x0080 /* OOB/Urgent readable data */ +#define POLLWRBAND 0x0100 /* OOB/Urgent data can be written */ + +/* + * These events are set if they occur regardless of whether they were + * requested. + */ +#define POLLERR 0x0008 /* some poll error occurred */ +#define POLLHUP 0x0010 /* file descriptor was "hung up" */ +#define POLLNVAL 0x0020 /* requested events "invalid" */ + +int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout); + +#endif /* _POSIX_SYS_POLL_H_ */ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel