Table 5.1

Replace Table 5.1 with the following:

5 Type definitions

5.1 Introduction

5.1.1 Topics

5.1.2 Description

5.1.3 Augmentation of this binding through registration

5.2 Mapping of non-object data types

5.2.1 Numbers

SRM_Integer_Positive

SRM_Integer

SRM_Long_Float

5.2.2 Logicals

SRM_Boolean

5.2.3 Object reference

SRM_Object_Reference

5.2.4 Enumerated data types

SRM_Axis_Direction

SRM_Coordinate_Valid_Region

SRM_Interval_Type

SRM_Polar_Aspect

5.2.5 Selection data types

SRM_CS_Code

SRM_DSS_Code

SRM_OBRS_Code

SRM_ORM_Code

SRM_ORMT_Code

SRM_RD_Code

SRM_RT_Code

SRM_Spatial_Coordinate_Code

SRM_SRF_Code

SRM_SRF_Parameters_Info_Code

SRM_SRFS_Code

SRM_SRFSM_Alabama_SPCS_Code

SRM_SRFSM_GTRS_GCS_Code

SRM_SRFSM_Japan_Rectangular_Plane_CD_Code

SRM_SRFSM_Lambert_NTF_Code

SRM_SRFSM_UPS_Code

SRM_SRFSM_UTM_Code

SRM_SRFSM_Wisconsin_SPCS_Code

SRM_SRFT_Code

SRM_Status_Code

5.2.6 Array data types

SRM_Coordinate2D_Array

SRM_Coordinate3D_Array

SRM_Coordinate_Valid_Region_Array

SRM_Direction_Array

SRM_Matrix_3x3

SRM_Matrix_4x4

SRM_Vector_3D

5.2.7 Structured data types

SRM_CD_3D_Coordinate

SRM_CD_Surface_Coordinate

SRM_Coordinate

SRM_EC_Parameters

SRM_EI_3D_Coordinate

SRM_Equatorial_Spherical_3D_Coordinate

SRM_Euclidean_2D_Coordinate

SRM_Euclidean_3D_Coordinate

SRM_LCC_Parameters

SRM_LCE_3D_Parameters

SRM_LSA_2D_Coordinate

SRM_LSP_2D_Coordinate

SRM_LSR_2D_Parameters

SRM_LSR_3D_Parameters

SRM_Local_Tangent_Parameters

SRM_LTSAS_3D_Coordinate

SRM_LTSAS_Surface_Coordinate

SRM_LTSC_3D_Coordinate

SRM_LTSC_Surface_Coordinate

SRM_LTSE_3D_Coordinate

SRM_LTSE_Parameters

SRM_LTSE_Surface_Coordinate

SRM_Map_Projection_3D_Coordinate

SRM_Map_Projection_Surface_Coordinate

SRM_M_Parameters

SRM_Oblique_Mercator_Parameters

SRM_ORM_Transformation_2D_Parameters

SRM_ORM_Transformation_3D_Parameters

SRM_PD_3D_Coordinate

SRM_PD_Surface_Coordinate

SRM_PS_Parameters

SRM_SRF_Parameters_Info

SRM_SRF_Reference_Surface_Info

SRM_SRFS_Code_Info

SRM_SRFS_Info

SRM_SRFT_Parameters

SRM_TM_Parameters

SRM_Unused

5.2.5

Insert the following row as the first row of the definition of SRM_CS_Code:

#define SRM_CSCOD_UNSPECIFIED

((SRM_CS_Code)(0))

Replace the definition of SRM_CS_Code 2 with the following:

#define SRM_CSCOD_LOCOCENT_EUCLIDEAN_3D

((SRM_CS_Code)(2))

Replace the definition of SRM_CS_Code 3 with the following:

#define SRM_CSCOD_EQUATORIAL_SPHERICAL

((SRM_CS_Code)(3))

Replace the definition of SRM_CS_Code 4 with the following:

