xrootd
Loading...
Searching...
No Matches
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
65typedef unsigned char kXR_char;
66typedef short kXR_int16;
67typedef 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)
83typedef long kXR_int32;
84typedef unsigned long kXR_unt32;
85#elif defined(XR__INT64)
86typedef int32 kXR_int32;
87typedef unsigned int32 kXR_unt32;
88#else
89typedef int kXR_int32;
90typedef unsigned int kXR_unt32;
91#endif
92
93// Signed integer 8 bytes
94//
95//#if defined(_WIN32)
96//typedef __int64 kXR_int64;
97//#else
98typedef long long kXR_int64;
99typedef unsigned long long kXR_unt64;
100//#endif
101#endif
unsigned long long kXR_unt64
Definition XPtypes.hh:99
long long kXR_int64
Definition XPtypes.hh:98
int kXR_int32
Definition XPtypes.hh:89
unsigned int kXR_unt32
Definition XPtypes.hh:90
short kXR_int16
Definition XPtypes.hh:66
unsigned short kXR_unt16
Definition XPtypes.hh:67
unsigned char kXR_char
Definition XPtypes.hh:65