/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.25
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


using System;
using System.Runtime.InteropServices;

class osrPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [DllImport("osr", EntryPoint="SWIGRegisterExceptionCallbacks_osr")]
    public static extern void SWIGRegisterExceptionCallbacks_osr(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [DllImport("osr", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_osr")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_osr(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new System.ApplicationException(message));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new System.ArithmeticException(message));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new System.DivideByZeroException(message));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new System.IndexOutOfRangeException(message));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new System.InvalidOperationException(message));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new System.IO.IOException(message));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new System.NullReferenceException(message));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new System.OutOfMemoryException(message));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new System.OverflowException(message));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new System.SystemException(message));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentException(message, paramName));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_osr(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_osr(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [ThreadStatic]
    private static Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(Exception e) {
      if (pendingException != null)
        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(osrPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static Exception Retrieve() {
      Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(osrPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [DllImport("osr", EntryPoint="SWIGRegisterStringCallback_osr")]
    public static extern void SWIGRegisterStringCallback_osr(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_osr(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_ALBERS_CONIC_EQUAL_AREA")]
  public static extern string get_SRS_PT_ALBERS_CONIC_EQUAL_AREA();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_AZIMUTHAL_EQUIDISTANT")]
  public static extern string get_SRS_PT_AZIMUTHAL_EQUIDISTANT();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_CASSINI_SOLDNER")]
  public static extern string get_SRS_PT_CASSINI_SOLDNER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_CYLINDRICAL_EQUAL_AREA")]
  public static extern string get_SRS_PT_CYLINDRICAL_EQUAL_AREA();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_ECKERT_IV")]
  public static extern string get_SRS_PT_ECKERT_IV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_ECKERT_VI")]
  public static extern string get_SRS_PT_ECKERT_VI();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_EQUIDISTANT_CONIC")]
  public static extern string get_SRS_PT_EQUIDISTANT_CONIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_EQUIRECTANGULAR")]
  public static extern string get_SRS_PT_EQUIRECTANGULAR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_GALL_STEREOGRAPHIC")]
  public static extern string get_SRS_PT_GALL_STEREOGRAPHIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_GNOMONIC")]
  public static extern string get_SRS_PT_GNOMONIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_GOODE_HOMOLOSINE")]
  public static extern string get_SRS_PT_GOODE_HOMOLOSINE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_HOTINE_OBLIQUE_MERCATOR")]
  public static extern string get_SRS_PT_HOTINE_OBLIQUE_MERCATOR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN")]
  public static extern string get_SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_LABORDE_OBLIQUE_MERCATOR")]
  public static extern string get_SRS_PT_LABORDE_OBLIQUE_MERCATOR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP")]
  public static extern string get_SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP")]
  public static extern string get_SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM")]
  public static extern string get_SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA")]
  public static extern string get_SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_MERCATOR_1SP")]
  public static extern string get_SRS_PT_MERCATOR_1SP();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_MERCATOR_2SP")]
  public static extern string get_SRS_PT_MERCATOR_2SP();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_MILLER_CYLINDRICAL")]
  public static extern string get_SRS_PT_MILLER_CYLINDRICAL();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_MOLLWEIDE")]
  public static extern string get_SRS_PT_MOLLWEIDE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_NEW_ZEALAND_MAP_GRID")]
  public static extern string get_SRS_PT_NEW_ZEALAND_MAP_GRID();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_OBLIQUE_STEREOGRAPHIC")]
  public static extern string get_SRS_PT_OBLIQUE_STEREOGRAPHIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_ORTHOGRAPHIC")]
  public static extern string get_SRS_PT_ORTHOGRAPHIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_POLAR_STEREOGRAPHIC")]
  public static extern string get_SRS_PT_POLAR_STEREOGRAPHIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_POLYCONIC")]
  public static extern string get_SRS_PT_POLYCONIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_ROBINSON")]
  public static extern string get_SRS_PT_ROBINSON();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_SINUSOIDAL")]
  public static extern string get_SRS_PT_SINUSOIDAL();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_STEREOGRAPHIC")]
  public static extern string get_SRS_PT_STEREOGRAPHIC();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_SWISS_OBLIQUE_CYLINDRICAL")]
  public static extern string get_SRS_PT_SWISS_OBLIQUE_CYLINDRICAL();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR_MI_22")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR_MI_22();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR_MI_23")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR_MI_23();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR_MI_24")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR_MI_24();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TRANSVERSE_MERCATOR_MI_25")]
  public static extern string get_SRS_PT_TRANSVERSE_MERCATOR_MI_25();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_TUNISIA_MINING_GRID")]
  public static extern string get_SRS_PT_TUNISIA_MINING_GRID();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_VANDERGRINTEN")]
  public static extern string get_SRS_PT_VANDERGRINTEN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PT_KROVAK")]
  public static extern string get_SRS_PT_KROVAK();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_CENTRAL_MERIDIAN")]
  public static extern string get_SRS_PP_CENTRAL_MERIDIAN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_SCALE_FACTOR")]
  public static extern string get_SRS_PP_SCALE_FACTOR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_STANDARD_PARALLEL_1")]
  public static extern string get_SRS_PP_STANDARD_PARALLEL_1();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_STANDARD_PARALLEL_2")]
  public static extern string get_SRS_PP_STANDARD_PARALLEL_2();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_PSEUDO_STD_PARALLEL_1")]
  public static extern string get_SRS_PP_PSEUDO_STD_PARALLEL_1();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LONGITUDE_OF_CENTER")]
  public static extern string get_SRS_PP_LONGITUDE_OF_CENTER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LATITUDE_OF_CENTER")]
  public static extern string get_SRS_PP_LATITUDE_OF_CENTER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LONGITUDE_OF_ORIGIN")]
  public static extern string get_SRS_PP_LONGITUDE_OF_ORIGIN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LATITUDE_OF_ORIGIN")]
  public static extern string get_SRS_PP_LATITUDE_OF_ORIGIN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_FALSE_EASTING")]
  public static extern string get_SRS_PP_FALSE_EASTING();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_FALSE_NORTHING")]
  public static extern string get_SRS_PP_FALSE_NORTHING();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_AZIMUTH")]
  public static extern string get_SRS_PP_AZIMUTH();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LONGITUDE_OF_POINT_1")]
  public static extern string get_SRS_PP_LONGITUDE_OF_POINT_1();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LATITUDE_OF_POINT_1")]
  public static extern string get_SRS_PP_LATITUDE_OF_POINT_1();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LONGITUDE_OF_POINT_2")]
  public static extern string get_SRS_PP_LONGITUDE_OF_POINT_2();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LATITUDE_OF_POINT_2")]
  public static extern string get_SRS_PP_LATITUDE_OF_POINT_2();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LONGITUDE_OF_POINT_3")]
  public static extern string get_SRS_PP_LONGITUDE_OF_POINT_3();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LATITUDE_OF_POINT_3")]
  public static extern string get_SRS_PP_LATITUDE_OF_POINT_3();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_RECTIFIED_GRID_ANGLE")]
  public static extern string get_SRS_PP_RECTIFIED_GRID_ANGLE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_LANDSAT_NUMBER")]
  public static extern string get_SRS_PP_LANDSAT_NUMBER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_PATH_NUMBER")]
  public static extern string get_SRS_PP_PATH_NUMBER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_PERSPECTIVE_POINT_HEIGHT")]
  public static extern string get_SRS_PP_PERSPECTIVE_POINT_HEIGHT();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_FIPSZONE")]
  public static extern string get_SRS_PP_FIPSZONE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_PP_ZONE")]
  public static extern string get_SRS_PP_ZONE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_METER")]
  public static extern string get_SRS_UL_METER();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_FOOT")]
  public static extern string get_SRS_UL_FOOT();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_FOOT_CONV")]
  public static extern string get_SRS_UL_FOOT_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_US_FOOT")]
  public static extern string get_SRS_UL_US_FOOT();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_US_FOOT_CONV")]
  public static extern string get_SRS_UL_US_FOOT_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_NAUTICAL_MILE")]
  public static extern string get_SRS_UL_NAUTICAL_MILE();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_NAUTICAL_MILE_CONV")]
  public static extern string get_SRS_UL_NAUTICAL_MILE_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_LINK")]
  public static extern string get_SRS_UL_LINK();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_LINK_CONV")]
  public static extern string get_SRS_UL_LINK_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_CHAIN")]
  public static extern string get_SRS_UL_CHAIN();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_CHAIN_CONV")]
  public static extern string get_SRS_UL_CHAIN_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_ROD")]
  public static extern string get_SRS_UL_ROD();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_UL_ROD_CONV")]
  public static extern string get_SRS_UL_ROD_CONV();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_DN_NAD27")]
  public static extern string get_SRS_DN_NAD27();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_DN_NAD83")]
  public static extern string get_SRS_DN_NAD83();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_DN_WGS72")]
  public static extern string get_SRS_DN_WGS72();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_DN_WGS84")]
  public static extern string get_SRS_DN_WGS84();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_WGS84_SEMIMAJOR")]
  public static extern double get_SRS_WGS84_SEMIMAJOR();

  [DllImport("osr", EntryPoint="CSharp_get_SRS_WGS84_INVFLATTENING")]
  public static extern double get_SRS_WGS84_INVFLATTENING();

  [DllImport("osr", EntryPoint="CSharp_GetWellKnownGeogCSAsWKT")]
  public static extern int GetWellKnownGeogCSAsWKT(string jarg1);

  [DllImport("osr", EntryPoint="CSharp_GetProjectionMethods")]
  public static extern IntPtr GetProjectionMethods();

  [DllImport("osr", EntryPoint="CSharp_GetProjectionMethodParameterList")]
  public static extern IntPtr GetProjectionMethodParameterList(string jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_GetProjectionMethodParamInfo")]
  public static extern void GetProjectionMethodParamInfo(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("osr", EntryPoint="CSharp_new_SpatialReference")]
  public static extern IntPtr new_SpatialReference(string jarg1);

  [DllImport("osr", EntryPoint="CSharp_delete_SpatialReference")]
  public static extern void delete_SpatialReference(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference___str__")]
  public static extern string SpatialReference___str__(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_IsSame")]
  public static extern int SpatialReference_IsSame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_IsSameGeogCS")]
  public static extern int SpatialReference_IsSameGeogCS(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_IsGeographic")]
  public static extern int SpatialReference_IsGeographic(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_IsProjected")]
  public static extern int SpatialReference_IsProjected(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetAttrValue")]
  public static extern string SpatialReference_GetAttrValue(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetAttrValue")]
  public static extern int SpatialReference_SetAttrValue(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetAngularUnits")]
  public static extern int SpatialReference_SetAngularUnits(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetAngularUnits")]
  public static extern double SpatialReference_GetAngularUnits(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetLinearUnits")]
  public static extern int SpatialReference_SetLinearUnits(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetLinearUnits")]
  public static extern double SpatialReference_GetLinearUnits(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetLinearUnitsName")]
  public static extern string SpatialReference_GetLinearUnitsName(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetAuthorityCode")]
  public static extern string SpatialReference_GetAuthorityCode(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetAuthorityName")]
  public static extern string SpatialReference_GetAuthorityName(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetUTM")]
  public static extern int SpatialReference_SetUTM(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetStatePlane")]
  public static extern int SpatialReference_SetStatePlane(HandleRef jarg1, int jarg2, int jarg3, string jarg4, double jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_AutoIdentifyEPSG")]
  public static extern int SpatialReference_AutoIdentifyEPSG(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetProjection")]
  public static extern int SpatialReference_SetProjection(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetProjParm")]
  public static extern int SpatialReference_SetProjParm(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetProjParm")]
  public static extern double SpatialReference_GetProjParm(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetNormProjParm")]
  public static extern int SpatialReference_SetNormProjParm(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetNormProjParm")]
  public static extern double SpatialReference_GetNormProjParm(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetACEA")]
  public static extern int SpatialReference_SetACEA(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetAE")]
  public static extern int SpatialReference_SetAE(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetCS")]
  public static extern int SpatialReference_SetCS(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetBonne")]
  public static extern int SpatialReference_SetBonne(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetEC")]
  public static extern int SpatialReference_SetEC(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetEckertIV")]
  public static extern int SpatialReference_SetEckertIV(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetEckertVI")]
  public static extern int SpatialReference_SetEckertVI(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetEquirectangular")]
  public static extern int SpatialReference_SetEquirectangular(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetGS")]
  public static extern int SpatialReference_SetGS(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetWellKnownGeogCS")]
  public static extern int SpatialReference_SetWellKnownGeogCS(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetFromUserInput")]
  public static extern int SpatialReference_SetFromUserInput(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_CopyGeogCSFrom")]
  public static extern int SpatialReference_CopyGeogCSFrom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetTOWGS84")]
  public static extern int SpatialReference_SetTOWGS84(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7, double jarg8);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_GetTOWGS84")]
  public static extern int SpatialReference_GetTOWGS84(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetGeogCS")]
  public static extern int SpatialReference_SetGeogCS(HandleRef jarg1, string jarg2, string jarg3, string jarg4, double jarg5, double jarg6, string jarg7, double jarg8, string jarg9, double jarg10);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_SetProjCS")]
  public static extern int SpatialReference_SetProjCS(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromWkt")]
  public static extern int SpatialReference_ImportFromWkt(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromProj4")]
  public static extern int SpatialReference_ImportFromProj4(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromESRI")]
  public static extern int SpatialReference_ImportFromESRI(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromEPSG")]
  public static extern int SpatialReference_ImportFromEPSG(HandleRef jarg1, int jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromPCI")]
  public static extern int SpatialReference_ImportFromPCI(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromUSGS")]
  public static extern int SpatialReference_ImportFromUSGS(HandleRef jarg1, int jarg2, int jarg3, HandleRef jarg4, int jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ImportFromXML")]
  public static extern int SpatialReference_ImportFromXML(HandleRef jarg1, string jarg2);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToWkt")]
  public static extern int SpatialReference_ExportToWkt(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToPrettyWkt")]
  public static extern int SpatialReference_ExportToPrettyWkt(HandleRef jarg1, int jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToProj4")]
  public static extern int SpatialReference_ExportToProj4(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToPCI")]
  public static extern int SpatialReference_ExportToPCI(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToUSGS")]
  public static extern int SpatialReference_ExportToUSGS(HandleRef jarg1, out int jarg2, out int jarg3, out int jarg5);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_ExportToXML")]
  public static extern int SpatialReference_ExportToXML(HandleRef jarg1, string jarg3);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_CloneGeogCS")]
  public static extern IntPtr SpatialReference_CloneGeogCS(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_Validate")]
  public static extern int SpatialReference_Validate(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_StripCTParms")]
  public static extern int SpatialReference_StripCTParms(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_FixupOrdering")]
  public static extern int SpatialReference_FixupOrdering(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_Fixup")]
  public static extern int SpatialReference_Fixup(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_MorphToESRI")]
  public static extern int SpatialReference_MorphToESRI(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_SpatialReference_MorphFromESRI")]
  public static extern int SpatialReference_MorphFromESRI(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_new_CoordinateTransformation")]
  public static extern IntPtr new_CoordinateTransformation(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_delete_CoordinateTransformation")]
  public static extern void delete_CoordinateTransformation(HandleRef jarg1);

  [DllImport("osr", EntryPoint="CSharp_CoordinateTransformation_TransformPoint__SWIG_0")]
  public static extern void CoordinateTransformation_TransformPoint__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("osr", EntryPoint="CSharp_CoordinateTransformation_TransformPoint__SWIG_1")]
  public static extern void CoordinateTransformation_TransformPoint__SWIG_1(HandleRef jarg1, double jarg3, double jarg4, double jarg5);
}
