Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

srm_stds.h

Go to the documentation of this file.
00001 /* SRM API
00002  *
00003  * SRM SDK Release 4.1.2 - July 1, 2009
00004  *
00005  * - SRM spec. 4.1
00006  *
00007  *
00008  *                             NOTICE
00009  * 
00010  * This software is provided openly and freely for use in representing and
00011  * interchanging environmental data & databases.
00012  * 
00013  * This software was developed for use by the United States Government with
00014  * unlimited rights.  The software was developed under contract
00015  * DASG60-02-D-0006 TO-193 by Science Applications International Corporation.
00016  * The software is unclassified and is deemed as Distribution A, approved
00017  * for Public Release.
00018  * 
00019  * Use by others is permitted only upon the ACCEPTANCE OF THE TERMS AND
00020  * CONDITIONS, AS STIPULATED UNDER THE FOLLOWING PROVISIONS:
00021  * 
00022  *    1. Recipient may make unlimited copies of this software and give
00023  *       copies to other persons or entities as long as the copies contain
00024  *       this NOTICE, and as long as the same copyright notices that
00025  *       appear on, or in, this software remain.
00026  * 
00027  *    2. Trademarks. All trademarks belong to their respective trademark
00028  *       holders.  Third-Party applications/software/information are
00029  *       copyrighted by their respective owners.
00030  * 
00031  *    3. Recipient agrees to forfeit all intellectual property and
00032  *       ownership rights for any version created from the modification
00033  *       or adaptation of this software, including versions created from
00034  *       the translation and/or reverse engineering of the software design.
00035  * 
00036  *    4. Transfer.  Recipient may not sell, rent, lease, or sublicense
00037  *       this software.  Recipient may, however enable another person
00038  *       or entity the rights to use this software, provided that this
00039  *       AGREEMENT and NOTICE is furnished along with the software and
00040  *       /or software system utilizing this software.
00041  * 
00042  *       All revisions, modifications, created by the Recipient, to this
00043  *       software and/or related technical data shall be forwarded by the 
00044  *       Recipient to the Government at the following address:
00045  * 
00046  *         SMDC
00047  *         Attention SEDRIS (TO193) TPOC
00048  *         P.O. Box 1500
00049  *         Hunstville, AL  35807-3801
00050  * 
00051  *         or via electronic mail to:  [email protected]
00052  * 
00053  *    5. No Warranty. This software is being delivered to you AS IS
00054  *       and there is no warranty, EXPRESS or IMPLIED, as to its use
00055  *       or performance.
00056  * 
00057  *       The RECIPIENT ASSUMES ALL RISKS, KNOWN AND UNKNOWN, OF USING
00058  *       THIS SOFTWARE.  The DEVELOPER EXPRESSLY DISCLAIMS, and the
00059  *       RECIPIENT WAIVES, ANY and ALL PERFORMANCE OR RESULTS YOU MAY
00060  *       OBTAIN BY USING THIS SOFTWARE OR DOCUMENTATION.  THERE IS
00061  *       NO WARRANTY, EXPRESS OR, IMPLIED, AS TO NON-INFRINGEMENT OF
00062  *       THIRD PARTY RIGHTS, MERCHANTABILITY, OR FITNESS FOR ANY
00063  *       PARTICULAR PURPOSE.  IN NO EVENT WILL THE DEVELOPER, THE
00064  *       UNITED STATES GOVERNMENT OR ANYONE ELSE ASSOCIATED WITH THE
00065  *       DEVELOPMENT OF THIS SOFTWARE BE HELD LIABLE FOR ANY CONSEQUENTIAL,
00066  *       INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS
00067  *       OR LOST SAVINGS WHATSOEVER.
00068  *
00069  *
00070  * SRM_OTHERS_GOES_HERE
00071  *
00072  *
00073  * COPYRIGHT 2009, SCIENCE APPLICATIONS INTERNATIONAL CORPORATION.
00074  *                 ALL RIGHTS RESERVED.
00075  * 
00076  *
00077  */
00078 
00079 
00080 
00155 #ifndef _SRM_STDS_H_INCLUDED
00156 #define _SRM_STDS_H_INCLUDED
00157 
00158 #if !defined(_WIN32)
00159 #define EXPORT_DLL
00160 #elif !defined(EXPORT_DLL)
00161 #if defined(_LIB)
00162 #define EXPORT_DLL
00163 #elif defined(_USRDLL)
00164 #define EXPORT_DLL __declspec(dllexport)
00165 #else
00166 #define EXPORT_DLL __declspec(dllimport)
00167 #endif
00168 #endif /* _WIN32 && EXPORT_DLL */
00169 
00170 #ifdef __cplusplus
00171 extern "C" {
00172 #endif
00173 
00174 
00175 #if defined(CPUARCH_i386) || defined(CPUARCH_i486)  || defined(CPUARCH_i586)  || defined(CPUARCH_i686) || defined(CPUARCH_alpha) || defined (_WIN32)
00176 #define SRM_LITTLE_ENDIAN
00177 #else
00178 #define SRM_BIG_ENDIAN
00179 #endif
00180 
00182 typedef int            SRM_Integer;
00183 
00185 typedef unsigned int   SRM_Integer_Unsigned;
00186 
00188 typedef unsigned int SRM_Integer_Positive;
00189 
00190 
00192 typedef double         SRM_Long_Float;
00193 
00199 typedef enum
00200 {
00201   SRM_FALSE = 0,  
00202   SRM_TRUE  = 1   
00203 } SRM_Boolean;
00204 
00208 #define SRM_INTEGER_MAX 2147483647
00209 
00212 #define SRM_INTEGER_MIN (-2147483647-1)
00213 
00216 #define SRM_INTEGER_UNSIGNED_MAX 4294967295U
00217 
00220 #define SRM_INTEGER_UNSIGNED_MIN 0
00221 
00224 #define SRM_INTEGER_POSITIVE_MAX 4294967295U
00225 
00228 #define SRM_INTEGER_POSITIVE_MIN 1
00229 
00230 
00234 EXPORT_DLL extern
00235 const unsigned int
00236 __srm_64_pos_infinity[2];
00237 
00241 EXPORT_DLL extern
00242 const unsigned int
00243 __srm_64_neg_infinity[2];
00244 
00245 
00249 #define SRM_POSITIVE_INFINITY    (*(SRM_Long_Float *)__srm_64_pos_infinity)
00250 
00253 #define SRM_NEGATIVE_INFINITY    (*(SRM_Long_Float *)__srm_64_neg_infinity)
00254 
00259 #define SRM_MAJOR_VERSION ((SRM_Integer_Positive)4)
00260 
00265 #define SRM_MINOR_VERSION ((SRM_Integer_Unsigned)1)
00266 
00272 #define SRM_INTERIM_VERSION '\0'
00273 
00281 #define SRM_EQUAL(a,b,delta) ( ((a) == (b)) || \
00282      ((a)-(delta) < (b) && (a)+(delta) > (b)) )
00283 
00284 /*-----------------------------------------------------------------------------*/
00288 /*-----------------------------------------------------------------------------*/
00289 EXPORT_DLL extern
00290 const char *
00291 SRM_GetImplVerInfo(void);
00292 
00293 #ifdef __cplusplus
00294 }
00295 #endif
00296 
00297 #endif /* ifndef/define/endif for _SRM_STDS_H_INCLUDED */

Spatial Reference Model C++ API Version 4.1.2 - 1 Jul 2009
Copyright © 2009 SEDRIS Docs by Doxygen 1.3.2