summaryrefslogtreecommitdiff
path: root/ace/os_include/stddef.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/os_include/stddef.h')
-rw-r--r--ace/os_include/stddef.h75
1 files changed, 45 insertions, 30 deletions
diff --git a/ace/os_include/stddef.h b/ace/os_include/stddef.h
index 4f736e35d1e..6958fb560cf 100644
--- a/ace/os_include/stddef.h
+++ b/ace/os_include/stddef.h
@@ -2,21 +2,21 @@
//=============================================================================
/**
- * @file stddef.h
+ * @file os_stddef.h
*
* standard type definitions
*
* $Id$
*
- * @author Don Hinton <dhinton@ieee.org>
+ * @author Don Hinton <dhinton@dresystems.com>
* @author This code was originally in various places including ace/OS.h.
*/
//=============================================================================
// From http://www.UNIX-systems.org/single_unix_specification/
-#ifndef ACE_OS_INCLUDE_STDDEF_H
-#define ACE_OS_INCLUDE_STDDEF_H
+#ifndef ACE_OS_INCLUDE_OS_STDDEF_H
+#define ACE_OS_INCLUDE_OS_STDDEF_H
#include "ace/pre.h"
@@ -29,24 +29,30 @@
// @todo move this to a windows config file
// Add new macro ACE_LACKS_STDDEF_H
#if defined (ACE_HAS_WINCE) && _WIN32_WCE < 400
-# if !define (ACE_LACKS_STDDEF_H)
-# define ACE_LACKS_STDDEF_H
-# define ACE_LACKS_PTRDIFF_T
-# endif /* !ACE_LACKS_STDDEF_H */
+# if !define (ACE_LACKS_STDDEF_H)
+# define ACE_LACKS_STDDEF_H
+# define ACE_LACKS_PTRDIFF_T
+# endif /* !ACE_LACKS_STDDEF_H */
#endif /* ACE_HAS_WINCE && _WIN32_WCE < 400 */
#if !defined (ACE_LACKS_STDDEF_H)
-# include /**/ <stddef.h>
+# include /**/ <stddef.h>
#endif /* !ACE_LACKS_STDDEF_H */
+// Place all additions (especially function declarations) within extern "C" {}
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
// NULL pointer constant
#if defined (ACE_LACKS_NULL)
-# undef NULL
-# if defined(__cplusplus)
-# define NULL 0
-# else
-# define NULL ((void *)0)
-# endif
+# undef NULL
+# if defined(__cplusplus)
+# define NULL 0
+# else
+# define NULL ((void *)0)
+# endif
#endif /* ACE_LACKS_NULL */
/*
@@ -55,16 +61,16 @@
its structure (type).
*/
#if defined (ACE_LACKS_OFFSETOF)
-# undef offsetof
-# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+# undef offsetof
+# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif /* ACE_LACKS_OFFSETOF */
// Signed integer type of the result of subtracting two pointers.
#if defined (ACE_LACKS_PTRDIFF_T)
-# if !defined (ACE_PTRDIFF_T_TYPE)
-# define ACE_PTRDIFF_T_TYPE unsigned long
-# endif /* !ACE_PTRDIFF_T_TYPE */
-typedef ACE_PTRDIFF_T_TYPE ptrdiff_t;
+# if !defined (ACE_PTRDIFF_T_TYPE)
+# define ACE_PTRDIFF_T_TYPE unsigned long
+# endif /* !ACE_PTRDIFF_T_TYPE */
+ typedef ACE_PTRDIFF_T_TYPE ptrdiff_t;
#endif /* ACE_LACKS_PTRDIFF_T */
/*
@@ -76,19 +82,28 @@ typedef ACE_PTRDIFF_T_TYPE ptrdiff_t;
character constant.
*/
#if defined (ACE_LACKS_WCHAR_T)
-# if !defined (ACE_WCHAR_T_TYPE)
-# define ACE_WCHAR_T_TYPE long;
-# endif /* !ACE_WCHAR_T_TYPE */
-typedef ACE_WCHAR_T_TYPE wchar_t;
+# if !defined (ACE_WCHAR_T_TYPE)
+# define ACE_WCHAR_T_TYPE long;
+# endif /* !ACE_WCHAR_T_TYPE */
+ typedef ACE_WCHAR_T_TYPE wchar_t;
#endif /* ACE_LACKS_WCHAR_T */
// Unsigned integer type of the result of the sizeof operator.
#if defined (ACE_LACKS_SIZE_T)
-# if !defined (ACE_SIZE_T_TYPE)
-# define ACE_SIZE_T_TYPE unsigned int;
-# endif /* !ACE_SIZE_T_TYPE */
-typedef ACE_SIZE_T_TYPE size_t;
+# if !defined (ACE_SIZE_T_TYPE)
+# define ACE_SIZE_T_TYPE unsigned int;
+# endif /* !ACE_SIZE_T_TYPE */
+ typedef ACE_SIZE_T_TYPE size_t;
#endif /* ACE_LACKS_SIZE_T */
+#if defined (ACE_PSOS_DIAB_MIPS)
+# undef size_t
+ typedef unsigned int size_t;
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#include "ace/post.h"
-#endif /* ACE_OS_INCLUDE_STDDEF_H */
+#endif /* ACE_OS_INCLUDE_OS_STDDEF_H */