From e599318e912d8836c59d8b5202e3e31a6b8dcae9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Oct 2013 22:52:54 +0200 Subject: 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 directly for example. Generate one Makefile which builds everything including tests. --- rtemsbsd/include/rtems/bsd/sys/_types.h | 116 ++++++++++++++++++++++++++++-- rtemsbsd/include/rtems/bsd/sys/errno.h | 8 ++- rtemsbsd/include/rtems/bsd/sys/lock.h | 10 +-- rtemsbsd/include/rtems/bsd/sys/param.h | 33 +++++---- rtemsbsd/include/rtems/bsd/sys/resource.h | 16 +++-- rtemsbsd/include/rtems/bsd/sys/time.h | 21 +++--- rtemsbsd/include/rtems/bsd/sys/timespec.h | 90 ++++++++++++++++++++--- rtemsbsd/include/rtems/bsd/sys/types.h | 18 ++--- rtemsbsd/include/rtems/bsd/sys/unistd.h | 12 ++-- 9 files changed, 259 insertions(+), 65 deletions(-) (limited to 'rtemsbsd/include/rtems/bsd/sys') 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 -#include +#include +#ifndef __rtems__ +#include /* * Standard type definitions. @@ -101,5 +102,110 @@ typedef union { char __mbstate8[128]; __int64_t _mbstateL; /* for alignment */ } __mbstate_t; +#else /* __rtems__ */ +#include -#endif /* !_SYS__TYPES_HH_ */ +#ifdef __BSD_VISIBLE + +#include +#include + +#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 +#include __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 #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 -#include +#include +#include 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 +#ifdef __rtems__ +#include +#endif /* __rtems__ */ +#include #define BSD 199506 /* System version (year & month). */ #define BSD4_3 1 @@ -66,7 +69,7 @@ #endif #ifndef LOCORE -#include +#include #endif /* @@ -76,11 +79,11 @@ * MAXCOMLEN should be >= sizeof(ac_comm) (see ) * MAXLOGNAME should be == UT_NAMESIZE+1 (see ) */ -#include +#include #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 -#include +#include +#include #ifndef LOCORE -#include -#include +#include +#include #endif #ifndef FALSE @@ -108,13 +111,13 @@ #ifndef _KERNEL /* Signals. */ -#include +#include #endif /* Machine type dependent parameters. */ -#include +#include #ifndef _KERNEL -#include +#include #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 -#include -#include +#include +#include +#include /* * 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 +#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 -#include -#include +#include +#include +#include +#ifdef __rtems__ +#include +#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 +#include -#include -#include +#include +#include __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: , + */ + +#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 +#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 +#include /* Machine type dependent parameters. */ -#include -#include +#include +#include -#include +#ifndef __rtems__ +#include #if __BSD_VISIBLE typedef unsigned char u_char; @@ -318,7 +319,7 @@ typedef struct vm_page *vm_page_t; */ #if __BSD_VISIBLE -#include +#include /* * 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 +#include +#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 +#endif /* __rtems__ */ #if __BSD_VISIBLE /* @@ -185,4 +189,4 @@ #endif /* __BSD_VISIBLE */ -#endif /* !_SYS_UNISTD_HH_ */ +#endif /* !_RTEMS_BSD_SYS_UNISTD_H_ */ -- cgit v1.2.3