epoc32/include/libc/sys/types.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
--- a/epoc32/include/libc/sys/types.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/libc/sys/types.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,137 @@
-types.h
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef _SYS_TYPES_H
+#define _SYS_TYPES_H
+
+# include <stddef.h>	
+# include <machine/types.h>
+
+# ifndef	_POSIX_SOURCE
+/**
+@internalComponent
+*/
+#  define	physadr		physadr_t
+/**
+@internalComponent
+*/
+#  define	quad		quad_t
+
+typedef	unsigned char	u_char;
+typedef	unsigned short	u_short;
+typedef	unsigned int	u_int;
+typedef	unsigned long	u_long;
+typedef	unsigned short	ushort;		/* System V compatibility */
+typedef	unsigned int	uint;		/* System V compatibility */
+# endif	/*!_POSIX_SOURCE */
+
+#ifndef __time_t_defined
+typedef _TIME_T_ time_t;
+#define __time_t_defined
+#endif
+
+typedef	long	daddr_t;
+typedef	char *	caddr_t;
+
+#ifdef __go32_types__
+typedef	unsigned long	ino_t;
+#else
+#ifdef __sparc__
+typedef	unsigned long	ino_t;
+#else
+typedef	unsigned short	ino_t;
+#endif
+#endif
+
+typedef	short	dev_t;
+
+typedef	long	off_t;
+
+typedef	unsigned short	uid_t;
+typedef	unsigned short	gid_t;
+typedef int pid_t;
+typedef	long	key_t;
+typedef int mode_t;
+
+typedef unsigned int nlink_t;
+
+# ifndef	_POSIX_SOURCE
+/**
+@internalComponent
+*/
+#  define	NBBY	8		/* number of bits in a byte */
+/**
+Select uses bit masks of file descriptors in longs.
+These macros manipulate such bit fields (the filesystem macros use chars).
+FD_SETSIZE may be defined by the user, but the default here
+should be >= NOFILE (param.h).
+@internalComponent
+*/
+#  ifndef	FD_SETSIZE
+#	define	FD_SETSIZE	60
+#  endif
+/**
+@internalComponent
+*/
+typedef	long	fd_mask;
+/**
+@internalComponent
+*/
+#  define	NFDBITS	(sizeof (fd_mask) * NBBY)	/* bits per mask */
+#  ifndef	howmany
+/**
+@internalComponent
+*/
+#	define	howmany(x,y)	(((x)+((y)-1))/(y))
+#  endif
+
+typedef	struct fd_set {
+	fd_mask	fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+
+/**
+@internalAll
+*/
+#  define	FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
+/**
+@internalAll
+*/
+#  define	FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
+/**
+@internalAll
+*/
+#  define	FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
+/**
+@internalAll
+*/
+#  define	FD_ZERO(p)	memset((caddr_t)(p), 0, sizeof (*(p)))
+
+
+# endif	/* _POSIX_SOURCE */
+#undef __go32_types__
+#endif	/* _SYS_TYPES_H */