diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-10-09 22:52:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-10-10 09:08:23 +0200 |
commit | e599318e912d8836c59d8b5202e3e31a6b8dcae9 (patch) | |
tree | 1172b8b830a1c3236e45c834c2b80e01325ea144 /rtemsbsd/include/rtems/bsd/sys | |
parent | Move files to match FreeBSD layout (diff) | |
download | rtems-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.h | 116 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/errno.h | 8 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/lock.h | 10 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/param.h | 33 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/resource.h | 16 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/time.h | 21 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/timespec.h | 90 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/types.h | 18 | ||||
-rw-r--r-- | rtemsbsd/include/rtems/bsd/sys/unistd.h | 12 |
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_ */ |