Resurrect <machine/types.h> for <sys/types.h>
Resurrect <machine/_user_types.h> for use in <sys/types.h>. Newlib targets may provide an own version of <machine/types.h> in their machine directory to add custom user types for <sys/types.h>. Check the _SYS_TYPES_H header guard to prevent a direct include of <machine/types.h>, since the <machine/types.h> file is a Newlib speciality. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This commit is contained in:
		
				
					committed by
					
						
						Corinna Vinschen
					
				
			
			
				
	
			
			
			
						parent
						
							5c9403eaf4
						
					
				
				
					commit
					9bb91b6c6b
				
			@@ -1,11 +1,7 @@
 | 
			
		||||
#ifndef	_MACHTYPES_H_
 | 
			
		||||
#define	_MACHTYPES_H_
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This file is provided for backward compatibility.  It is no longer used in
 | 
			
		||||
 * Newlib.  Do not add new things to it.
 | 
			
		||||
 * Newlib targets may provide an own version of this file in their machine
 | 
			
		||||
 * directory to add custom user types for <sys/types.h>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <sys/_types.h>
 | 
			
		||||
 | 
			
		||||
#endif	/* _MACHTYPES_H_ */
 | 
			
		||||
#ifndef _SYS_TYPES_H
 | 
			
		||||
#error "must be included via <sys/types.h>"
 | 
			
		||||
#endif /* !_SYS_TYPES_H */
 | 
			
		||||
 
 | 
			
		||||
@@ -199,11 +199,6 @@ int _EXFUN(sigaltstack, (const stack_t *__restrict, stack_t *__restrict));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(_POSIX_THREADS)
 | 
			
		||||
#ifdef __CYGWIN__
 | 
			
		||||
#  ifndef _CYGWIN_TYPES_H
 | 
			
		||||
#    error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib.
 | 
			
		||||
#  endif
 | 
			
		||||
#endif
 | 
			
		||||
int _EXFUN(pthread_kill, (pthread_t thread, int sig));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -245,7 +245,7 @@ typedef	__int64_t	sbintime_t;
 | 
			
		||||
 * pointers rather than structs to ensure maximum binary compatability with
 | 
			
		||||
 * previous releases.
 | 
			
		||||
 * This means that we don't use the types defined here, but rather in
 | 
			
		||||
 * <cygwin/types.h>
 | 
			
		||||
 * <machine/types.h>
 | 
			
		||||
 */
 | 
			
		||||
#if defined(_POSIX_THREADS) && !defined(__CYGWIN__)
 | 
			
		||||
 | 
			
		||||
@@ -430,11 +430,7 @@ typedef struct {
 | 
			
		||||
  int   is_initialized;  /* is this structure initialized? */
 | 
			
		||||
  int   init_executed;   /* has the initialization routine been run? */
 | 
			
		||||
} pthread_once_t;       /* dynamic package initialization */
 | 
			
		||||
#else
 | 
			
		||||
#if defined (__CYGWIN__)
 | 
			
		||||
#include <cygwin/types.h>
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* defined(_POSIX_THREADS) */
 | 
			
		||||
#endif /* defined(_POSIX_THREADS) && !defined(__CYGWIN__) */
 | 
			
		||||
 | 
			
		||||
/* POSIX Barrier Types */
 | 
			
		||||
 | 
			
		||||