#define SRM_CSCOD_LOCOCENT_EQUATORIAL_SPHERICAL

((SRM_CS_Code)(4))

Replace the definition of SRM_CS_Code 6 with the following:

#define SRM_CSCOD_LOCOCENT_AZIMUTHAL_SPHERICAL

((SRM_CS_Code)(6))

Replace the definition of SRM_CS_Code 23 with the following:

#define SRM_CSCOD_LOCOCENT_EUCLIDEAN_2D

((SRM_CS_Code)(23))

Replace the definition of SRM_CS_Code 25 with the following:

#define SRM_CSCOD_LOCOCENT_AZIMUTHAL

((SRM_CS_Code)(25))

Insert the following row as the first row of the definition of SRM_OBRS_Code:

#define SRM_OBRSCOD_UNSPECIFIED

((SRM_OBRS_Code)(0))

Replace the definitions of SRM_OBRS_Code 5 and SRM_OBRS_Code 6 with the following:

#define SRM_OBRSCOD_HELIOCENT_PLANET_ECLIPTIC

((SRM_OBRS_Code)(5))

#define SRM_OBRSCOD_HELIOCENT_PLANET_EQUATORIAL

((SRM_OBRS_Code)(6))

Insert the following row as the first row of the definition of SRM_ORM_Code:

#define SRM_ORMCOD_UNSPECIFIED

((SRM_ORM_Code)(0))

Replace the definition of SRM_ORM_Code 53 with the following:

#define SRM_ORMCOD_EARTH_INERT_ARIES_1950

((SRM_ORM_Code)(53))

Replace the definition of SRM_ORM_Code 54 with the following:

#define SRM_ORMCOD_EARTH_INERT_ARIES_TRUE_OF_DATE

((SRM_ORM_Code)(54))

Replace the definition of SRM_ORM_Code 94 with the following:

#define SRM_ORMCOD_HELIO_ARIES_ECLIPT_J2000r0

((SRM_ORM_Code)(94))

Replace the definition of SRM_ORM_Code 95 with the following:

#define SRM_ORMCOD_HELIO_ARIES_ECLIPT_TRUE_OF_DATE

((SRM_ORM_Code)(95))

Replace the definition of SRM_ORM_Code 154 with the following:

#define SRM_ORMCOD_MODTRAN_MIDLAT_N_1989

((SRM_ORM_Code)(154))

Replace the definition of SRM_ORM_Code 155 with the following:

#define SRM_ORMCOD_MODTRAN_MIDLAT_S_1989

((SRM_ORM_Code)(155))

Insert the following row as the first row of the definition of SRM_ORMT_Code:

#define SRM_ORMTCOD_UNSPECIFIED

((SRM_ORMT_Code)(0))

Insert the following row as the first row of the definition of SRM_RD_Code:

#define SRM_RDCOD_UNSPECIFIED

((SRM_RD_Code)(0))

Replace the definition of SRM_RT_Code 15 with the following:

#define SRM_RTCOD_AMERICAN_SAMOA_1962_AMERICAN_SAMOA_ISLANDS

((SRM_RT_Code)(15))

Replace the definition of SRM_RT_Code 34 with the following:

#define SRM_RTCOD_AUSTRALIA_GEOD_1984_3_AUSTRALIA_TASMANIA

((SRM_RT_Code)(34))

Replace the definition of SRM_RT_Code 35 with the following:

#define SRM_RTCOD_AUSTRALIA_GEOD_1984_7_AUSTRALIA_TASMANIA

((SRM_RT_Code)(35))

Replace the definition of SRM_RT_Code 102 with the following:

#define SRM_RTCOD_GDA_1994_IDENTITY_BY_DEFAULT

((SRM_RT_Code)(102))

Replace the definition of SRM_RT_Code 115 with the following:

#define SRM_RTCOD_GEOMAGNETIC_1995_IGRF

