Re: Xmd.h in c99 form
Jim Gettys <[email protected]> Sun, 15 Feb 2004 17:10:48 -0500
| Newsgroups | gmane.comp.freedesktop.xlibs.general |
|---|---|
| Organization | HP Labs, Cambridge Research Laboratory |
| Message-ID | <[email protected]> |
Yeah, the history is that the system definitions didn't exist
in the 1980's for 16/32 bit things. So we had to roll our
own.
The question is whether there are still systems who build
X who don't have the stdint.h file or not, and/or whether by
providing such a file, we could then do this clean up.
Anyone have an opinion?
- Jim
On Sun, 2004-02-15 at 00:08, Warren Turkal wrote:
> Here is a little something I have been messing with. It is Xmd.h in c99
> form.
>
> /***********************************************************
>
> Copyright 1987, 1998 The Open Group
>
> Permission to use, copy, modify, distribute, and sell this software and its
> documentation for any purpose is hereby granted without fee, provided that
> the above copyright notice appear in all copies and that both that
> copyright notice and this permission notice appear in supporting
> documentation.
>
> The above copyright notice and this permission notice shall be included in
> all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
> AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>
> Except as contained in this notice, the name of The Open Group shall not be
> used in advertising or otherwise to promote the sale, use or other dealings
> in this Software without prior written authorization from The Open Group.
>
>
> Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
>
> All Rights Reserved
>
> Permission to use, copy, modify, and distribute this software and its
> documentation for any purpose and without fee is hereby granted,
> provided that the above copyright notice appear in all copies and that
> both that copyright notice and this permission notice appear in
> supporting documentation, and that the name of Digital not be
> used in advertising or publicity pertaining to distribution of the
> software without specific, written prior permission.
>
> DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
> ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
> DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
> ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
> WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
> ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
> SOFTWARE.
>
> ******************************************************************/
> /** @file Xmd
> * This header provides machine dependent declarations.
> */
>
> #ifndef XMD_H
> #define XMD_H
>
> #include <stdint.h>
>
> typedef int8_t INT8;
> typedef uint8_t CARD8;
>
> typedef int16_t INT16;
> typedef uint16_t CARD16;
>
> typedef int32_t INT32;
> typedef uint32_t CARD32;
>
> typedef int64_t INT64;
> typedef uint64_t CARD64;
>
> typedef CARD32 BITS32;
> typedef CARD16 BITS16;
>
> #define B32
> #define B16
>
> typedef CARD8 BYTE;
> typedef CARD8 BOOL;
>
> /*
> * The extra indirection is to get macro arguments to
> * expand correctly before the concatenation, rather than afterward.
> */
> #define _SIZEOF(x) sz_##x
> #define SIZEOF(x) _SIZEOF(x)
>
>
> #if 0
> /*
> * definitions for sign-extending bitfields on 64-bit architectures
> */
> #define cvtINT8toInt(val) (val)
> #define cvtINT16toInt(val) (val)
> #define cvtINT32toInt(val) (val)
> #define cvtINT8toShort(val) (val)
> #define cvtINT16toShort(val) (val)
> #define cvtINT32toShort(val) (val)
> #define cvtINT8toLong(val) (val)
> #define cvtINT16toLong(val) (val)
> #define cvtINT32toLong(val) (val)
> #endif
>
>
> #endif // XMD_H
--
Jim Gettys <[email protected]>
HP Labs, Cambridge Research Laboratory