Main Page | 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.4.0 - December 7, 2009
00004  *
00005  * - SRM spec. 4.4
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:  se-mgmt@sedris.org
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 
00153 #ifndef _SRM_STDS_H_INCLUDED
00154 #define _SRM_STDS_H_INCLUDED
00155 
00156 #if !defined(_WIN32)
00157 #define EXPORT_DLL
00158 #elif !defined(EXPORT_DLL)
00159 #if defined(_LIB)
00160 #define EXPORT_DLL
00161 #elif defined(_USRDLL)
00162 #define EXPORT_DLL __declspec(dllexport)
00163 #else
00164 #define EXPORT_DLL __declspec(dllimport)
00165 #endif
00166 #endif /* _WIN32 && EXPORT_DLL */
00167 
00168 #ifdef __cplusplus
00169 extern "C" {
00170 #endif
00171 
00172 
00173 #if defined(CPUARCH_i386) || defined(CPUARCH_i486)  || defined(CPUARCH_i586)  || defined(CPUARCH_i686) || defined(CPUARCH_alpha) || defined (_WIN32)
00174 #define SRM_LITTLE_ENDIAN
00175 #else
00176 #define SRM_BIG_ENDIAN
00177 #endif
00178 
00179 #if defined(_WIN32)
00180 #pragma warning(disable : 4996)
00181 #endif
00182 
00184 typedef int            SRM_Integer;
00185 
00187 typedef unsigned int   SRM_Integer_Unsigned;
00188 
00190 typedef unsigned int SRM_Integer_Positive;
00191 
00192 
00194 typedef double         SRM_Long_Float;
00195 
00201 typedef enum
00202 {
00203   SRM_FALSE = 0,  
00204   SRM_TRUE  = 1   
00205 } SRM_Boolean;
00206 
00210 #define SRM_INTEGER_MAX 2147483647
00211 
00214 #define SRM_INTEGER_MIN (-2147483647-1)
00215 
00218 #define SRM_INTEGER_UNSIGNED_MAX 4294967295U
00219 
00222 #define SRM_INTEGER_UNSIGNED_MIN 0
00223 
00226 #define SRM_INTEGER_POSITIVE_MAX 4294967295U
00227 
00230 #define SRM_INTEGER_POSITIVE_MIN 1
00231 
00232 
00236 EXPORT_DLL extern
00237 const unsigned int
00238 __srm_64_pos_infinity[2];
00239 
00243 EXPORT_DLL extern
00244 const unsigned int
00245 __srm_64_neg_infinity[2];
00246 
00247 
00251 #define SRM_POSITIVE_INFINITY    (*(SRM_Long_Float *)__srm_64_pos_infinity)
00252 
00255 #define SRM_NEGATIVE_INFINITY    (*(SRM_Long_Float *)__srm_64_neg_infinity)
00256 
00261 #define SRM_MAJOR_VERSION ((SRM_Integer_Positive)4)
00262 
00267 #define SRM_MINOR_VERSION ((SRM_Integer_Unsigned)4)
00268 
00274 #define SRM_INTERIM_VERSION '\0'
00275 
00283 #define SRM_EQUAL(a,b,delta) ( ((a) == (b)) || \
00284      ((a)-(delta) < (b) && (a)+(delta) > (b)) )
00285 
00286 /*-----------------------------------------------------------------------------*/
00290 /*-----------------------------------------------------------------------------*/
00291 EXPORT_DLL extern
00292 const char *
00293 SRM_GetImplVerInfo(void);
00294 
00295 #ifdef __cplusplus
00296 }
00297 #endif
00298 
00299 #endif /* ifndef/define/endif for _SRM_STDS_H_INCLUDED */

C API Version: 4.4 - December 7, 2009
Copyright © 2009 SEDRIS Docs by Doxygen 1.3.2