((SRM_RT_Code)(115))

Replace the definition of SRM_RT_Code 116 with the following:

#define SRM_RTCOD_GEOMAGNETIC_2000_IGRF

((SRM_RT_Code)(116))

Replace the definition of SRM_RT_Code 133 with the following:

#define SRM_RTCOD_INDIAN_1960_CON_SON_ISLAND

((SRM_RT_Code)(133))

Replace the definition of SRM_RT_Code 145 with the following:

#define SRM_RTCOD_JGD_2000_IDENTITY_BY_DEFAULT

((SRM_RT_Code)(145))

Replace the definition of SRM_RT_Code 146 with the following:

#define SRM_RTCOD_JOHNSTON_1961_JOHNSTON_ISLAND

((SRM_RT_Code)(146))

Replace the definition of SRM_RT_Code 226 with the following:

#define SRM_RTCOD_OLD_HAWAII_C_1987_HAWAII

((SRM_RT_Code)(226))

Replace the definition of SRM_RT_Code 227 with the following:

#define SRM_RTCOD_OLD_HAWAII_C_1987_KAUAI

((SRM_RT_Code)(227))

Replace the definition of SRM_RT_Code 228 with the following:

#define SRM_RTCOD_OLD_HAWAII_C_1987_MAUI

((SRM_RT_Code)(228))

Replace the definition of SRM_RT_Code 229 with the following:

#define SRM_RTCOD_OLD_HAWAII_C_1987_MEAN_SOLUTION

((SRM_RT_Code)(229))

Replace the definition of SRM_RT_Code 230 with the following:

#define SRM_RTCOD_OLD_HAWAII_C_1987_OAHU

((SRM_RT_Code)(230))

Replace the definition of SRM_RT_Code 231 with the following:

#define SRM_RTCOD_OLD_HAWAII_I_1987_HAWAII

((SRM_RT_Code)(231))

Replace the definition of SRM_RT_Code 232 with the following:

#define SRM_RTCOD_OLD_HAWAII_I_1987_KAUAI

((SRM_RT_Code)(232))

Replace the definition of SRM_RT_Code 233 with the following:

#define SRM_RTCOD_OLD_HAWAII_I_1987_MAUI

((SRM_RT_Code)(233))

Replace the definition of SRM_RT_Code 234 with the following:

#define SRM_RTCOD_OLD_HAWAII_I_1987_MEAN_SOLUTION

((SRM_RT_Code)(234))

Replace the definition of SRM_RT_Code 235 with the following:

#define SRM_RTCOD_OLD_HAWAII_I_1987_OAHU

((SRM_RT_Code)(235))

Replace the definition of SRM_RT_Code 266 with the following:

#define SRM_RTCOD_PROV_S_CHILEAN_1963_SOUTH_CHILE

((SRM_RT_Code)(266))

Replace the definition of SRM_RT_Code 273 with the following:

#define SRM_RTCOD_RGF_1993_IDENTITY_BY_MEASUREMENT

((SRM_RT_Code)(273))

Replace the definition of SRM_RT_Code 293 with the following:

#define SRM_RTCOD_S_JTSK_1993_CZECH_SLOVAKIA

((SRM_RT_Code)(293))

Replace the definition of SRM_RT_Code 309 with the following:

#define SRM_RTCOD_SIRGAS_2000_IDENTITY_BY_DEFAULT

((SRM_RT_Code)(309))

Replace the definition of SRM_RT_Code 318 with the following:

#define SRM_RTCOD_TIMBALAI_EVRST_1948_3_BRUNEI_E_MALAYSIA

((SRM_RT_Code)(318))

Replace the definition of SRM_RT_Code 319 with the following:

#define SRM_RTCOD_TIMBALAI_EVRST_1948_7_BRUNEI_E_MALAYSIA

((SRM_RT_Code)(319))

Replace the definition of SRM_RT_Code 325 with the following:

