libvex_basictypes.h revision b32f58018498ea2225959b0ba11c18f0c433deef
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*---------------------------------------------------------------*/ 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*--- begin libvex_basictypes.h ---*/ 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*---------------------------------------------------------------*/ 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) This file is part of Valgrind, a dynamic binary instrumentation 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) framework. 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Copyright (C) 2004-2011 OpenWorks LLP 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) info@open-works.net 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This program is free software; you can redistribute it and/or 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) modify it under the terms of the GNU General Public License as 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) published by the Free Software Foundation; either version 2 of the 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) License, or (at your option) any later version. 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) This program is distributed in the hope that it will be useful, but 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WITHOUT ANY WARRANTY; without even the implied warranty of 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) General Public License for more details. 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) You should have received a copy of the GNU General Public License 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) along with this program; if not, write to the Free Software 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 02110-1301, USA. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The GNU General Public License is contained in the file COPYING. 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Neither the names of the U.S. Department of Energy nor the 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) University of California nor the names of its contributors may be 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) used to endorse or promote products derived from this software 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) without prior written permission. 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __LIBVEX_BASICTYPES_H 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __LIBVEX_BASICTYPES_H 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* It is important that the sizes of the following data types (on the 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) host) are as stated. LibVEX_Init therefore checks these at 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) startup. */ 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Always 8 bits. */ 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned char UChar; 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef signed char Char; 46a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef char HChar; /* signfulness depends on host */ 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) /* Only to be used for printf etc 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) format strings */ 49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 50a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/* Always 16 bits. */ 51a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef unsigned short UShort; 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef signed short Short; 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Always 32 bits. */ 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned int UInt; 565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef signed int Int; 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Always 64 bits. */ 59a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef unsigned long long int ULong; 605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef signed long long int Long; 615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Always 128 bits. */ 635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef UInt U128[4]; 645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* A union for doing 128-bit vector primitives conveniently. */ 665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef 675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) union { 68a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) UChar w8[16]; 695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UShort w16[8]; 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UInt w32[4]; 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ULong w64[2]; 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) V128; 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Floating point. */ 7623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)typedef float Float; /* IEEE754 single-precision (32-bit) value */ 775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef double Double; /* IEEE754 double-precision (64-bit) value */ 785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Bool is always 8 bits. */ 8023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)typedef unsigned char Bool; 8123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#define True ((Bool)1) 825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define False ((Bool)0) 835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Use this to coerce the result of a C comparison to a Bool. This is 8523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) useful when compiling with Intel icc with ultra-paranoid 8623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) compilation flags (-Wall). */ 875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)static inline Bool toBool ( Int x ) { 8823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) Int r = (x == 0) ? False : True; 895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return (Bool)r; 90c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 91c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochstatic inline UChar toUChar ( Int x ) { 92c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch x &= 0xFF; 93c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch return (UChar)x; 94c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 95c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochstatic inline HChar toHChar ( Int x ) { 96c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch x &= 0xFF; 97c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch return (HChar)x; 98c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 99c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochstatic inline UShort toUShort ( Int x ) { 100c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch x &= 0xFFFF; 1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return (UShort)x; 10223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} 1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)static inline Short toShort ( Int x ) { 1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) x &= 0xFFFF; 1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return (Short)x; 10623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} 10723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)static inline UInt toUInt ( Long x ) { 10823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) x &= 0xFFFFFFFFLL; 10923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) return (UInt)x; 110c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 1115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* 32/64 bit addresses. */ 1135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef UInt Addr32; 1145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef ULong Addr64; 1155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Something which has the same size as void* on the host. That is, 1175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) it is 32 bits on a 32-bit host and 64 bits on a 64-bit host, and so 11823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) it can safely be coerced to and from a pointer type on the host 11923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) machine. */ 120c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochtypedef unsigned long HWord; 121c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 1225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 123a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/* This is so useful it should be visible absolutely everywhere. */ 124c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#if !defined(offsetof) 1255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define offsetof(type,memb) ((Int)(HWord)&((type*)0)->memb) 1265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 127a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 128a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 12923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)/* We need to know the host word size in order to write Ptr_to_ULong 13023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) and ULong_to_Ptr in a way that doesn't cause compilers to complain. 131c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch These functions allow us to cast pointers to and from 64-bit 1325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) integers without complaints from compilers, regardless of the host 1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) word size. 1345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Also set up VEX_REGPARM. 1365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)*/ 1375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#undef VEX_HOST_WORDSIZE 1395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#undef VEX_REGPARM 1405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* The following 4 work OK for Linux. */ 1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(__x86_64__) 1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 8 1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif defined(__i386__) 1475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 4 1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) __attribute__((regparm(_n))) 1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif defined(__powerpc__) && defined(__powerpc64__) 1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 8 1525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif defined(__powerpc__) && !defined(__powerpc64__) 1555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 4 1565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 1575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif defined(__arm__) 1595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 4 1605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 1615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 16223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#elif defined(_AIX) && !defined(__64BIT__) 1635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 4 1645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 1655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif defined(_AIX) && defined(__64BIT__) 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_HOST_WORDSIZE 8 1685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# define VEX_REGPARM(_n) /* */ 16923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 17023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#elif defined(__s390x__) 17123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)# define VEX_HOST_WORDSIZE 8 17223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)# define VEX_REGPARM(_n) /* */ 17323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 17423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#else 17523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)# error "Vex: Fatal: Can't establish the host architecture" 1765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 1775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if VEX_HOST_WORDSIZE == 8 1805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static inline ULong Ptr_to_ULong ( void* p ) { 1815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return (ULong)p; 1825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 183a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) static inline void* ULong_to_Ptr ( ULong n ) { 184a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return (void*)n; 1855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 1865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#elif VEX_HOST_WORDSIZE == 4 18723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) static inline ULong Ptr_to_ULong ( void* p ) { 1885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UInt w = (UInt)p; 1895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return (ULong)w; 1905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 1915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static inline void* ULong_to_Ptr ( ULong n ) { 1925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UInt w = (UInt)n; 193a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return (void*)w; 1945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 1955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#else 1965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# error "Vex: Fatal: Can't define Ptr_to_ULong / ULong_to_Ptr" 1975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 1985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 2005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif /* ndef __LIBVEX_BASICTYPES_H */ 2015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 2025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/*---------------------------------------------------------------*/ 2035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/*--- libvex_basictypes.h ---*/ 2045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/*---------------------------------------------------------------*/ 2055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)