xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
XPtypes.hh
Go to the documentation of this file.
1 #ifndef __XPTYPES_H
2 #define __XPTYPES_H
3 /******************************************************************************/
4 /* */
5 /* X P t y p e s . h h */
6 /* */
7 /* (c) 2012 by the Board of Trustees of the Leland Stanford, Jr., University */
8 /* All Rights Reserved */
9 /* Produced by Andrew Hanushevsky for Stanford University under contract */
10 /* DE-AC02-76-SFO0515 with the Department of Energy */
11 /* */
12 /* This file is part of the XRootD software suite. */
13 /* */
14 /* XRootD is free software: you can redistribute it and/or modify it under */
15 /* the terms of the GNU Lesser General Public License as published by the */
16 /* Free Software Foundation, either version 3 of the License, or (at your */
17 /* option) any later version. */
18 /* */
19 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22 /* License for more details. */
23 /* */
24 /* The XRootD protocol definition, documented in this file, is distributed */
25 /* under a modified BSD license and may be freely used to reimplement it. */
26 /* Any references to "source" in this license refers to this file or any */
27 /* other file that specifically contains the following license. */
28 /* */
29 /* Redistribution and use in source and binary forms, with or without */
30 /* modification, are permitted provided that the following conditions */
31 /* are met: */
32 /* */
33 /* 1. Redistributions of source code must retain the above copyright notice, */
34 /* this list of conditions and the following disclaimer. */
35 /* */
36 /* 2. Redistributions in binary form must reproduce the above copyright */
37 /* notice, this list of conditions and the following disclaimer in the */
38 /* documentation and/or other materials provided with the distribution. */
39 /* */
40 /* 3. Neither the name of the copyright holder nor the names of its */
41 /* contributors may be used to endorse or promote products derived from */
42 /* this software without specific prior written permission. */
43 /* */
44 /* 4. Derived software may not use the name XRootD or cmsd (regardless of */
45 /* capitilization) in association with the derived work if the protocol */
46 /* documented in this file is changed in any way. */
47 /* */
48 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
49 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
50 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
51 /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
52 /* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
53 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
54 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
55 /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
56 /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
57 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
58 /******************************************************************************/
59 
60 // Full range type compatibility work done by Gerardo Ganis, CERN.
61 
62 // Typical data types
63 //
64 // Only char and short are truly portable types
65 typedef unsigned char kXR_char;
66 typedef short kXR_int16;
67 typedef unsigned short kXR_unt16;
68 
69 // Signed integer 4 bytes
70 //
71 #ifndef XR__INT16
72 # if defined(LP32) || defined(__LP32) || defined(__LP32__) || \
73  defined(BORLAND)
74 # define XR__INT16
75 # endif
76 #endif
77 #ifndef XR__INT64
78 # if defined(ILP64) || defined(__ILP64) || defined(__ILP64__)
79 # define XR__INT64
80 # endif
81 #endif
82 #if defined(XR__INT16)
83 typedef long kXR_int32;
84 typedef unsigned long kXR_unt32;
85 #elif defined(XR__INT64)
86 typedef int32 kXR_int32;
87 typedef unsigned int32 kXR_unt32;
88 #else
89 typedef int kXR_int32;
90 typedef unsigned int kXR_unt32;
91 #endif
92 
93 // Signed integer 8 bytes
94 //
95 //#if defined(_WIN32)
96 //typedef __int64 kXR_int64;
97 //#else
98 typedef long long kXR_int64;
99 typedef unsigned long long kXR_unt64;
100 //#endif
101 #endif
unsigned char kXR_char
Definition: XPtypes.hh:65
unsigned short kXR_unt16
Definition: XPtypes.hh:67
unsigned long long kXR_unt64
Definition: XPtypes.hh:99
unsigned int kXR_unt32
Definition: XPtypes.hh:90
int kXR_int32
Definition: XPtypes.hh:89
long long kXR_int64
Definition: XPtypes.hh:98
short kXR_int16
Definition: XPtypes.hh:66