source: XMLIO_V2/external/include/Poco/Platform_VMS.h @ 80

Last change on this file since 80 was 80, checked in by ymipsl, 14 years ago

ajout lib externe

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1//
2// Platform_VMS.h
3//
4// $Id: //poco/1.3/Foundation/include/Poco/Platform_VMS.h#1 $
5//
6// Library: Foundation
7// Package: Core
8// Module:  Platform
9//
10// Platform and architecture identification macros
11// and platform-specific definitions for OpenVMS.
12//
13// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
14// and Contributors.
15//
16// Permission is hereby granted, free of charge, to any person or organization
17// obtaining a copy of the software and accompanying documentation covered by
18// this license (the "Software") to use, reproduce, display, distribute,
19// execute, and transmit the Software, and to prepare derivative works of the
20// Software, and to permit third-parties to whom the Software is furnished to
21// do so, all subject to the following:
22//
23// The copyright notices in the Software and this entire statement, including
24// the above license grant, this restriction and the following disclaimer,
25// must be included in all copies of the Software, in whole or in part, and
26// all derivative works of the Software, unless such copies or derivative
27// works are solely in the form of machine-executable object code generated by
28// a source language processor.
29//
30// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
31// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
32// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
33// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
34// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
35// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
36// DEALINGS IN THE SOFTWARE.
37//
38
39
40#ifndef Foundation_Platform_VMS_INCLUDED
41#define Foundation_Platform_VMS_INCLUDED
42
43
44// Define the POCO_DESCRIPTOR_STRING and POCO_DESCRIPTOR_LITERAL
45// macros which we use instead of $DESCRIPTOR and $DESCRIPTOR64.
46// Our macros work with both 32bit and 64bit pointer sizes.
47#if __INITIAL_POINTER_SIZE != 64
48        #define POCO_DESCRIPTOR_STRING(name, string) \
49                struct dsc$descriptor_s name =  \
50                {                                                               \
51                        string.size(),                          \
52                        DSC$K_DTYPE_T,                          \
53                        DSC$K_CLASS_S,                          \
54                        (char*) string.data()           \
55                }
56        #define POCO_DESCRIPTOR_LITERAL(name, string) \
57                struct dsc$descriptor_s name =  \
58                {                                                               \
59                        sizeof(string) - 1,                     \
60                        DSC$K_DTYPE_T,                          \
61                        DSC$K_CLASS_S,                          \
62                        (char*) string                          \
63                }
64#else
65        #define POCO_DESCRIPTOR_STRING(name, string) \
66                struct dsc64$descriptor_s name =\
67                {                                                               \
68                        1,                                                      \
69                        DSC64$K_DTYPE_T,                        \
70                        DSC64$K_CLASS_S,                        \
71                        -1,                                                     \
72                        string.size(),                          \
73                        (char*) string.data()           \
74                }
75        #define POCO_DESCRIPTOR_LITERAL(name, string) \
76                struct dsc64$descriptor_s name =\
77                {                                                               \
78                        1,                                                      \
79                        DSC64$K_DTYPE_T,                        \
80                        DSC64$K_CLASS_S,                        \
81                        -1,                                                     \
82                        sizeof(string) - 1,                     \
83                        (char*) string                          \
84                }
85#endif
86
87
88// No <sys/select.h> header file
89#define POCO_NO_SYS_SELECT_H
90
91
92#endif // Foundation_Platform_VMS_INCLUDED
Note: See TracBrowser for help on using the repository browser.