Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | /* * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * The contents of this file constitute Original Code as defined in and * are subject to the Apple Public Source License Version 1.1 (the * "License"). You may not use this file except in compliance with the * License. Please obtain a copy of the License at * http://www.apple.com/publicsource and read it before using this file. * * This Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. * * @APPLE_LICENSE_HEADER_END@ */ /* * @OSF_COPYRIGHT@ */ /* * Header file for basic, machine-dependent data types. */ #ifndef _PPC_VM_TYPES_DEFS_ #define _PPC_VM_TYPES_DEFS_ type short = int16_t; type int = int32_t; type unsigned = uint32_t; type float = MACH_MSG_TYPE_REAL_32; type double = MACH_MSG_TYPE_REAL_64; /* from ISO/IEC 988:1999 spec */ /* 7.18.1.4 Integer types capable of holding object pointers */ /* * The [u]intptr_t types for the native * integer type, e.g. 32 or 64 or.. whatever * register size the machine has. They are * used for entities that might be either * [unsigned] integers or pointers, and for * type-casting between the two. * * For instance, the IPC system represents * a port in user space as an integer and * in kernel space as a pointer. */ #if defined(__ppc64__) type uintptr_t = uint64_t; type intptr_t = int64_t; #else type uintptr_t = uint32_t; type intptr_t = int32_t; #endif /* * These are the legacy Mach types that are * the [rough] equivalents of the standards above. * They were defined in terms of int, not * long int, so they remain separate. */ #if defined(__ppc64__) type register_t = int64_t; #else type register_t = int32_t; #endif type integer_t = int32_t; type natural_t = uint32_t; /* * These are the VM types that scale with the address * space size of a given process. */ #if defined(__ppc64__) type vm_address_t = uint64_t; type vm_offset_t = uint64_t; type vm_size_t = uint64_t; #else type vm_address_t = natural_t; type vm_offset_t = natural_t; type vm_size_t = natural_t; #endif /* * The mach_vm_xxx_t types are sized to hold the * maximum pointer, offset, etc... supported on the * platform. */ type mach_vm_address_t = uint64_t; type mach_vm_offset_t = uint64_t; type mach_vm_size_t = uint64_t; #if MACH_IPC_COMPAT /* * For the old IPC interface */ #define MSG_TYPE_PORT_NAME uint32_t #endif /* MACH_IPC_COMPAT */ #endif /* _PPC_VM_TYPES_DEFS_ */ |