/usr/include/ptlib/unix/ptlib/contain.h is in libpt-dev 2.10.2~dfsg-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | /*
* contain.h
*
* Low level object and container definitions.
*
* Portable Windows Library
*
* Copyright (c) 1993-1998 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Portable Windows Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Portions are Copyright (C) 1993 Free Software Foundation, Inc.
* All Rights Reserved.
*
* Contributor(s): ______________________________________.
*
* $Revision: 24221 $
* $Author: csoutheren $
* $Date: 2010-04-08 06:58:18 -0500 (Thu, 08 Apr 2010) $
*/
#include "pmachdep.h"
#include <unistd.h>
#include <ctype.h>
#include <limits.h>
///////////////////////////////////////////
//
// define TRUE and FALSE for environments that don't have them
//
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#ifdef P_USE_INTEGER_BOOL
typedef int BOOL;
#endif
///////////////////////////////////////////
//
// define a macro for declaring classes so we can bolt
// extra things to class declarations
//
#define PEXPORT
#define PSTATIC
///////////////////////////////////////////
//
// define some basic types and their limits
//
typedef int16_t PInt16; // 16 bit
typedef uint16_t PUInt16; // 16 bit
typedef int32_t PInt32; // 32 bit
typedef uint32_t PUInt32; // 32 bit
#ifndef P_NEEDS_INT64
typedef signed long long int PInt64; // 64 bit
typedef unsigned long long int PUInt64; // 64 bit
#endif
// Integer type that is same size as a pointer type.
typedef intptr_t INT;
typedef uintptr_t UINT;
// Create "Windows" style definitions.
typedef uint8_t BYTE;
typedef uint16_t WORD;
typedef uint32_t DWORD;
typedef void VOID;
typedef char CHAR;
typedef wchar_t WCHAR;
typedef signed char SCHAR;
typedef unsigned char UCHAR;
typedef short SHORT;
typedef signed short SSHORT;
typedef unsigned short USHORT;
typedef int16_t SWORD;
typedef uint16_t UWORD;
typedef long LONG;
typedef signed long SLONG;
typedef unsigned long ULONG;
#if defined(__APPLE__)
typedef signed long int SDWORD;
typedef unsigned long int UDWORD;
#else
typedef int32_t SDWORD;
typedef uint32_t UDWORD;
#endif
typedef float SFLOAT;
typedef double SDOUBLE;
typedef double LDOUBLE;
typedef void * PTR;
typedef void * LPVOID;
typedef CHAR * LPSTR;
typedef WCHAR * LPWSTR;
typedef const CHAR * LPCSTR;
typedef const WCHAR * LPCWSTR;
typedef DWORD * LPDWORD;
#define FAR
typedef signed short RETCODE;
typedef void * HWND;
// For sqltypes.h, prevent it from redefining the above
#define ALLREADY_HAVE_WINDOWS_TYPE 1
typedef SCHAR SQLSCHAR;
typedef HWND SQLHWND;
#define SQL_API
///////////////////////////////////////////
// Type used for array indexes and sizes
typedef int PINDEX;
#define P_MAX_INDEX INT_MAX
inline PINDEX PABSINDEX(PINDEX idx) { return (idx < 0 ? -idx : idx)&P_MAX_INDEX; }
#define PASSERTINDEX(idx) PAssert((idx) >= 0, PInvalidArrayIndex)
///////////////////////////////////////////
//
// needed for STL
//
#if P_HAS_STL_STREAMS
#define __USE_STL__ 1
// both gnu-c++ and stlport define __true_type normally this would be
// fine but until pwlib removes the evil using namespace std below,
// this is included here to ensure the types do not conflict. Yes you
// get math when you don't want it but its one of the things in
// stlport that sources the native cmath and includes
// the gcc header bits/cpp_type_traits.h which has the conflicting type.
//
// the sooner the using namespace std below is removed the better.
// namespace pollution in headers is plain wrong!
//
#include <cmath>
#endif
#define P_HAS_TYPEINFO 1
using namespace std;
|