From 9a744273ce875b8a67ba5ab883938c7e88910d6b Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 17 Sep 2008 13:10:36 +0100 Subject: 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 --- extras/mini-os/include/posix/arpa/inet.h | 7 +++ extras/mini-os/include/posix/signal.h | 10 ++++ extras/mini-os/include/posix/sys/poll.h | 79 ++++++++++++++++++++++++++++++++ extras/mini-os/include/posix/time.h | 1 + extras/mini-os/include/posix/unistd.h | 1 + extras/mini-os/include/x86/os.h | 1 + 6 files changed, 99 insertions(+) create mode 100644 extras/mini-os/include/posix/arpa/inet.h create mode 100644 extras/mini-os/include/posix/signal.h create mode 100644 extras/mini-os/include/posix/sys/poll.h (limited to 'extras/mini-os/include') diff --git a/extras/mini-os/include/posix/arpa/inet.h b/extras/mini-os/include/posix/arpa/inet.h new file mode 100644 index 0000000000..012f3a4f19 --- /dev/null +++ b/extras/mini-os/include/posix/arpa/inet.h @@ -0,0 +1,7 @@ +#ifndef _POSIX_ARPA_INET_H_ +#define _POSIX_ARPA_INET_H_ + +#include + +#endif /* _POSIX_ARPA_INET_H_ */ + diff --git a/extras/mini-os/include/posix/signal.h b/extras/mini-os/include/posix/signal.h new file mode 100644 index 0000000000..be9e9f31da --- /dev/null +++ b/extras/mini-os/include/posix/signal.h @@ -0,0 +1,10 @@ +#ifndef _POSIX_SIGNAL_H +#define _POSIX_SIGNAL_H + +#include_next + +int sigaction(int signum, const struct sigaction * __restrict, + struct sigaction * __restrict); + +#endif + diff --git a/extras/mini-os/include/posix/sys/poll.h b/extras/mini-os/include/posix/sys/poll.h new file mode 100644 index 0000000000..f9d7f5c696 --- /dev/null +++ b/extras/mini-os/include/posix/sys/poll.h @@ -0,0 +1,79 @@ +/* + * This code is mostly taken from FreeBSD sys/sys/poll.h + * Changes: Stefano Stabellini + * + **************************************************************************** + * Copyright (c) 1997 Peter Wemm + * 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_ */ diff --git a/extras/mini-os/include/posix/time.h b/extras/mini-os/include/posix/time.h index 4f457cb5ad..ce75f321ea 100644 --- a/extras/mini-os/include/posix/time.h +++ b/extras/mini-os/include/posix/time.h @@ -6,5 +6,6 @@ #include_next int nanosleep(const struct timespec *req, struct timespec *rem); +int clock_gettime(clockid_t clock_id, struct timespec *tp); #endif /* _POSIX_TIME_H */ diff --git a/extras/mini-os/include/posix/unistd.h b/extras/mini-os/include/posix/unistd.h index d7e43cde6b..51047825c5 100644 --- a/extras/mini-os/include/posix/unistd.h +++ b/extras/mini-os/include/posix/unistd.h @@ -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 --git a/extras/mini-os/include/x86/os.h b/extras/mini-os/include/x86/os.h index 248105f13c..7fc3a83b53 100644 --- a/extras/mini-os/include/x86/os.h +++ b/extras/mini-os/include/x86/os.h @@ -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 -- cgit v1.2.3