summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/rtems/bsd/sys
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-09 22:52:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-10 09:08:23 +0200
commite599318e912d8836c59d8b5202e3e31a6b8dcae9 (patch)
tree1172b8b830a1c3236e45c834c2b80e01325ea144 /rtemsbsd/include/rtems/bsd/sys
parentMove files to match FreeBSD layout (diff)
downloadrtems-libbsd-e599318e912d8836c59d8b5202e3e31a6b8dcae9.tar.bz2
Update files to match FreeBSD layout
Add compatibility with Newlib header files. Some FreeBSD header files are mapped by the translation script: o rtems/bsd/sys/_types.h o rtems/bsd/sys/errno.h o rtems/bsd/sys/lock.h o rtems/bsd/sys/param.h o rtems/bsd/sys/resource.h o rtems/bsd/sys/time.h o rtems/bsd/sys/timespec.h o rtems/bsd/sys/types.h o rtems/bsd/sys/unistd.h It is now possible to include <sys/socket.h> directly for example. Generate one Makefile which builds everything including tests.
Diffstat (limited to 'rtemsbsd/include/rtems/bsd/sys')
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/_types.h116
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/errno.h8
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/lock.h10
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/param.h33
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/resource.h16
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/time.h21
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/timespec.h90
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/types.h18
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/unistd.h12
9 files changed, 259 insertions, 65 deletions
diff --git a/rtemsbsd/include/rtems/bsd/sys/_types.h b/rtemsbsd/include/rtems/bsd/sys/_types.h
index b9f4d392..e9acaf4e 100644
--- a/rtemsbsd/include/rtems/bsd/sys/_types.h
+++ b/rtemsbsd/include/rtems/bsd/sys/_types.h
@@ -26,11 +26,12 @@
* $FreeBSD$
*/
-#ifndef _SYS__TYPES_HH_
-#define _SYS__TYPES_HH_
+#ifndef _RTEMS_BSD_SYS__TYPES_H_
+#define _RTEMS_BSD_SYS__TYPES_H_
-#include <freebsd/sys/cdefs.h>
-#include <freebsd/machine/_types.h>
+#include <sys/cdefs.h>
+#ifndef __rtems__
+#include <machine/_types.h>
/*
* Standard type definitions.
@@ -101,5 +102,110 @@ typedef union {
char __mbstate8[128];
__int64_t _mbstateL; /* for alignment */
} __mbstate_t;
+#else /* __rtems__ */
+#include <sys/types.h>
-#endif /* !_SYS__TYPES_HH_ */
+#ifdef __BSD_VISIBLE
+
+#include <machine/rtems-bsd-endian.h>
+#include <stdarg.h>
+
+#define _INT8_T_DECLARED
+#define _UINT8_T_DECLARED
+
+#define _INT16_T_DECLARED
+#define _UINT16_T_DECLARED
+
+#define _INT32_T_DECLARED
+#define _UINT32_T_DECLARED
+
+#define _INT64_T_DECLARED
+#define _UINT64_T_DECLARED
+
+#define _INTPTR_T_DECLARED
+
+#ifdef _KERNEL
+
+typedef int boolean_t;
+
+typedef struct device *device_t;
+
+typedef intptr_t intfptr_t;
+typedef uintptr_t uintfptr_t;
+
+typedef uint32_t intrmask_t;
+
+typedef char vm_memattr_t;
+
+#endif /* _KERNEL */
+
+typedef int accmode_t;
+#define _ACCMODE_T_DECLARED
+
+typedef const char *c_caddr_t;
+
+typedef uint32_t cpumask_t;
+
+typedef int cpusetid_t;
+
+#define _DEV_T_DECLARED
+
+typedef uint32_t __fixpt_t;
+typedef __fixpt_t fixpt_t;
+
+#define _GID_T_DECLARED
+
+typedef uint32_t in_addr_t;
+#define _IN_ADDR_T_DECLARED
+
+typedef uint16_t in_port_t;
+#define _IN_PORT_T_DECLARED
+
+#define _MODE_T_DECLARED
+
+typedef _off_t __off_t;
+#define _OFF_T_DECLARED
+
+#define _PID_T_DECLARED
+
+typedef int register_t;
+typedef unsigned int u_register_t;
+
+typedef intptr_t segsz_t;
+
+#undef __size_t
+typedef size_t __size_t;
+#define _SIZE_T_DECLARED
+
+#define __ssize_t ssize_t
+#define _SSIZE_T_DECLARED
+
+#define _UID_T_DECLARED
+
+#define __va_list va_list
+
+typedef uintptr_t vm_offset_t;
+typedef uint64_t vm_ooffset_t;
+typedef uintptr_t vm_paddr_t;
+typedef uint64_t vm_pindex_t;
+typedef uintptr_t vm_size_t;
+
+typedef int lwpid_t;
+#define _LWPID_T_DECLARED
+
+typedef int64_t rlim_t;
+#define _RLIM_T_DECLARED
+
+typedef uint8_t sa_family_t;
+#define _SA_FAMILY_T_DECLARED
+
+typedef uint32_t socklen_t;
+#define _SOCKLEN_T_DECLARED
+
+#define SIZE_T_MAX SIZE_MAX
+
+#endif /* __BSD_VISIBLE */
+
+#endif /* __rtems__ */
+
+#endif /* !_RTEMS_BSD_SYS__TYPES_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/errno.h b/rtemsbsd/include/rtems/bsd/sys/errno.h
index 9b68014d..2ed71acc 100644
--- a/rtemsbsd/include/rtems/bsd/sys/errno.h
+++ b/rtemsbsd/include/rtems/bsd/sys/errno.h
@@ -35,11 +35,11 @@
* $FreeBSD$
*/
-#ifndef _SYS_ERRNO_HH_
-#define _SYS_ERRNO_HH_
+#ifndef _RTEMS_BSD_SYS_ERRNO_H_
+#define _RTEMS_BSD_SYS_ERRNO_H_
#ifndef _KERNEL
-#include <freebsd/sys/cdefs.h>
+#include <sys/cdefs.h>
__BEGIN_DECLS
int * __error(void);
__END_DECLS
@@ -181,6 +181,8 @@ __END_DECLS
#ifndef _POSIX_SOURCE
#define ELAST 93 /* Must be equal largest errno */
#endif /* _POSIX_SOURCE */
+#else /* __rtems__ */
+#include <errno.h>
#endif /* __rtems__ */
#ifdef _KERNEL
diff --git a/rtemsbsd/include/rtems/bsd/sys/lock.h b/rtemsbsd/include/rtems/bsd/sys/lock.h
index f86ec765..f252976c 100644
--- a/rtemsbsd/include/rtems/bsd/sys/lock.h
+++ b/rtemsbsd/include/rtems/bsd/sys/lock.h
@@ -29,11 +29,11 @@
* $FreeBSD$
*/
-#ifndef _SYS_LOCK_HH_
-#define _SYS_LOCK_HH_
+#ifndef _RTEMS_BSD_SYS_LOCK_H_
+#define _RTEMS_BSD_SYS_LOCK_H_
-#include <freebsd/sys/queue.h>
-#include <freebsd/sys/_lock.h>
+#include <sys/queue.h>
+#include <sys/_lock.h>
struct lock_list_entry;
struct thread;
@@ -316,4 +316,4 @@ void witness_thread_exit(struct thread *);
WITNESS_CHECKORDER(&(l)->lock_object, 0, LOCK_FILE, LOCK_LINE, NULL)
#endif /* _KERNEL */
-#endif /* _SYS_LOCK_HH_ */
+#endif /* _RTEMS_BSD_SYS_LOCK_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/param.h b/rtemsbsd/include/rtems/bsd/sys/param.h
index cd00ea4c..93e2ef44 100644
--- a/rtemsbsd/include/rtems/bsd/sys/param.h
+++ b/rtemsbsd/include/rtems/bsd/sys/param.h
@@ -35,10 +35,13 @@
* $FreeBSD$
*/
-#ifndef _SYS_PARAM_HH_
-#define _SYS_PARAM_HH_
+#ifndef _RTEMS_BSD_SYS_PARAM_H_
+#define _RTEMS_BSD_SYS_PARAM_H_
-#include <freebsd/sys/_null.h>
+#ifdef __rtems__
+#include <sys/param.h>
+#endif /* __rtems__ */
+#include <sys/_null.h>
#define BSD 199506 /* System version (year & month). */
#define BSD4_3 1
@@ -66,7 +69,7 @@
#endif
#ifndef LOCORE
-#include <freebsd/sys/types.h>
+#include <rtems/bsd/sys/types.h>
#endif
/*
@@ -76,11 +79,11 @@
* MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
* MAXLOGNAME should be == UT_NAMESIZE+1 (see <utmp.h>)
*/
-#include <freebsd/sys/syslimits.h>
+#include <sys/syslimits.h>
#define MAXCOMLEN 19 /* max command name remembered */
-#define MAXINTERP 32 /* max interpreter file name length */
-#define MAXLOGNAME 17 /* max login name length (incl. NUL) */
+#define MAXINTERP PATH_MAX /* max interpreter file name length */
+#define MAXLOGNAME 33 /* max login name length (incl. NUL) */
#define MAXUPRC CHILD_MAX /* max simultaneous processes */
#define NCARGS ARG_MAX /* max bytes for an exec function */
#define NGROUPS (NGROUPS_MAX+1) /* max number groups */
@@ -91,11 +94,11 @@
/* More types and definitions used throughout the kernel. */
#ifdef _KERNEL
-#include <freebsd/sys/cdefs.h>
-#include <freebsd/sys/errno.h>
+#include <sys/cdefs.h>
+#include <rtems/bsd/sys/errno.h>
#ifndef LOCORE
-#include <freebsd/sys/time.h>
-#include <freebsd/sys/priority.h>
+#include <rtems/bsd/sys/time.h>
+#include <sys/priority.h>
#endif
#ifndef FALSE
@@ -108,13 +111,13 @@
#ifndef _KERNEL
/* Signals. */
-#include <freebsd/sys/signal.h>
+#include <sys/signal.h>
#endif
/* Machine type dependent parameters. */
-#include <freebsd/machine/param.h>
+#include <machine/rtems-bsd-param.h>
#ifndef _KERNEL
-#include <freebsd/sys/limits.h>
+#include <sys/limits.h>
#endif
#ifndef _NO_NAMESPACE_POLLUTION
@@ -329,4 +332,4 @@ __END_DECLS
#define member2struct(s, m, x) \
((struct s *)(void *)((char *)(x) - offsetof(struct s, m)))
-#endif /* _SYS_PARAM_HH_ */
+#endif /* _RTEMS_BSD_SYS_PARAM_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/resource.h b/rtemsbsd/include/rtems/bsd/sys/resource.h
index 74a43c34..09f68696 100644
--- a/rtemsbsd/include/rtems/bsd/sys/resource.h
+++ b/rtemsbsd/include/rtems/bsd/sys/resource.h
@@ -30,12 +30,12 @@
* $FreeBSD$
*/
-#ifndef _SYS_RESOURCE_HH_
-#define _SYS_RESOURCE_HH_
+#ifndef _RTEMS_BSD_SYS_RESOURCE_H_
+#define _RTEMS_BSD_SYS_RESOURCE_H_
-#include <freebsd/sys/cdefs.h>
-#include <freebsd/sys/_timeval.h>
-#include <freebsd/sys/_types.h>
+#include <sys/cdefs.h>
+#include <sys/_timeval.h>
+#include <rtems/bsd/sys/_types.h>
/*
* Process priority specifications to get/setpriority.
@@ -56,6 +56,7 @@
#define RUSAGE_SELF 0
#define RUSAGE_CHILDREN -1
+#ifndef __rtems__
#define RUSAGE_THREAD 1
struct rusage {
@@ -78,6 +79,9 @@ struct rusage {
long ru_nivcsw; /* involuntary " */
#define ru_last ru_nivcsw
};
+#else /* __rtems__ */
+#include <sys/resource.h>
+#endif /* __rtems__ */
/*
* Resource limits
@@ -173,4 +177,4 @@ int setrlimit(int, const struct rlimit *);
__END_DECLS
#endif /* _KERNEL */
-#endif /* !_SYS_RESOURCE_HH_ */
+#endif /* !_RTEMS_BSD_SYS_RESOURCE_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/time.h b/rtemsbsd/include/rtems/bsd/sys/time.h
index f34af077..7dea42bd 100644
--- a/rtemsbsd/include/rtems/bsd/sys/time.h
+++ b/rtemsbsd/include/rtems/bsd/sys/time.h
@@ -30,12 +30,15 @@
* $FreeBSD$
*/
-#ifndef _SYS_TIME_HH_
-#define _SYS_TIME_HH_
+#ifndef _RTEMS_BSD_SYS_TIME_H_
+#define _RTEMS_BSD_SYS_TIME_H_
-#include <freebsd/sys/_timeval.h>
-#include <freebsd/sys/types.h>
-#include <freebsd/sys/timespec.h>
+#include <sys/_timeval.h>
+#include <rtems/bsd/sys/types.h>
+#include <rtems/bsd/sys/timespec.h>
+#ifdef __rtems__
+#include <sys/time.h>
+#endif /* __rtems__ */
#ifndef __rtems__
struct timezone {
@@ -320,10 +323,10 @@ void timevaladd(struct timeval *t1, const struct timeval *t2);
void timevalsub(struct timeval *t1, const struct timeval *t2);
int tvtohz(struct timeval *tv);
#else /* !_KERNEL */
-#include <freebsd/time.h>
+#include <time.h>
-#include <freebsd/sys/cdefs.h>
-#include <freebsd/sys/select.h>
+#include <sys/cdefs.h>
+#include <sys/select.h>
__BEGIN_DECLS
int setitimer(int, const struct itimerval *, struct itimerval *);
@@ -348,4 +351,4 @@ __END_DECLS
#endif /* !_KERNEL */
-#endif /* !_SYS_TIME_HH_ */
+#endif /* !_RTEMS_BSD_SYS_TIME_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/timespec.h b/rtemsbsd/include/rtems/bsd/sys/timespec.h
index 4ec4147e..19a4ba3e 100644
--- a/rtemsbsd/include/rtems/bsd/sys/timespec.h
+++ b/rtemsbsd/include/rtems/bsd/sys/timespec.h
@@ -1,10 +1,80 @@
-#define TIMEVAL_TO_TIMESPEC(tv, ts) \
- do { \
- (ts)->tv_sec = (tv)->tv_sec; \
- (ts)->tv_nsec = (tv)->tv_usec * 1000; \
- } while (0)
-#define TIMESPEC_TO_TIMEVAL(tv, ts) \
- do { \
- (tv)->tv_sec = (ts)->tv_sec; \
- (tv)->tv_usec = (ts)->tv_nsec / 1000; \
- } while (0)
+/*-
+ * Copyright (c) 1982, 1986, 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.
+ * 4. 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.
+ *
+ * @(#)time.h 8.5 (Berkeley) 5/4/95
+ * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+ * $FreeBSD$
+ */
+
+/*
+ * Prerequisites: <sys/cdefs.h>, <sys/_types.h>
+ */
+
+#ifndef _RTEMS_BSD_SYS_TIMESPEC_H_
+#define _RTEMS_BSD_SYS_TIMESPEC_H_
+
+#ifndef __rtems__
+#ifndef _TIME_T_DECLARED
+typedef __time_t time_t;
+#define _TIME_T_DECLARED
+#endif
+
+struct timespec {
+ time_t tv_sec; /* seconds */
+ long tv_nsec; /* and nanoseconds */
+};
+#else /* __rtems__ */
+#include <rtems/bsd/sys/types.h>
+#endif /* __rtems__ */
+
+#if __BSD_VISIBLE
+#define TIMEVAL_TO_TIMESPEC(tv, ts) \
+ do { \
+ (ts)->tv_sec = (tv)->tv_sec; \
+ (ts)->tv_nsec = (tv)->tv_usec * 1000; \
+ } while (0)
+#define TIMESPEC_TO_TIMEVAL(tv, ts) \
+ do { \
+ (tv)->tv_sec = (ts)->tv_sec; \
+ (tv)->tv_usec = (ts)->tv_nsec / 1000; \
+ } while (0)
+
+#endif /* __BSD_VISIBLE */
+
+#ifndef __rtems__
+/*
+ * Structure defined by POSIX.1b to be like a itimerval, but with
+ * timespecs. Used in the timer_*() system calls.
+ */
+struct itimerspec {
+ struct timespec it_interval;
+ struct timespec it_value;
+};
+#endif /* __rtems__ */
+
+#endif /* _RTEMS_BSD_SYS_TIMESPEC_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/types.h b/rtemsbsd/include/rtems/bsd/sys/types.h
index 38ae5c68..a8c47ef3 100644
--- a/rtemsbsd/include/rtems/bsd/sys/types.h
+++ b/rtemsbsd/include/rtems/bsd/sys/types.h
@@ -35,16 +35,17 @@
* $FreeBSD$
*/
-#ifndef _SYS_TYPES_HH_
-#define _SYS_TYPES_HH_
+#ifndef _RTEMS_BSD_SYS_TYPES_H_
+#define _RTEMS_BSD_SYS_TYPES_H_
-#include <freebsd/sys/cdefs.h>
+#include <sys/cdefs.h>
/* Machine type dependent parameters. */
-#include <freebsd/machine/endian.h>
-#include <freebsd/sys/_types.h>
+#include <machine/rtems-bsd-endian.h>
+#include <rtems/bsd/sys/_types.h>
-#include <freebsd/sys/_pthreadtypes.h>
+#ifndef __rtems__
+#include <sys/_pthreadtypes.h>
#if __BSD_VISIBLE
typedef unsigned char u_char;
@@ -318,7 +319,7 @@ typedef struct vm_page *vm_page_t;
*/
#if __BSD_VISIBLE
-#include <freebsd/sys/select.h>
+#include <sys/select.h>
/*
* minor() gives a cookie instead of an index since we don't want to
@@ -356,5 +357,6 @@ __END_DECLS
#endif /* !_KERNEL */
#endif /* __BSD_VISIBLE */
+#endif /* __rtems__ */
-#endif /* !_SYS_TYPES_HH_ */
+#endif /* !_RTEMS_BSD_SYS_TYPES_H_ */
diff --git a/rtemsbsd/include/rtems/bsd/sys/unistd.h b/rtemsbsd/include/rtems/bsd/sys/unistd.h
index 2918d563..5c3208c7 100644
--- a/rtemsbsd/include/rtems/bsd/sys/unistd.h
+++ b/rtemsbsd/include/rtems/bsd/sys/unistd.h
@@ -30,11 +30,12 @@
* $FreeBSD$
*/
-#ifndef _SYS_UNISTD_HH_
-#define _SYS_UNISTD_HH_
+#ifndef _RTEMS_BSD_SYS_UNISTD_H_
+#define _RTEMS_BSD_SYS_UNISTD_H_
-#include <freebsd/sys/cdefs.h>
+#include <sys/cdefs.h>
+#ifndef __rtems__
/*
* POSIX options and option groups we unconditionally do or don't
* implement. Those options which are implemented (or not) entirely
@@ -158,6 +159,9 @@
/* From OpenSolaris, used by SEEK_DATA/SEEK_HOLE. */
#define _PC_MIN_HOLE_SIZE 21
+#else /* __rtems__ */
+#include <unistd.h>
+#endif /* __rtems__ */
#if __BSD_VISIBLE
/*
@@ -185,4 +189,4 @@
#endif /* __BSD_VISIBLE */
-#endif /* !_SYS_UNISTD_HH_ */
+#endif /* !_RTEMS_BSD_SYS_UNISTD_H_ */