#define SRM_RTCOD_TOKYO_1991_1991_SOUTH_KOREA

((SRM_RT_Code)(325))

Replace the definition of SRM_RT_Code 326 with the following:

#define SRM_RTCOD_TOKYO_1991_1997_SOUTH_KOREA

((SRM_RT_Code)(326))

Replace the definition of SRM_RT_Code 335 with the following:

#define SRM_RTCOD_VOIROL_1874_PM_PARIS_ALGERIA

((SRM_RT_Code)(335))

Insert the following row as the first row of the definition of SRM_Spatial_Coordinate_Code:

#define SRM_SPACOORDCOD_UNSPECIFIED

((SRM_Spatial_Coordinate_Code)(0))

In the HTML for SRM_Spatial_Coordinate_Code 13, replace the row tag "<tr>" with "<tr class=CField>".

Insert before SRM_SRFT_Code 1 the following definition:

#define SRM_SRFTCOD_UNSPECIFIED

((SRM_SRFT_Code)(0))

Replace the definition of SRM_SRFT_Code 2 with the following:

#define SRM_SRFTCOD_LOCAL_SPACE_RECT_3D

((SRM_SRFT_Code)(2))

Replace the definition of SRM_SRFT_Code 5 with the following:

#define SRM_SRFTCOD_LOCAL_TANGENT_SPC_EUCLIDEAN

((SRM_SRFT_Code)(5))

Replace the definition of SRM_SRFT_Code 6 with the following:

#define SRM_SRFTCOD_LOCAL_TANGENT_SPC_AZIMUTHAL_SPHERICAL

((SRM_SRFT_Code)(6))

Replace the definition of SRM_SRFT_Code 7 with the following:

#define SRM_SRFTCOD_LOCAL_TANGENT_SPC_CYLINDRICAL

((SRM_SRFT_Code)(7))

Replace the definition of SRM_SRFT_Code 15 with the following:

#define SRM_SRFTCOD_HELIOSPHER_ARIES_ECLIPTIC

((SRM_SRFT_Code)(15))

Replace the definition of SRM_SRFT_Code 16 with the following:

#define SRM_SRFTCOD_HELIOSPHER_EARTH_ECLIPTIC

((SRM_SRFT_Code)(16))

Replace the definition of SRM_SRFT_Code 17 with the following:

#define SRM_SRFTCOD_HELIOSPHER_EARTH_EQUATORIAL

((SRM_SRFT_Code)(17))

Replace the definition of SRM_SRFT_Code 24 with the following:

#define SRM_SRFTCOD_LOCAL_SPACE_RECT_2D

((SRM_SRFT_Code)(24))

5.2.6

Replace the first sentence of the first paragraph with the following text:

"SRM fixed length array data types are mapped to C struct data types in which the sole field in the struct data type is the array field specifying the appropriate fixed length C array."

Replace the SRM Vector_3D data type definition with the following three definitions:

SRM_Matrix_3x3

SRM Data Type:  Matrix_3x3

typedef struct {

SRM_Long_Float

array[3][3];

} SRM_Matrix_3x3;

SRM_Matrix_4x4

SRM Data Type:  Matrix_4x4

typedef struct {

SRM_Long_Float

array[4][4];

} SRM_Matrix_4x4;

SRM_Vector_3D

SRM Data Type:  Vector_3D

typedef struct {

SRM_Long_Float

array[3];

} SRM_Vector_3D;

5.2.7

Replace the definition of SRM_Coordinate with the following definition:

"SRM_Coordinate

Abstract data type: Coordinate

