Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/nathanw_sa]: src/sys/arch * Move definitions of exact-width integer type...



details:   https://anonhg.NetBSD.org/src/rev/2284b79b9227
branches:  nathanw_sa
changeset: 504646:2284b79b9227
user:      kleink <kleink%NetBSD.org@localhost>
date:      Sat Apr 28 15:41:32 2001 +0000

description:
* Move definitions of exact-width integer types from <machine/types.h>
  to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.

diffstat:

 sys/arch/alpha/include/int_types.h |  68 +++++++++++++++++++++++++++++
 sys/arch/m68k/include/int_types.h  |  70 ++++++++++++++++++++++++++++++
 sys/arch/sh3/include/int_types.h   |  70 ++++++++++++++++++++++++++++++
 sys/arch/sparc/include/int_types.h |  87 ++++++++++++++++++++++++++++++++++++++
 sys/arch/vax/include/int_types.h   |  75 ++++++++++++++++++++++++++++++++
 5 files changed, 370 insertions(+), 0 deletions(-)

diffs (truncated from 390 to 300 lines):

diff -r 3755ebdf5aa7 -r 2284b79b9227 sys/arch/alpha/include/int_types.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/alpha/include/int_types.h        Sat Apr 28 15:41:32 2001 +0000
@@ -0,0 +1,68 @@
+/* $NetBSD: int_types.h,v 1.5.4.2 2001/04/28 15:41:32 kleink Exp $ */
+
+/*-
+ * Copyright (c) 1990, 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 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.
+ *
+ *     from: @(#)types.h       8.3 (Berkeley) 1/5/94
+ */
+
+#ifndef        _ALPHA_INT_TYPES_H_
+#define        _ALPHA_INT_TYPES_H_
+
+/*
+ * 7.18.1 Integer types
+ */
+
+/* 7.18.1.1 Exact-width integer types */
+
+typedef        __signed char            __int8_t;
+typedef        unsigned char           __uint8_t;
+typedef        short int               __int16_t;
+typedef        unsigned short int     __uint16_t;
+typedef        int                     __int32_t;
+typedef        unsigned int           __uint32_t;
+#ifdef __COMPILER_INT64__
+typedef        __COMPILER_INT64__      __int64_t;
+typedef        __COMPILER_UINT64__    __uint64_t;
+#else
+typedef        long int                __int64_t;
+typedef        unsigned long int      __uint64_t;
+#endif
+
+#define        __BIT_TYPES_DEFINED__
+
+/* 7.18.1.4 Integer types capable of holding object pointers */
+
+typedef        long int               __intptr_t;
+typedef        unsigned long int     __uintptr_t;
+
+#endif /* !_ALPHA_INT_TYPES_H_ */
diff -r 3755ebdf5aa7 -r 2284b79b9227 sys/arch/m68k/include/int_types.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/m68k/include/int_types.h Sat Apr 28 15:41:32 2001 +0000
@@ -0,0 +1,70 @@
+/*     $NetBSD: int_types.h,v 1.5.8.2 2001/04/28 15:41:32 kleink Exp $ */
+
+/*-
+ * Copyright (c) 1990 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 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.
+ *
+ *     from: @(#)types.h       7.9 (Berkeley) 3/9/91
+ */
+
+#ifndef        _M68K_INT_TYPES_H_
+#define        _M68K_INT_TYPES_H_
+
+/*
+ * 7.18.1 Integer types
+ */
+
+/* 7.18.1.1 Exact-width integer types */
+
+typedef        signed char              __int8_t;
+typedef        unsigned char           __uint8_t;
+typedef        short int               __int16_t;
+typedef        unsigned short int     __uint16_t;
+typedef        int                     __int32_t;
+typedef        unsigned int           __uint32_t;
+#ifdef __COMPILER_INT64__
+typedef        __COMPILER_INT64__      __int64_t;
+typedef        __COMPILER_UINT64__    __uint64_t;
+#else
+/* LONGLONG */
+typedef        long long int           __int64_t;
+/* LONGLONG */
+typedef        unsigned long long int __uint64_t;
+#endif
+
+#define        __BIT_TYPES_DEFINED__
+
+/* 7.18.1.4 Integer types capable of holding object pointers */
+
+typedef        int                    __intptr_t;
+typedef        unsigned int          __uintptr_t;
+
+#endif /* !_M68K_INT_TYPES_H_ */
diff -r 3755ebdf5aa7 -r 2284b79b9227 sys/arch/sh3/include/int_types.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sh3/include/int_types.h  Sat Apr 28 15:41:32 2001 +0000
@@ -0,0 +1,70 @@
+/*     $NetBSD: int_types.h,v 1.4.18.2 2001/04/28 15:41:33 kleink Exp $        */
+
+/*-
+ * Copyright (c) 1990 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 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.
+ *
+ *     from: @(#)types.h       7.5 (Berkeley) 3/9/91
+ */
+
+#ifndef        _SH3_INT_TYPES_H_
+#define        _SH3_INT_TYPES_H_
+
+/*
+ * 7.18.1 Integer types
+ */
+
+/* 7.18.1.1 Exact-width integer types */
+
+typedef        __signed char            __int8_t;
+typedef        unsigned char           __uint8_t;
+typedef        short int               __int16_t;
+typedef        unsigned short int     __uint16_t;
+typedef        int                     __int32_t;
+typedef        unsigned int           __uint32_t;
+#ifdef __COMPILER_INT64__
+typedef        __COMPILER_INT64__              __int64_t;
+typedef        unsigned __COMPILER_INT64__     __uint64_t;
+#else
+/* LONGLONG */
+typedef        long long int           __int64_t;
+/* LONGLONG */
+typedef        unsigned long long int __uint64_t;
+#endif
+
+#define        __BIT_TYPES_DEFINED__
+
+/* 7.18.1.4 Integer types capable of holding object pointers */
+
+typedef        int                    __intptr_t;
+typedef        unsigned int          __uintptr_t;
+
+#endif /* !_SH3_INT_TYPES_H_ */
diff -r 3755ebdf5aa7 -r 2284b79b9227 sys/arch/sparc/include/int_types.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sparc/include/int_types.h        Sat Apr 28 15:41:32 2001 +0000
@@ -0,0 +1,87 @@
+/*     $NetBSD: int_types.h,v 1.6.8.2 2001/04/28 15:41:33 kleink Exp $ */
+
+/*
+ * Copyright (c) 1992, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * This software was developed by the Computer Systems Engineering group
+ * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
+ * contributed to Berkeley.
+ *
+ * All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Lawrence Berkeley Laboratory.
+ *
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 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.
+ *
+ *     from: @(#)types.h       8.1 (Berkeley) 6/11/93
+ */
+
+#ifndef        _SPARC_INT_TYPES_H_
+#define        _SPARC_INT_TYPES_H_
+
+/*
+ * 7.18.1 Integer types
+ */
+
+/* 7.18.1.1 Exact-width integer types */
+
+typedef        __signed char            __int8_t;
+typedef        unsigned char           __uint8_t;
+typedef        short int               __int16_t;
+typedef        unsigned short int     __uint16_t;
+typedef        int                     __int32_t;
+typedef        unsigned int           __uint32_t;
+
+#ifdef __COMPILER_INT64__
+typedef        __COMPILER_INT64__      __int64_t;
+typedef        __COMPILER_UINT64__    __uint64_t;
+#else
+#ifdef __arch64__
+/* 64-bit compiler */
+typedef        long int                __int64_t;
+typedef        unsigned long int      __uint64_t;
+#else
+/* 32-bit compiler */
+/* LONGLONG */
+typedef        long long int           __int64_t;
+/* LONGLONG */
+typedef        unsigned long long int __uint64_t;



Home | Main Index | Thread Index | Old Index