@@ -468,6 +464,8 @@ typedef struct {
 | 
			
		||||
#endif /* defined(_POSIX_READER_WRITER_LOCKS) */
 | 
			
		||||
#endif /* __CYGWIN__ */
 | 
			
		||||
 | 
			
		||||
#include <machine/types.h>
 | 
			
		||||
 | 
			
		||||
#endif  /* !__need_inttypes */
 | 
			
		||||
 | 
			
		||||
#undef __need_inttypes
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* types.h
 | 
			
		||||
/* cygwin/types.h
 | 
			
		||||
 | 
			
		||||
   Copyright 2001, 2002, 2003, 2005, 2006, 2010, 2011, 2012, 2015 Red Hat Inc.
 | 
			
		||||
   Written by Robert Collins <rbtcollins@hotmail.com>
 | 
			
		||||
@@ -12,128 +12,11 @@ details. */
 | 
			
		||||
#ifndef _CYGWIN_TYPES_H
 | 
			
		||||
#define _CYGWIN_TYPES_H
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C"
 | 
			
		||||
{
 | 
			
		||||
#endif
 | 
			
		||||
/*
 | 
			
		||||
 * This file is provided for backward compatibility.  It is no longer used in
 | 
			
		||||
 * Newlib.  Do not add new things to it.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <sys/_stdint.h>
 | 
			
		||||
#include <endian.h>
 | 
			
		||||
#include <bits/wordsize.h>
 | 
			
		||||
#include <sys/_timespec.h>
 | 
			
		||||
 | 
			
		||||
#ifndef __timespec_t_defined
 | 
			
		||||
#define __timespec_t_defined
 | 
			
		||||
typedef struct timespec timespec_t;
 | 
			
		||||
#endif /*__timespec_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __timestruc_t_defined
 | 
			
		||||
#define __timestruc_t_defined
 | 
			
		||||
typedef struct timespec timestruc_t;
 | 
			
		||||
#endif /*__timestruc_t_defined*/
 | 
			
		||||
 | 
			
		||||
typedef __loff_t loff_t;
 | 
			
		||||
 | 
			
		||||
#if defined (__INSIDE_CYGWIN__) && !defined (__x86_64__)
 | 
			
		||||
struct __flock32 {
 | 
			
		||||
	short	 l_type;	/* F_RDLCK, F_WRLCK, or F_UNLCK */
 | 
			
		||||
	short	 l_whence;	/* flag to choose starting offset */
 | 
			
		||||
	_off_t	 l_start;	/* relative offset, in bytes */
 | 
			
		||||
	_off_t	 l_len;		/* length, in bytes; 0 means lock to EOF */
 | 
			
		||||
	short	 l_pid;		/* returned with F_GETLK */
 | 
			
		||||
	short	 l_xxx;		/* reserved for future use */
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
struct flock {
 | 
			
		||||
	short	 l_type;	/* F_RDLCK, F_WRLCK, or F_UNLCK */
 | 
			
		||||
	short	 l_whence;	/* flag to choose starting offset */
 | 
			
		||||
	off_t	 l_start;	/* relative offset, in bytes */
 | 
			
		||||
	off_t	 l_len;		/* length, in bytes; 0 means lock to EOF */
 | 
			
		||||
	pid_t	 l_pid;		/* returned with F_GETLK */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifndef __BIT_TYPES_DEFINED
 | 
			
		||||
#define __BIT_TYPES_DEFINED__ 1
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_offset_t_defined
 | 
			
		||||
#define __vm_offset_t_defined
 | 
			
		||||
typedef unsigned long vm_offset_t;
 | 
			
		||||
#endif /*__vm_offset_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_size_t_defined
 | 
			
		||||
#define __vm_size_t_defined
 | 
			
		||||
typedef unsigned long vm_size_t;
 | 
			
		||||
#endif /*__vm_size_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_object_t_defined
 | 
			
		||||
#define __vm_object_t_defined
 | 
			
		||||
typedef void *vm_object_t;
 | 
			
		||||
#endif /* __vm_object_t_defined */
 | 
			
		||||
 | 
			
		||||
#ifndef __register_t_defined
 | 
			
		||||
#define __register_t_defined
 | 
			
		||||
typedef __int32_t register_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __addr_t_defined
 | 
			
		||||
#define __addr_t_defined
 | 
			
		||||
typedef char *addr_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /*__BIT_TYPES_DEFINED*/
 | 
			
		||||
 | 
			
		||||
#if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus)
 | 
			
		||||
 | 
			
		||||
typedef struct __pthread_t {char __dummy;} *pthread_t;
 | 
			
		||||
typedef struct __pthread_mutex_t {char __dummy;} *pthread_mutex_t;
 | 
			
		||||
 | 
			
		||||
typedef struct __pthread_key_t {char __dummy;} *pthread_key_t;
 | 
			
		||||
typedef struct __pthread_attr_t {char __dummy;} *pthread_attr_t;
 | 
			
		||||
typedef struct __pthread_mutexattr_t {char __dummy;} *pthread_mutexattr_t;
 | 
			
		||||
typedef struct __pthread_condattr_t {char __dummy;} *pthread_condattr_t;
 | 
			
		||||
typedef struct __pthread_cond_t {char __dummy;} *pthread_cond_t;
 | 
			
		||||
typedef struct __pthread_barrierattr_t {char __dummy;} *pthread_barrierattr_t;
 | 
			
		||||
typedef struct __pthread_barrier_t {char __dummy;} *pthread_barrier_t;
 | 
			
		||||
 | 
			
		||||
  /* These variables are not user alterable. This means you!. */
 | 
			
		||||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
  pthread_mutex_t mutex;
 | 
			
		||||
  int state;
 | 
			
		||||
}
 | 
			
		||||
pthread_once_t;
 | 
			
		||||
typedef struct __pthread_spinlock_t {char __dummy;} *pthread_spinlock_t;
 | 
			
		||||
typedef struct __pthread_rwlock_t {char __dummy;} *pthread_rwlock_t;
 | 
			
		||||
typedef struct __pthread_rwlockattr_t {char __dummy;} *pthread_rwlockattr_t;
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
/* pthreads types */
 | 
			
		||||
 | 
			
		||||
typedef class pthread *pthread_t;
 | 
			
		||||
typedef class pthread_mutex *pthread_mutex_t;
 | 
			
		||||
typedef class pthread_key *pthread_key_t;
 | 
			
		||||
typedef class pthread_attr *pthread_attr_t;
 | 
			
		||||
typedef class pthread_mutexattr *pthread_mutexattr_t;
 | 
			
		||||
typedef class pthread_condattr *pthread_condattr_t;
 | 
			
		||||
typedef class pthread_cond *pthread_cond_t;
 | 
			
		||||
typedef class pthread_barrier *pthread_barrier_t;
 | 
			
		||||
typedef class pthread_barrierattr *pthread_barrierattr_t;
 | 
			
		||||
typedef class pthread_once pthread_once_t;
 | 
			
		||||
typedef class pthread_spinlock *pthread_spinlock_t;
 | 
			
		||||
typedef class pthread_rwlock *pthread_rwlock_t;
 | 
			
		||||
typedef class pthread_rwlockattr *pthread_rwlockattr_t;
 | 
			
		||||
 | 
			
		||||
/* semaphores types */
 | 
			
		||||
typedef class semaphore *sem_t;
 | 
			
		||||
#endif /* __INSIDE_CYGWIN__ */
 | 
			
		||||
 | 
			
		||||
/* this header needs the dev_t typedef */
 | 
			
		||||
#include <sys/sysmacros.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#endif /* _CYGWIN_TYPES_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										137
									
								
								winsup/cygwin/include/machine/types.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								winsup/cygwin/include/machine/types.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,137 @@
 | 
			
		||||
/* machine/types.h
 | 
			
		||||
 | 
			
		||||
   Copyright 2001, 2002, 2003, 2005, 2006, 2010, 2011, 2012, 2015 Red Hat Inc.
 | 
			
		||||
   Written by Robert Collins <rbtcollins@hotmail.com>
 | 
			
		||||
 | 
			
		||||
This file is part of Cygwin.
 | 
			
		||||
 | 
			
		||||
This software is a copyrighted work licensed under the terms of the
 | 
			
		||||
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 | 
			
		||||
details. */
 | 
			
		||||
 | 
			
		||||
#ifndef _SYS_TYPES_H
 | 
			
		||||
#error "must be included via <sys/types.h>"
 | 
			
		||||
#endif /* !_SYS_TYPES_H */
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C"
 | 
			
		||||
{
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <endian.h>
 | 
			
		||||
#include <bits/wordsize.h>
 | 
			
		||||
#include <sys/_timespec.h>
 | 
			
		||||
 | 
			
		||||
#ifndef __timespec_t_defined
 | 
			
		||||
#define __timespec_t_defined
 | 
			
		||||
typedef struct timespec timespec_t;
 | 
			
		||||
#endif /*__timespec_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __timestruc_t_defined
 | 
			
		||||
#define __timestruc_t_defined
 | 
			
		||||
typedef struct timespec timestruc_t;
 | 
			
		||||
#endif /*__timestruc_t_defined*/
 | 
			
		||||
 | 
			
		||||
typedef __loff_t loff_t;
 | 
			
		||||
 | 
			
		||||
#if defined (__INSIDE_CYGWIN__) && !defined (__x86_64__)
 | 
			
		||||
struct __flock32 {
 | 
			
		||||
	short	 l_type;	/* F_RDLCK, F_WRLCK, or F_UNLCK */
 | 
			
		||||
	short	 l_whence;	/* flag to choose starting offset */
 | 
			
		||||
	_off_t	 l_start;	/* relative offset, in bytes */
 | 
			
		||||
	_off_t	 l_len;		/* length, in bytes; 0 means lock to EOF */
 | 
			
		||||
	short	 l_pid;		/* returned with F_GETLK */
 | 
			
		||||
	short	 l_xxx;		/* reserved for future use */
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
struct flock {
 | 
			
		||||
	short	 l_type;	/* F_RDLCK, F_WRLCK, or F_UNLCK */
 | 
			
		||||
	short	 l_whence;	/* flag to choose starting offset */
 | 
			
		||||
	off_t	 l_start;	/* relative offset, in bytes */
 | 
			
		||||
	off_t	 l_len;		/* length, in bytes; 0 means lock to EOF */
 | 
			
		||||
	pid_t	 l_pid;		/* returned with F_GETLK */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifndef __BIT_TYPES_DEFINED
 | 
			
		||||
#define __BIT_TYPES_DEFINED__ 1
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_offset_t_defined
 | 
			
		||||
#define __vm_offset_t_defined
 | 
			
		||||
typedef unsigned long vm_offset_t;
 | 
			
		||||
#endif /*__vm_offset_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_size_t_defined
 | 
			
		||||
#define __vm_size_t_defined
 | 
			
		||||
typedef unsigned long vm_size_t;
 | 
			
		||||
#endif /*__vm_size_t_defined*/
 | 
			
		||||
 | 
			
		||||
#ifndef __vm_object_t_defined
 | 
			
		||||
#define __vm_object_t_defined
 | 
			
		||||
typedef void *vm_object_t;
 | 
			
		||||
#endif /* __vm_object_t_defined */
 | 
			
		||||
 | 
			
		||||
#ifndef __register_t_defined
 | 
			
		||||
#define __register_t_defined
 | 
			
		||||
typedef __int32_t register_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __addr_t_defined
 | 
			
		||||
#define __addr_t_defined
 | 
			
		||||
typedef char *addr_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /*__BIT_TYPES_DEFINED*/
 | 
			
		||||
 | 
			
		||||
#if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus)
 | 
			
		||||
 | 
			
		||||
typedef struct __pthread_t {char __dummy;} *pthread_t;
 | 
			
		||||
typedef struct __pthread_mutex_t {char __dummy;} *pthread_mutex_t;
 | 
			
		||||
 | 
			
		||||
typedef struct __pthread_key_t {char __dummy;} *pthread_key_t;
 | 
			
		||||
typedef struct __pthread_attr_t {char __dummy;} *pthread_attr_t;
 | 
			
		||||
typedef struct __pthread_mutexattr_t {char __dummy;} *pthread_mutexattr_t;
 | 
			
		||||
typedef struct __pthread_condattr_t {char __dummy;} *pthread_condattr_t;
 | 
			
		||||
typedef struct __pthread_cond_t {char __dummy;} *pthread_cond_t;
 | 
			
		||||
typedef struct __pthread_barrierattr_t {char __dummy;} *pthread_barrierattr_t;
 | 
			
		||||
typedef struct __pthread_barrier_t {char __dummy;} *pthread_barrier_t;
 | 
			
		||||
 | 
			
		||||
  /* These variables are not user alterable. This means you!. */
 | 
			
		||||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
  pthread_mutex_t mutex;
 | 
			
		||||
  int state;
 | 
			
		||||
}
 | 
			
		||||
pthread_once_t;
 | 
			
		||||
typedef struct __pthread_spinlock_t {char __dummy;} *pthread_spinlock_t;
 | 
			
		||||
typedef struct __pthread_rwlock_t {char __dummy;} *pthread_rwlock_t;
 | 
			
		||||
typedef struct __pthread_rwlockattr_t {char __dummy;} *pthread_rwlockattr_t;
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
/* pthreads types */
 | 
			
		||||
 | 
			
		||||
typedef class pthread *pthread_t;
 | 
			
		||||
typedef class pthread_mutex *pthread_mutex_t;
 | 
			
		||||
typedef class pthread_key *pthread_key_t;
 | 
			
		||||
typedef class pthread_attr *pthread_attr_t;
 | 
			
		||||
typedef class pthread_mutexattr *pthread_mutexattr_t;
 | 
			
		||||
typedef class pthread_condattr *pthread_condattr_t;
 | 
			
		||||
typedef class pthread_cond *pthread_cond_t;
 | 
			
		||||
typedef class pthread_barrier *pthread_barrier_t;
 | 
			
		||||
typedef class pthread_barrierattr *pthread_barrierattr_t;
 | 
			
		||||
typedef class pthread_once pthread_once_t;
 | 
			
		||||
typedef class pthread_spinlock *pthread_spinlock_t;
 | 
			
		||||
typedef class pthread_rwlock *pthread_rwlock_t;
 | 
			
		||||
typedef class pthread_rwlockattr *pthread_rwlockattr_t;
 | 
			
		||||
 | 
			
		||||
/* semaphores types */
 | 
			
		||||
typedef class semaphore *sem_t;
 | 
			
		||||
#endif /* __INSIDE_CYGWIN__ */
 | 
			
		||||
 | 
			
		||||
/* this header needs the dev_t typedef */
 | 
			
		||||
#include <sys/sysmacros.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
		Reference in New Issue
	
	Block a user