typedef struct {

SRM_Spatial_Coordinate_Code    spatial_coord_code;

union _SRM_Coordinate_Union {

SRM_Unused

unspecified;

SRM_Euclidean_3D_Coordinate

cc_3d;

SRM_CD_3D_Coordinate

cd_3d;

SRM_CD_Surface_Coordinate

cd_surface;

SRM_Equatorial_Spherical_3D_Coordinate

cm_3d;

SRM_Map_Projection_3D_Coordinate

ec_aug_3d;

SRM_Map_Projection_Surface_Coordinate

ec_surface;

SRM_EI_3D_Coordinate

ei_3d;

SRM_Equatorial_Spherical_3D_Coordinate

haec_3d;

SRM_Equatorial_Spherical_3D_Coordinate

heec_3d;

SRM_Equatorial_Spherical_3D_Coordinate

heeq_3d;

SRM_Map_Projection_3D_Coordinate

lcc_aug_3d;

SRM_Map_Projection_Surface_Coordinate

lcc_surface;

SRM_Euclidean_3D_Coordinate

lce_3d;

SRM_LSA_2D_Coordinate

lsa_2d;

SRM_LSP_2D_Coordinate

lsp_2d;

SRM_Euclidean_2D_Coordinate

lsr_2d;

SRM_Euclidean_3D_Coordinate

lsr_3d;

SRM_LTSAS_3D_Coordinate

ltsas_3d;

SRM_LTSAS_Surface_Coordinate

ltsas_surface;

SRM_LTSC_3D_Coordinate

ltsc_3d;

SRM_LTSC_Surface_Coordinate

ltsc_surface;

SRM_LTSE_3D_Coordinate

ltse_3d;

SRM_LTSE_Surface_Coordinate

ltse_surface;

SRM_Map_Projection_3D_Coordinate

m_aug_3d;

SRM_Map_Projection_Surface_Coordinate

m_surface;

SRM_Map_Projection_3D_Coordinate

oms_aug_3d;

SRM_Map_Projection_Surface_Coordinate

oms_surface;

SRM_PD_3D_Coordinate

pd_3d;

SRM_PD_Surface_Coordinate

pd_surface;

SRM_Map_Projection_3D_Coordinate

ps_aug_3d;

SRM_Map_Projection_Surface_Coordinate

ps_surface;

SRM_Equatorial_Spherical_3D_Coordinate

sec_3d;

SRM_Equatorial_Spherical_3D_Coordinate

seq_3d;

SRM_Euclidean_3D_Coordinate

smd_3d;

SRM_Euclidean_3D_Coordinate

sme_3d;

SRM_Map_Projection_3D_Coordinate

tm_aug_3d;

SRM_Map_Projection_Surface_Coordinate

tm_surface;

} value;

} SRM_Coordinate;"

Insert the following definition after the definition for SRM_EI_3D_Coordinate:

SRM_Equatorial_Spherical_3D_Coordinate

SRM Data Type:  Equatorial_Spherical_3D_Coordinate

typedef struct {

SRM_Long_Float

longitude;

SRM_Long_Float

latitude;

SRM_Long_Float

radius;

} SRM_Equatorial_Spherical_3D_Coordinate;

Replace the definition of SRM_LSP_2D_Coordinate with the following definition:

SRM_LSP_2D_Coordinate

SRM Data Type:  LSP_2D_Coordinate

typedef struct {

SRM_Long_Float

radius;

SRM_Long_Float

angle;

} SRM_LSP_2D_Coordinate;

After the definition for SRM_ORM_Transformation_3D_Parameters, insert the following two definitions:

SRM_PD_3D_Coordinate

SRM Data Type:  PD_3D_Coordinate

typedef struct {

SRM_Long_Float

latitude;

SRM_Long_Float

longitude;

SRM_Long_Float

ellipsoidal_height;

} SRM_PD_3D_Coordinate;

SRM_PD_Surface_Coordinate

SRM Data Type:  PD_Surface_Coordinate

typedef struct {

SRM_Long_Float

latitude;

SRM_Long_Float

longitude;

} SRM_PD_Surface_Coordinate;

Remove the definition SRM_Spherical_3D_Coordinate.