\hypertarget{proj_8h_source}{}\doxysection{proj.\+h}
\label{proj_8h_source}\index{src/proj.h@{src/proj.h}}
\mbox{\hyperlink{proj_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/******************************************************************************}}
\DoxyCodeLine{2 \textcolor{comment}{ * Project:  PROJ.4}}
\DoxyCodeLine{3 \textcolor{comment}{ * Purpose:  Revised, experimental API for PROJ.4, intended as the foundation}}
\DoxyCodeLine{4 \textcolor{comment}{ *           for added geodetic functionality.}}
\DoxyCodeLine{5 \textcolor{comment}{ *}}
\DoxyCodeLine{6 \textcolor{comment}{ *           The original proj API (defined previously in projects.h) has grown}}
\DoxyCodeLine{7 \textcolor{comment}{ *           organically over the years, but it has also grown somewhat messy.}}
\DoxyCodeLine{8 \textcolor{comment}{ *}}
\DoxyCodeLine{9 \textcolor{comment}{ *           The same has happened with the newer high level API (defined in}}
\DoxyCodeLine{10 \textcolor{comment}{ *           proj\_api.h): To support various historical objectives, proj\_api.h}}
\DoxyCodeLine{11 \textcolor{comment}{ *           contains a rather complex combination of conditional defines and}}
\DoxyCodeLine{12 \textcolor{comment}{ *           typedefs. Probably for good (historical) reasons, which are not}}
\DoxyCodeLine{13 \textcolor{comment}{ *           always evident from today's perspective.}}
\DoxyCodeLine{14 \textcolor{comment}{ *}}
\DoxyCodeLine{15 \textcolor{comment}{ *           This is an evolving attempt at creating a re-\/rationalized API}}
\DoxyCodeLine{16 \textcolor{comment}{ *           with primary design goals focused on sanitizing the namespaces.}}
\DoxyCodeLine{17 \textcolor{comment}{ *           Hence, all symbols exposed are being moved to the proj\_ namespace,}}
\DoxyCodeLine{18 \textcolor{comment}{ *           while all data types are being moved to the PJ\_ namespace.}}
\DoxyCodeLine{19 \textcolor{comment}{ *}}
\DoxyCodeLine{20 \textcolor{comment}{ *           Please note that this API is *orthogonal* to  the previous APIs:}}
\DoxyCodeLine{21 \textcolor{comment}{ *           Apart from some inclusion guards, projects.h and proj\_api.h are not}}
\DoxyCodeLine{22 \textcolor{comment}{ *           touched -\/ if you do not include proj.h, the projects and proj\_api}}
\DoxyCodeLine{23 \textcolor{comment}{ *           APIs should work as they always have.}}
\DoxyCodeLine{24 \textcolor{comment}{ *}}
\DoxyCodeLine{25 \textcolor{comment}{ *           A few implementation details:}}
\DoxyCodeLine{26 \textcolor{comment}{ *}}
\DoxyCodeLine{27 \textcolor{comment}{ *           Apart from the namespacing efforts, I'm trying to eliminate three}}
\DoxyCodeLine{28 \textcolor{comment}{ *           proj\_api elements, which I have found especially confusing.}}
\DoxyCodeLine{29 \textcolor{comment}{ *}}
\DoxyCodeLine{30 \textcolor{comment}{ *           FIRST and foremost, I try to avoid typedef'ing away pointer}}
\DoxyCodeLine{31 \textcolor{comment}{ *           semantics. I agree that it can be occasionally useful, but I}}
\DoxyCodeLine{32 \textcolor{comment}{ *           prefer having the pointer nature of function arguments being}}
\DoxyCodeLine{33 \textcolor{comment}{ *           explicitly visible.}}
\DoxyCodeLine{34 \textcolor{comment}{ *}}
\DoxyCodeLine{35 \textcolor{comment}{ *           Hence, projCtx has been replaced by PJ\_CONTEXT *.}}
\DoxyCodeLine{36 \textcolor{comment}{ *           and    projPJ  has been replaced by PJ *}}
\DoxyCodeLine{37 \textcolor{comment}{ *}}
\DoxyCodeLine{38 \textcolor{comment}{ *           SECOND, I try to eliminate cases of information hiding implemented}}
\DoxyCodeLine{39 \textcolor{comment}{ *           by redefining data types to void pointers.}}
\DoxyCodeLine{40 \textcolor{comment}{ *}}
\DoxyCodeLine{41 \textcolor{comment}{ *           I prefer using a combination of forward declarations and typedefs.}}
\DoxyCodeLine{42 \textcolor{comment}{ *           Hence:}}
\DoxyCodeLine{43 \textcolor{comment}{ *               typedef void *projCtx;}}
\DoxyCodeLine{44 \textcolor{comment}{ *           Has been replaced by:}}
\DoxyCodeLine{45 \textcolor{comment}{ *               struct projCtx\_t;}}
\DoxyCodeLine{46 \textcolor{comment}{ *               typedef struct projCtx\_t PJ\_CONTEXT;}}
\DoxyCodeLine{47 \textcolor{comment}{ *           This makes it possible for the calling program to know that the}}
\DoxyCodeLine{48 \textcolor{comment}{ *           PJ\_CONTEXT data type exists, and handle pointers to that data type}}
\DoxyCodeLine{49 \textcolor{comment}{ *           without having any idea about its internals.}}
\DoxyCodeLine{50 \textcolor{comment}{ *}}
\DoxyCodeLine{51 \textcolor{comment}{ *           (obviously, in this example, struct projCtx\_t should also be}}
\DoxyCodeLine{52 \textcolor{comment}{ *           renamed struct pj\_ctx some day, but for backwards compatibility}}
\DoxyCodeLine{53 \textcolor{comment}{ *           it remains as-\/is for now).}}
\DoxyCodeLine{54 \textcolor{comment}{ *}}
\DoxyCodeLine{55 \textcolor{comment}{ *           THIRD, I try to eliminate implicit type punning. Hence this API}}
\DoxyCodeLine{56 \textcolor{comment}{ *           introduces the PJ\_COORD union data type, for generic 4D coordinate}}
\DoxyCodeLine{57 \textcolor{comment}{ *           handling.}}
\DoxyCodeLine{58 \textcolor{comment}{ *}}
\DoxyCodeLine{59 \textcolor{comment}{ *           PJ\_COORD makes it possible to make explicit the previously used}}
\DoxyCodeLine{60 \textcolor{comment}{ *           "{}implicit type punning"{}, where a XY is turned into a LP by}}
\DoxyCodeLine{61 \textcolor{comment}{ *           re\#defining both as UV, behind the back of the user.}}
\DoxyCodeLine{62 \textcolor{comment}{ *}}
\DoxyCodeLine{63 \textcolor{comment}{ *           The PJ\_COORD union is used for storing 1D, 2D, 3D and 4D coordinates.}}
\DoxyCodeLine{64 \textcolor{comment}{ *}}
\DoxyCodeLine{65 \textcolor{comment}{ *           The bare essentials API presented here follows the PROJ.4}}
\DoxyCodeLine{66 \textcolor{comment}{ *           convention of sailing the coordinate to be reprojected, up on}}
\DoxyCodeLine{67 \textcolor{comment}{ *           the stack ("{}call by value"{}), and symmetrically returning the}}
\DoxyCodeLine{68 \textcolor{comment}{ *           result on the stack. Although the PJ\_COORD object is twice as large}}
\DoxyCodeLine{69 \textcolor{comment}{ *           as the traditional XY and LP objects, timing results have shown the}}
\DoxyCodeLine{70 \textcolor{comment}{ *           overhead to be very reasonable.}}
\DoxyCodeLine{71 \textcolor{comment}{ *}}
\DoxyCodeLine{72 \textcolor{comment}{ *           Contexts and thread safety}}
\DoxyCodeLine{73 \textcolor{comment}{ *           -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{74 \textcolor{comment}{ *}}
\DoxyCodeLine{75 \textcolor{comment}{ *           After a year of experiments (and previous experience from the}}
\DoxyCodeLine{76 \textcolor{comment}{ *           trlib transformation library) it has become clear that the}}
\DoxyCodeLine{77 \textcolor{comment}{ *           context subsystem is unavoidable in a multi-\/threaded world.}}
\DoxyCodeLine{78 \textcolor{comment}{ *           Hence, instead of hiding it away, we move it into the limelight,}}
\DoxyCodeLine{79 \textcolor{comment}{ *           highly recommending (but not formally requiring) the bracketing}}
\DoxyCodeLine{80 \textcolor{comment}{ *           of any code block calling PROJ.4 functions with calls to}}
\DoxyCodeLine{81 \textcolor{comment}{ *           proj\_context\_create(...)/proj\_context\_destroy()}}
\DoxyCodeLine{82 \textcolor{comment}{ *}}
\DoxyCodeLine{83 \textcolor{comment}{ *           Legacy single threaded code need not do anything, but *may*}}
\DoxyCodeLine{84 \textcolor{comment}{ *           implement a bit of future compatibility by using the backward}}
\DoxyCodeLine{85 \textcolor{comment}{ *           compatible call proj\_context\_create(0), which will not create}}
\DoxyCodeLine{86 \textcolor{comment}{ *           a new context, but simply provide a pointer to the default one.}}
\DoxyCodeLine{87 \textcolor{comment}{ *}}
\DoxyCodeLine{88 \textcolor{comment}{ *           See proj\_4D\_api\_test.c for examples of how to use the API.}}
\DoxyCodeLine{89 \textcolor{comment}{ *}}
\DoxyCodeLine{90 \textcolor{comment}{ * Author:   Thomas Knudsen, <thokn@sdfe.dk>}}
\DoxyCodeLine{91 \textcolor{comment}{ *           Benefitting from a large number of comments and suggestions}}
\DoxyCodeLine{92 \textcolor{comment}{ *           by (primarily) Kristian Evers and Even Rouault.}}
\DoxyCodeLine{93 \textcolor{comment}{ *}}
\DoxyCodeLine{94 \textcolor{comment}{ ******************************************************************************}}
\DoxyCodeLine{95 \textcolor{comment}{ * Copyright (c) 2016, 2017, Thomas Knudsen / SDFE}}
\DoxyCodeLine{96 \textcolor{comment}{ * Copyright (c) 2018, Even Rouault}}
\DoxyCodeLine{97 \textcolor{comment}{ *}}
\DoxyCodeLine{98 \textcolor{comment}{ * Permission is hereby granted, free of charge, to any person obtaining a}}
\DoxyCodeLine{99 \textcolor{comment}{ * copy of this software and associated documentation files (the "{}Software"{}),}}
\DoxyCodeLine{100 \textcolor{comment}{ * to deal in the Software without restriction, including without limitation}}
\DoxyCodeLine{101 \textcolor{comment}{ * the rights to use, copy, modify, merge, publish, distribute, sublicense,}}
\DoxyCodeLine{102 \textcolor{comment}{ * and/or sell copies of the Software, and to permit persons to whom the}}
\DoxyCodeLine{103 \textcolor{comment}{ * Software is furnished to do so, subject to the following conditions:}}
\DoxyCodeLine{104 \textcolor{comment}{ *}}
\DoxyCodeLine{105 \textcolor{comment}{ * The above copyright notice and this permission notice shall be included}}
\DoxyCodeLine{106 \textcolor{comment}{ * in all copies or substantial portions of the Software.}}
\DoxyCodeLine{107 \textcolor{comment}{ *}}
\DoxyCodeLine{108 \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{}, WITHOUT WARRANTY OF ANY KIND, EXPRESS}}
\DoxyCodeLine{109 \textcolor{comment}{ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,}}
\DoxyCodeLine{110 \textcolor{comment}{ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO COORD SHALL}}
\DoxyCodeLine{111 \textcolor{comment}{ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER}}
\DoxyCodeLine{112 \textcolor{comment}{ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING}}
\DoxyCodeLine{113 \textcolor{comment}{ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER}}
\DoxyCodeLine{114 \textcolor{comment}{ * DEALINGS IN THE SOFTWARE.}}
\DoxyCodeLine{115 \textcolor{comment}{ *****************************************************************************/}}
\DoxyCodeLine{116 }
\DoxyCodeLine{117 \textcolor{preprocessor}{\#ifndef PROJ\_H}}
\DoxyCodeLine{118 \textcolor{preprocessor}{\#define PROJ\_H}}
\DoxyCodeLine{119 }
\DoxyCodeLine{120 \textcolor{preprocessor}{\#include <stddef.h>}  \textcolor{comment}{/* For size\_t */}}
\DoxyCodeLine{121 }
\DoxyCodeLine{122 \textcolor{preprocessor}{\#ifdef ACCEPT\_USE\_OF\_DEPRECATED\_PROJ\_API\_H}}
\DoxyCodeLine{123 \textcolor{preprocessor}{  \#error "{}The proj\_api.h header has been removed from PROJ with version 8.0.0"{}}}
\DoxyCodeLine{124 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{125 }
\DoxyCodeLine{126 \textcolor{preprocessor}{\#ifdef PROJ\_RENAME\_SYMBOLS}}
\DoxyCodeLine{127 \textcolor{preprocessor}{\#include "{}proj\_symbol\_rename.h"{}}}
\DoxyCodeLine{128 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{129 }
\DoxyCodeLine{130 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}}
\DoxyCodeLine{131 \textcolor{keyword}{extern} \textcolor{stringliteral}{"{}C"{}} \{}
\DoxyCodeLine{132 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{133 }
\DoxyCodeLine{142 \textcolor{preprocessor}{\#ifndef PROJ\_DLL}}
\DoxyCodeLine{143 \textcolor{preprocessor}{\#  if defined(\_MSC\_VER)}}
\DoxyCodeLine{144 \textcolor{preprocessor}{\#    ifdef PROJ\_MSVC\_DLL\_EXPORT}}
\DoxyCodeLine{145 \textcolor{preprocessor}{\#      define PROJ\_DLL \_\_declspec(dllexport)}}
\DoxyCodeLine{146 \textcolor{preprocessor}{\#    else}}
\DoxyCodeLine{147 \textcolor{preprocessor}{\#      define PROJ\_DLL \_\_declspec(dllimport)}}
\DoxyCodeLine{148 \textcolor{preprocessor}{\#    endif}}
\DoxyCodeLine{149 \textcolor{preprocessor}{\#  elif defined(\_\_GNUC\_\_)}}
\DoxyCodeLine{150 \textcolor{preprocessor}{\#    define PROJ\_DLL \_\_attribute\_\_ ((visibility("{}default"{}})))}
\DoxyCodeLine{151 \textcolor{preprocessor}{\#  else}}
\DoxyCodeLine{152 \textcolor{preprocessor}{\#    define PROJ\_DLL}}
\DoxyCodeLine{153 \textcolor{preprocessor}{\#  endif}}
\DoxyCodeLine{154 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{155 }
\DoxyCodeLine{156 \textcolor{preprocessor}{\#ifdef PROJ\_SUPPRESS\_DEPRECATION\_MESSAGE}}
\DoxyCodeLine{157 \textcolor{preprocessor}{  \#define PROJ\_DEPRECATED(decl, msg)            decl}}
\DoxyCodeLine{158 \textcolor{preprocessor}{\#elif defined(\_\_has\_extension)}}
\DoxyCodeLine{159 \textcolor{preprocessor}{  \#if \_\_has\_extension(attribute\_deprecated\_with\_message)}}
\DoxyCodeLine{160 \textcolor{preprocessor}{    \#define PROJ\_DEPRECATED(decl, msg)          decl \_\_attribute\_\_ ((deprecated(msg)))}}
\DoxyCodeLine{161 \textcolor{preprocessor}{  \#elif defined(\_\_GNUC\_\_)}}
\DoxyCodeLine{162 \textcolor{preprocessor}{    \#define PROJ\_DEPRECATED(decl, msg)          decl \_\_attribute\_\_ ((deprecated))}}
\DoxyCodeLine{163 \textcolor{preprocessor}{  \#else}}
\DoxyCodeLine{164 \textcolor{preprocessor}{    \#define PROJ\_DEPRECATED(decl, msg)          decl}}
\DoxyCodeLine{165 \textcolor{preprocessor}{  \#endif}}
\DoxyCodeLine{166 \textcolor{preprocessor}{\#elif defined(\_\_GNUC\_\_)}}
\DoxyCodeLine{167 \textcolor{preprocessor}{  \#define PROJ\_DEPRECATED(decl, msg)            decl \_\_attribute\_\_ ((deprecated))}}
\DoxyCodeLine{168 \textcolor{preprocessor}{\#elif defined(\_MSVC\_VER)}}
\DoxyCodeLine{169 \textcolor{preprocessor}{  \#define PROJ\_DEPRECATED(decl, msg)            \_\_declspec(deprecated(msg)) decl}}
\DoxyCodeLine{170 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{171 \textcolor{preprocessor}{  \#define PROJ\_DEPRECATED(decl, msg)            decl}}
\DoxyCodeLine{172 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{173 }
\DoxyCodeLine{174 \textcolor{comment}{/* The version numbers should be updated with every release! **/}}
\DoxyCodeLine{175 \textcolor{preprocessor}{\#define PROJ\_VERSION\_MAJOR 9}}
\DoxyCodeLine{176 \textcolor{preprocessor}{\#define PROJ\_VERSION\_MINOR 1}}
\DoxyCodeLine{177 \textcolor{preprocessor}{\#define PROJ\_VERSION\_PATCH 0}}
\DoxyCodeLine{178 }
\DoxyCodeLine{179 \textcolor{comment}{/* Note: the following 3 defines have been introduced in PROJ 8.0.1 */}}
\DoxyCodeLine{180 \textcolor{comment}{/* Macro to compute a PROJ version number from its components */}}
\DoxyCodeLine{181 \textcolor{preprocessor}{\#define PROJ\_COMPUTE\_VERSION(maj,min,patch) ((maj)*10000+(min)*100+(patch))}}
\DoxyCodeLine{182 }
\DoxyCodeLine{183 \textcolor{comment}{/* Current PROJ version from the above version numbers */}}
\DoxyCodeLine{184 \textcolor{preprocessor}{\#define PROJ\_VERSION\_NUMBER                 \(\backslash\)}}
\DoxyCodeLine{185 \textcolor{preprocessor}{    PROJ\_COMPUTE\_VERSION(PROJ\_VERSION\_MAJOR, PROJ\_VERSION\_MINOR, PROJ\_VERSION\_PATCH)}}
\DoxyCodeLine{186 }
\DoxyCodeLine{187 \textcolor{comment}{/* Macro that returns true if the current PROJ version is at least the version specified by (maj,min,patch) */}}
\DoxyCodeLine{188 \textcolor{preprocessor}{\#define PROJ\_AT\_LEAST\_VERSION(maj,min,patch) \(\backslash\)}}
\DoxyCodeLine{189 \textcolor{preprocessor}{    (PROJ\_VERSION\_NUMBER >= PROJ\_COMPUTE\_VERSION(maj,min,patch))}}
\DoxyCodeLine{190 }
\DoxyCodeLine{191 \textcolor{keyword}{extern} \textcolor{keywordtype}{char} \textcolor{keyword}{const} PROJ\_DLL pj\_release[]; \textcolor{comment}{/* global release id string */}}
\DoxyCodeLine{192 }
\DoxyCodeLine{193 \textcolor{comment}{/* first forward declare everything needed */}}
\DoxyCodeLine{194 }
\DoxyCodeLine{195 \textcolor{comment}{/* Data type for generic geodetic 3D data plus epoch information */}}
\DoxyCodeLine{196 \textcolor{keyword}{union }PJ\_COORD;}
\DoxyCodeLine{197 \textcolor{keyword}{typedef} \textcolor{keyword}{union }PJ\_COORD PJ\_COORD;}
\DoxyCodeLine{198 }
\DoxyCodeLine{199 \textcolor{keyword}{struct }PJ\_AREA;}
\DoxyCodeLine{200 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_AREA PJ\_AREA;}
\DoxyCodeLine{201 }
\DoxyCodeLine{202 \textcolor{keyword}{struct }P5\_FACTORS \{                  \textcolor{comment}{/* Common designation */}}
\DoxyCodeLine{203     \textcolor{keywordtype}{double} meridional\_scale;               \textcolor{comment}{/* h */}}
\DoxyCodeLine{204     \textcolor{keywordtype}{double} parallel\_scale;                 \textcolor{comment}{/* k */}}
\DoxyCodeLine{205     \textcolor{keywordtype}{double} areal\_scale;                    \textcolor{comment}{/* s */}}
\DoxyCodeLine{206 }
\DoxyCodeLine{207     \textcolor{keywordtype}{double} angular\_distortion;             \textcolor{comment}{/* omega */}}
\DoxyCodeLine{208     \textcolor{keywordtype}{double} meridian\_parallel\_angle;        \textcolor{comment}{/* theta-\/prime */}}
\DoxyCodeLine{209     \textcolor{keywordtype}{double} meridian\_convergence;           \textcolor{comment}{/* alpha */}}
\DoxyCodeLine{210 }
\DoxyCodeLine{211     \textcolor{keywordtype}{double} tissot\_semimajor;               \textcolor{comment}{/* a */}}
\DoxyCodeLine{212     \textcolor{keywordtype}{double} tissot\_semiminor;               \textcolor{comment}{/* b */}}
\DoxyCodeLine{213 }
\DoxyCodeLine{214     \textcolor{keywordtype}{double} dx\_dlam, dx\_dphi;}
\DoxyCodeLine{215     \textcolor{keywordtype}{double} dy\_dlam, dy\_dphi;}
\DoxyCodeLine{216 \};}
\DoxyCodeLine{217 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }P5\_FACTORS PJ\_FACTORS;}
\DoxyCodeLine{218 }
\DoxyCodeLine{219 \textcolor{comment}{/* Data type for projection/transformation information */}}
\DoxyCodeLine{220 \textcolor{keyword}{struct }PJconsts;}
\DoxyCodeLine{221 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJconsts PJ;         \textcolor{comment}{/* the PJ object herself */}}
\DoxyCodeLine{222 }
\DoxyCodeLine{223 \textcolor{comment}{/* Data type for library level information */}}
\DoxyCodeLine{224 \textcolor{keyword}{struct }PJ\_INFO;}
\DoxyCodeLine{225 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_INFO PJ\_INFO;}
\DoxyCodeLine{226 }
\DoxyCodeLine{227 \textcolor{keyword}{struct }PJ\_PROJ\_INFO;}
\DoxyCodeLine{228 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_PROJ\_INFO PJ\_PROJ\_INFO;}
\DoxyCodeLine{229 }
\DoxyCodeLine{230 \textcolor{keyword}{struct }PJ\_GRID\_INFO;}
\DoxyCodeLine{231 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_GRID\_INFO PJ\_GRID\_INFO;}
\DoxyCodeLine{232 }
\DoxyCodeLine{233 \textcolor{keyword}{struct }PJ\_INIT\_INFO;}
\DoxyCodeLine{234 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_INIT\_INFO PJ\_INIT\_INFO;}
\DoxyCodeLine{235 }
\DoxyCodeLine{236 \textcolor{comment}{/* Data types for list of operations, ellipsoids, datums and units used in PROJ.4 */}}
\DoxyCodeLine{237 \textcolor{keyword}{struct }PJ\_LIST \{}
\DoxyCodeLine{238     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *id;                \textcolor{comment}{/* projection keyword */}}
\DoxyCodeLine{239     PJ          *(*proj)(PJ *);     \textcolor{comment}{/* projection entry point */}}
\DoxyCodeLine{240     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  * \textcolor{keyword}{const} *descr;     \textcolor{comment}{/* description text */}}
\DoxyCodeLine{241 \};}
\DoxyCodeLine{242 }
\DoxyCodeLine{243 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_LIST PJ\_OPERATIONS;}
\DoxyCodeLine{244 }
\DoxyCodeLine{245 \textcolor{keyword}{struct }PJ\_ELLPS \{}
\DoxyCodeLine{246     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *id;    \textcolor{comment}{/* ellipse keyword name */}}
\DoxyCodeLine{247     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *major; \textcolor{comment}{/* a= value */}}
\DoxyCodeLine{248     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *ell;   \textcolor{comment}{/* elliptical parameter */}}
\DoxyCodeLine{249     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *name;  \textcolor{comment}{/* comments */}}
\DoxyCodeLine{250 \};}
\DoxyCodeLine{251 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_ELLPS PJ\_ELLPS;}
\DoxyCodeLine{252 }
\DoxyCodeLine{253 \textcolor{keyword}{struct }PJ\_UNITS \{}
\DoxyCodeLine{254     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *id;        \textcolor{comment}{/* units keyword */}}
\DoxyCodeLine{255     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *to\_meter;  \textcolor{comment}{/* multiply by value to get meters */}}
\DoxyCodeLine{256     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *name;      \textcolor{comment}{/* comments */}}
\DoxyCodeLine{257     \textcolor{keywordtype}{double}      factor;     \textcolor{comment}{/* to\_meter factor in actual numbers */}}
\DoxyCodeLine{258 \};}
\DoxyCodeLine{259 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_UNITS PJ\_UNITS;}
\DoxyCodeLine{260 }
\DoxyCodeLine{261 \textcolor{keyword}{struct }PJ\_PRIME\_MERIDIANS \{}
\DoxyCodeLine{262     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *id;        \textcolor{comment}{/* prime meridian keyword */}}
\DoxyCodeLine{263     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *defn;      \textcolor{comment}{/* offset from greenwich in DMS format. */}}
\DoxyCodeLine{264 \};}
\DoxyCodeLine{265 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }PJ\_PRIME\_MERIDIANS PJ\_PRIME\_MERIDIANS;}
\DoxyCodeLine{266 }
\DoxyCodeLine{267 }
\DoxyCodeLine{268 \textcolor{comment}{/* Geodetic, mostly spatiotemporal coordinate types */}}
\DoxyCodeLine{269 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   x,   y,  z, t; \}  PJ\_XYZT;}
\DoxyCodeLine{270 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   u,   v,  w, t; \}  PJ\_UVWT;}
\DoxyCodeLine{271 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} lam, phi,  z, t; \}  PJ\_LPZT;}
\DoxyCodeLine{272 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} o, p, k; \}          PJ\_OPK;  \textcolor{comment}{/* Rotations: omega, phi, kappa */}}
\DoxyCodeLine{273 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} e, n, u; \}          PJ\_ENU;  \textcolor{comment}{/* East, North, Up */}}
\DoxyCodeLine{274 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} s, a1, a2; \}        PJ\_GEOD; \textcolor{comment}{/* Geodesic length, fwd azi, rev azi */}}
\DoxyCodeLine{275 }
\DoxyCodeLine{276 \textcolor{comment}{/* Classic proj.4 pair/triplet types -\/ moved into the PJ\_ name space */}}
\DoxyCodeLine{277 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   u,   v; \}  PJ\_UV;}
\DoxyCodeLine{278 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   x,   y; \}  PJ\_XY;}
\DoxyCodeLine{279 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} lam, phi; \}  PJ\_LP;}
\DoxyCodeLine{280 }
\DoxyCodeLine{281 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   x,   y,  z; \}  PJ\_XYZ;}
\DoxyCodeLine{282 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double}   u,   v,  w; \}  PJ\_UVW;}
\DoxyCodeLine{283 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{ \textcolor{keywordtype}{double} lam, phi,  z; \}  PJ\_LPZ;}
\DoxyCodeLine{284 }
\DoxyCodeLine{285 }
\DoxyCodeLine{286 \textcolor{comment}{/* Avoid preprocessor renaming and implicit type-\/punning: Use a union to make it explicit */}}
\DoxyCodeLine{287 \textcolor{keyword}{union }PJ\_COORD \{}
\DoxyCodeLine{288      \textcolor{keywordtype}{double} v[4];   \textcolor{comment}{/* First and foremost, it really is "{}just 4 numbers in a vector"{} */}}
\DoxyCodeLine{289     PJ\_XYZT xyzt;}
\DoxyCodeLine{290     PJ\_UVWT uvwt;}
\DoxyCodeLine{291     PJ\_LPZT lpzt;}
\DoxyCodeLine{292     PJ\_GEOD geod;}
\DoxyCodeLine{293      PJ\_OPK opk;}
\DoxyCodeLine{294      PJ\_ENU enu;}
\DoxyCodeLine{295      PJ\_XYZ xyz;}
\DoxyCodeLine{296      PJ\_UVW uvw;}
\DoxyCodeLine{297      PJ\_LPZ lpz;}
\DoxyCodeLine{298       PJ\_XY xy;}
\DoxyCodeLine{299       PJ\_UV uv;}
\DoxyCodeLine{300       PJ\_LP lp;}
\DoxyCodeLine{301 \};}
\DoxyCodeLine{302 }
\DoxyCodeLine{303 }
\DoxyCodeLine{304 \textcolor{keyword}{struct }PJ\_INFO \{}
\DoxyCodeLine{305     \textcolor{keywordtype}{int}         major;              \textcolor{comment}{/* Major release number                 */}}
\DoxyCodeLine{306     \textcolor{keywordtype}{int}         minor;              \textcolor{comment}{/* Minor release number                 */}}
\DoxyCodeLine{307     \textcolor{keywordtype}{int}         patch;              \textcolor{comment}{/* Patch level                          */}}
\DoxyCodeLine{308     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *release;           \textcolor{comment}{/* Release info. Version + date         */}}
\DoxyCodeLine{309     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *version;           \textcolor{comment}{/* Full version number                  */}}
\DoxyCodeLine{310     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *searchpath;        \textcolor{comment}{/* Paths where init and grid files are  */}}
\DoxyCodeLine{311                                     \textcolor{comment}{/* looked for. Paths are separated by   */}}
\DoxyCodeLine{312                                     \textcolor{comment}{/* semi-\/colons on Windows, and colons   */}}
\DoxyCodeLine{313                                     \textcolor{comment}{/* on non-\/Windows platforms.            */}}
\DoxyCodeLine{314     \textcolor{keyword}{const} \textcolor{keywordtype}{char} * \textcolor{keyword}{const} *paths;}
\DoxyCodeLine{315     \textcolor{keywordtype}{size\_t} path\_count;}
\DoxyCodeLine{316 \};}
\DoxyCodeLine{317 }
\DoxyCodeLine{318 \textcolor{keyword}{struct }PJ\_PROJ\_INFO \{}
\DoxyCodeLine{319     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *id;                \textcolor{comment}{/* Name of the projection in question                       */}}
\DoxyCodeLine{320     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *description;       \textcolor{comment}{/* Description of the projection                            */}}
\DoxyCodeLine{321     \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *definition;        \textcolor{comment}{/* Projection definition                                    */}}
\DoxyCodeLine{322     \textcolor{keywordtype}{int}         has\_inverse;        \textcolor{comment}{/* 1 if an inverse mapping exists, 0 otherwise              */}}
\DoxyCodeLine{323     \textcolor{keywordtype}{double}      accuracy;           \textcolor{comment}{/* Expected accuracy of the transformation. -\/1 if unknown.  */}}
\DoxyCodeLine{324 \};}
\DoxyCodeLine{325 }
\DoxyCodeLine{326 \textcolor{keyword}{struct }PJ\_GRID\_INFO \{}
\DoxyCodeLine{327     \textcolor{keywordtype}{char}        gridname[32];       \textcolor{comment}{/* name of grid                         */}}
\DoxyCodeLine{328     \textcolor{keywordtype}{char}        filename[260];      \textcolor{comment}{/* full path to grid                    */}}
\DoxyCodeLine{329     \textcolor{keywordtype}{char}        format[8];          \textcolor{comment}{/* file format of grid                  */}}
\DoxyCodeLine{330     PJ\_LP       lowerleft;          \textcolor{comment}{/* Coordinates of lower left corner     */}}
\DoxyCodeLine{331     PJ\_LP       upperright;         \textcolor{comment}{/* Coordinates of upper right corner    */}}
\DoxyCodeLine{332     \textcolor{keywordtype}{int}         n\_lon, n\_lat;       \textcolor{comment}{/* Grid size                            */}}
\DoxyCodeLine{333     \textcolor{keywordtype}{double}      cs\_lon, cs\_lat;     \textcolor{comment}{/* Cell size of grid                    */}}
\DoxyCodeLine{334 \};}
\DoxyCodeLine{335 }
\DoxyCodeLine{336 \textcolor{keyword}{struct }PJ\_INIT\_INFO \{}
\DoxyCodeLine{337     \textcolor{keywordtype}{char}        name[32];           \textcolor{comment}{/* name of init file                        */}}
\DoxyCodeLine{338     \textcolor{keywordtype}{char}        filename[260];      \textcolor{comment}{/* full path to the init file.              */}}
\DoxyCodeLine{339     \textcolor{keywordtype}{char}        version[32];        \textcolor{comment}{/* version of the init file                 */}}
\DoxyCodeLine{340     \textcolor{keywordtype}{char}        origin[32];         \textcolor{comment}{/* origin of the file, e.g. EPSG            */}}
\DoxyCodeLine{341     \textcolor{keywordtype}{char}        lastupdate[16];     \textcolor{comment}{/* Date of last update in YYYY-\/MM-\/DD format */}}
\DoxyCodeLine{342 \};}
\DoxyCodeLine{343 }
\DoxyCodeLine{344 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} PJ\_LOG\_LEVEL \{}
\DoxyCodeLine{345     PJ\_LOG\_NONE  = 0,}
\DoxyCodeLine{346     PJ\_LOG\_ERROR = 1,}
\DoxyCodeLine{347     PJ\_LOG\_DEBUG = 2,}
\DoxyCodeLine{348     PJ\_LOG\_TRACE = 3,}
\DoxyCodeLine{349     PJ\_LOG\_TELL  = 4,}
\DoxyCodeLine{350     PJ\_LOG\_DEBUG\_MAJOR = 2, \textcolor{comment}{/* for proj\_api.h compatibility */}}
\DoxyCodeLine{351     PJ\_LOG\_DEBUG\_MINOR = 3  \textcolor{comment}{/* for proj\_api.h compatibility */}}
\DoxyCodeLine{352 \} PJ\_LOG\_LEVEL;}
\DoxyCodeLine{353 }
\DoxyCodeLine{354 \textcolor{keyword}{typedef} void (*PJ\_LOG\_FUNCTION)(\textcolor{keywordtype}{void} *, int, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *);}
\DoxyCodeLine{355 }
\DoxyCodeLine{356 }
\DoxyCodeLine{357 \textcolor{comment}{/* The context type -\/ properly namespaced synonym for pj\_ctx */}}
\DoxyCodeLine{358 \textcolor{keyword}{struct }pj\_ctx;}
\DoxyCodeLine{359 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }pj\_ctx PJ\_CONTEXT;}
\DoxyCodeLine{360 }
\DoxyCodeLine{361 \textcolor{comment}{/* A P I */}}
\DoxyCodeLine{362 }
\DoxyCodeLine{370 \textcolor{comment}{/* Functionality for handling thread contexts */}}
\DoxyCodeLine{371 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}}
\DoxyCodeLine{372 \textcolor{preprocessor}{\#define PJ\_DEFAULT\_CTX nullptr}}
\DoxyCodeLine{373 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{374 \textcolor{preprocessor}{\#define PJ\_DEFAULT\_CTX 0}}
\DoxyCodeLine{375 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{376 PJ\_CONTEXT PROJ\_DLL *proj\_context\_create (\textcolor{keywordtype}{void});}
\DoxyCodeLine{377 PJ\_CONTEXT PROJ\_DLL *proj\_context\_destroy (PJ\_CONTEXT *ctx);}
\DoxyCodeLine{378 PJ\_CONTEXT PROJ\_DLL *proj\_context\_clone (PJ\_CONTEXT *ctx);}
\DoxyCodeLine{379 }
\DoxyCodeLine{381 \textcolor{keyword}{typedef} \textcolor{keyword}{const} \textcolor{keywordtype}{char}* (*proj\_file\_finder) (PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char}*, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{384 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_a0d19deb424deca88cd90a5429f2adbd7}{proj\_context\_set\_file\_finder}}(PJ\_CONTEXT *ctx, proj\_file\_finder finder, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{385 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_afe6b85648984b25309b399c68716f914}{proj\_context\_set\_search\_paths}}(PJ\_CONTEXT *ctx, \textcolor{keywordtype}{int} count\_paths, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const}* paths);}
\DoxyCodeLine{386 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_ac46b8530cc786c7e9675a9ab4e55f9d4}{proj\_context\_set\_ca\_bundle\_path}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *path);}
\DoxyCodeLine{388 \textcolor{keywordtype}{void} PROJ\_DLL proj\_context\_use\_proj4\_init\_rules(PJ\_CONTEXT *ctx, \textcolor{keywordtype}{int} enable);}
\DoxyCodeLine{389 \textcolor{keywordtype}{int} PROJ\_DLL proj\_context\_get\_use\_proj4\_init\_rules(PJ\_CONTEXT *ctx, \textcolor{keywordtype}{int} from\_legacy\_code\_path);}
\DoxyCodeLine{390 }
\DoxyCodeLine{395 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}} \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}};}
\DoxyCodeLine{396 }
\DoxyCodeLine{398 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997}{PROJ\_OPEN\_ACCESS}}}
\DoxyCodeLine{399 \{}
\DoxyCodeLine{401     \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997af2ba80849abee993eb10a6ffe8876ae7}{PROJ\_OPEN\_ACCESS\_READ\_ONLY}},}
\DoxyCodeLine{402 }
\DoxyCodeLine{404     \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997a81914ec3374ae193ca390645ebcc909d}{PROJ\_OPEN\_ACCESS\_READ\_UPDATE}},}
\DoxyCodeLine{405 }
\DoxyCodeLine{407     \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997ad0d7748c3190392d10e4a6209b64f470}{PROJ\_OPEN\_ACCESS\_CREATE}}}
\DoxyCodeLine{408 \} \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997}{PROJ\_OPEN\_ACCESS}};}
\DoxyCodeLine{409 }
\DoxyCodeLine{411 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structPROJ__FILE__API}{PROJ\_FILE\_API}}}
\DoxyCodeLine{412 \{}
\DoxyCodeLine{414     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__FILE__API_a4f891168c59c1f6ba6a19d6c2c878b02}{version}};}
\DoxyCodeLine{415 }
\DoxyCodeLine{417     \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}* (*open\_cbk)(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \mbox{\hyperlink{proj_8h_ad466f4e5535c25a803fa10f5ec47f997}{PROJ\_OPEN\_ACCESS}} access, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{418 }
\DoxyCodeLine{420     size\_t            (*\mbox{\hyperlink{structPROJ__FILE__API_a91768ec13104c0db9597529960355205}{read\_cbk}})(PJ\_CONTEXT *ctx, \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}*, \textcolor{keywordtype}{void}* buffer, \textcolor{keywordtype}{size\_t} sizeBytes, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{421 }
\DoxyCodeLine{423     size\_t            (*\mbox{\hyperlink{structPROJ__FILE__API_a40873c451d9013b4384b3eb46a7088a5}{write\_cbk}})(PJ\_CONTEXT *ctx, \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}*, \textcolor{keyword}{const} \textcolor{keywordtype}{void}* buffer, \textcolor{keywordtype}{size\_t} sizeBytes, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{424 }
\DoxyCodeLine{426     int               (*\mbox{\hyperlink{structPROJ__FILE__API_a88cf4a20f3b76d79ff08b4cc338aee41}{seek\_cbk}})(PJ\_CONTEXT *ctx, \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}*, \textcolor{keywordtype}{long} \textcolor{keywordtype}{long} offset, \textcolor{keywordtype}{int} whence, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{427 }
\DoxyCodeLine{429     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long} long (*\mbox{\hyperlink{structPROJ__FILE__API_a1dc41a01e0aed13b5ba3ce17da6df46c}{tell\_cbk}})(PJ\_CONTEXT *ctx, \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}*, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{430 }
\DoxyCodeLine{432     void              (*\mbox{\hyperlink{structPROJ__FILE__API_a7e4b5d429bdcc6c51dd593f8ac9b4f6f}{close\_cbk}})(PJ\_CONTEXT *ctx, \mbox{\hyperlink{proj_8h_a576ca78c0ce0c613cc360f9c0843f788}{PROJ\_FILE\_HANDLE}}*, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{433 }
\DoxyCodeLine{435     int (*\mbox{\hyperlink{structPROJ__FILE__API_a181d1d807269d5b4d2bc487394be8bc3}{exists\_cbk}})(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{436 }
\DoxyCodeLine{438     int (*\mbox{\hyperlink{structPROJ__FILE__API_aaa6b829762cc60b964af38afb66ebbf5}{mkdir\_cbk}})(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{439 }
\DoxyCodeLine{441     int (*\mbox{\hyperlink{structPROJ__FILE__API_aa0de2fa05e1698229ca7537c3acafd79}{unlink\_cbk}})(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{442 }
\DoxyCodeLine{444     int (*\mbox{\hyperlink{structPROJ__FILE__API_a58b16e53be3f5d1d0eec61b57e5c0bc5}{rename\_cbk}})(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *oldPath, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *newPath, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{445 \} \mbox{\hyperlink{proj_8h_ac24350a2ad399a1a52928654cc7a5c44}{PROJ\_FILE\_API}};}
\DoxyCodeLine{446 }
\DoxyCodeLine{447 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_ad8419df443b60938d928d7250f3e1c54}{proj\_context\_set\_fileapi}}(}
\DoxyCodeLine{448     PJ\_CONTEXT* ctx, \textcolor{keyword}{const} \mbox{\hyperlink{structPROJ__FILE__API}{PROJ\_FILE\_API}}* fileapi, \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{449 }
\DoxyCodeLine{450 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_aaeeb31bf23fb19d63dd5f89c56490ebd}{proj\_context\_set\_sqlite3\_vfs\_name}}(PJ\_CONTEXT* ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* name);}
\DoxyCodeLine{451 }
\DoxyCodeLine{454 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}} \mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}};}
\DoxyCodeLine{455 }
\DoxyCodeLine{471 \textcolor{keyword}{typedef} \mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}}* (*proj\_network\_open\_cbk\_type)(}
\DoxyCodeLine{472                                                       PJ\_CONTEXT* ctx,}
\DoxyCodeLine{473                                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char}* url,}
\DoxyCodeLine{474                                                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long} \textcolor{keywordtype}{long} offset,}
\DoxyCodeLine{475                                                       \textcolor{keywordtype}{size\_t} size\_to\_read,}
\DoxyCodeLine{476                                                       \textcolor{keywordtype}{void}* buffer,}
\DoxyCodeLine{477                                                       \textcolor{keywordtype}{size\_t}* out\_size\_read,}
\DoxyCodeLine{478                                                       \textcolor{keywordtype}{size\_t} error\_string\_max\_size,}
\DoxyCodeLine{479                                                       \textcolor{keywordtype}{char}* out\_error\_string,}
\DoxyCodeLine{480                                                       \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{481 }
\DoxyCodeLine{483 \textcolor{keyword}{typedef} void (*\mbox{\hyperlink{proj_8h_aaf732c562f9aff74e49302f1d15e616b}{proj\_network\_close\_cbk\_type}})(PJ\_CONTEXT* ctx,}
\DoxyCodeLine{484                                             \mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}}* handle,}
\DoxyCodeLine{485                                             \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{486 }
\DoxyCodeLine{488 \textcolor{keyword}{typedef} \textcolor{keyword}{const} \textcolor{keywordtype}{char}* (*proj\_network\_get\_header\_value\_cbk\_type)(}
\DoxyCodeLine{489                                             PJ\_CONTEXT* ctx,}
\DoxyCodeLine{490                                             \mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}}* handle,}
\DoxyCodeLine{491                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char}* header\_name,}
\DoxyCodeLine{492                                             \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{493 }
\DoxyCodeLine{507 \textcolor{keyword}{typedef} size\_t (*\mbox{\hyperlink{proj_8h_a560064e2b97a70a24a0d420c7881ade1}{proj\_network\_read\_range\_type}})(}
\DoxyCodeLine{508                                             PJ\_CONTEXT* ctx,}
\DoxyCodeLine{509                                             \mbox{\hyperlink{proj_8h_a662f9a829bc5d35df6729ce7d4fecb04}{PROJ\_NETWORK\_HANDLE}}* handle,}
\DoxyCodeLine{510                                             \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long} \textcolor{keywordtype}{long} offset,}
\DoxyCodeLine{511                                             \textcolor{keywordtype}{size\_t} size\_to\_read,}
\DoxyCodeLine{512                                             \textcolor{keywordtype}{void}* buffer,}
\DoxyCodeLine{513                                             \textcolor{keywordtype}{size\_t} error\_string\_max\_size,}
\DoxyCodeLine{514                                             \textcolor{keywordtype}{char}* out\_error\_string,}
\DoxyCodeLine{515                                             \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{516 }
\DoxyCodeLine{517 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_a4cf6f08b647734f2681c7409b192672e}{proj\_context\_set\_network\_callbacks}}(}
\DoxyCodeLine{518     PJ\_CONTEXT* ctx,}
\DoxyCodeLine{519     \mbox{\hyperlink{proj_8h_acb853fa9db80d0d8d898a485e8376cc5}{proj\_network\_open\_cbk\_type}} open\_cbk,}
\DoxyCodeLine{520     \mbox{\hyperlink{proj_8h_aaf732c562f9aff74e49302f1d15e616b}{proj\_network\_close\_cbk\_type}} close\_cbk,}
\DoxyCodeLine{521     \mbox{\hyperlink{proj_8h_a5adb8137f1e0b8ccb9dde5aca10ce2d0}{proj\_network\_get\_header\_value\_cbk\_type}} get\_header\_value\_cbk,}
\DoxyCodeLine{522     \mbox{\hyperlink{proj_8h_a560064e2b97a70a24a0d420c7881ade1}{proj\_network\_read\_range\_type}} read\_range\_cbk,}
\DoxyCodeLine{523     \textcolor{keywordtype}{void}* user\_data);}
\DoxyCodeLine{524 }
\DoxyCodeLine{525 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_a9a771bc53b785bfe6a0f658f588d11ec}{proj\_context\_set\_enable\_network}}(PJ\_CONTEXT* ctx,}
\DoxyCodeLine{526                                              \textcolor{keywordtype}{int} enabled);}
\DoxyCodeLine{527 }
\DoxyCodeLine{528 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_a2b7967c55ae6edd5b52c417a6183c801}{proj\_context\_is\_network\_enabled}}(PJ\_CONTEXT* ctx);}
\DoxyCodeLine{529 }
\DoxyCodeLine{530 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_a2e438ab67fe28502bb447cc48af913ca}{proj\_context\_set\_url\_endpoint}}(PJ\_CONTEXT* ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* url);}
\DoxyCodeLine{531 }
\DoxyCodeLine{532 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{proj_8h_a6413de983eb94a1a7d356efce66c36ff}{proj\_context\_get\_url\_endpoint}}(PJ\_CONTEXT* ctx);}
\DoxyCodeLine{533 }
\DoxyCodeLine{534 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{proj_8h_af4a5207c142de7c57e41d3f242cb3152}{proj\_context\_get\_user\_writable\_directory}}(PJ\_CONTEXT *ctx, \textcolor{keywordtype}{int} create);}
\DoxyCodeLine{535 }
\DoxyCodeLine{536 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_ae20fdfc00246dd72d64ee74015998c41}{proj\_grid\_cache\_set\_enable}}(PJ\_CONTEXT* ctx, \textcolor{keywordtype}{int} enabled);}
\DoxyCodeLine{537 }
\DoxyCodeLine{538 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_a2f964528154ac9e426ab39d62d14e6e3}{proj\_grid\_cache\_set\_filename}}(PJ\_CONTEXT* ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* fullname);}
\DoxyCodeLine{539 }
\DoxyCodeLine{540 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_a55c16fa365a1f57e33cb36a8ebbf79cc}{proj\_grid\_cache\_set\_max\_size}}(PJ\_CONTEXT* ctx, \textcolor{keywordtype}{int} max\_size\_MB);}
\DoxyCodeLine{541 }
\DoxyCodeLine{542 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_a47d7a4c280232d7e480655513ff31e8c}{proj\_grid\_cache\_set\_ttl}}(PJ\_CONTEXT* ctx, \textcolor{keywordtype}{int} ttl\_seconds);}
\DoxyCodeLine{543 }
\DoxyCodeLine{544 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{proj_8h_abb13ecf71360a5294158b89dead2e1c1}{proj\_grid\_cache\_clear}}(PJ\_CONTEXT* ctx);}
\DoxyCodeLine{545 }
\DoxyCodeLine{546 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_a336295aa5791dc3251913682f995c100}{proj\_is\_download\_needed}}(PJ\_CONTEXT* ctx,}
\DoxyCodeLine{547                                      \textcolor{keyword}{const} \textcolor{keywordtype}{char}* url\_or\_filename,}
\DoxyCodeLine{548                                      \textcolor{keywordtype}{int} ignore\_ttl\_setting);}
\DoxyCodeLine{549 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_aa17c90464d2c7d325d67493911b1a76b}{proj\_download\_file}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *url\_or\_filename,}
\DoxyCodeLine{550                                 \textcolor{keywordtype}{int} ignore\_ttl\_setting,}
\DoxyCodeLine{551                                 \textcolor{keywordtype}{int} (*progress\_cbk)(PJ\_CONTEXT *, \textcolor{keywordtype}{double} pct,}
\DoxyCodeLine{552                                                     \textcolor{keywordtype}{void} *user\_data),}
\DoxyCodeLine{553                                 \textcolor{keywordtype}{void} *user\_data);}
\DoxyCodeLine{554 }
\DoxyCodeLine{557 \textcolor{comment}{/* Manage the transformation definition object PJ */}}
\DoxyCodeLine{558 PJ PROJ\_DLL *proj\_create (PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *definition);}
\DoxyCodeLine{559 PJ PROJ\_DLL *proj\_create\_argv (PJ\_CONTEXT *ctx, \textcolor{keywordtype}{int} argc, \textcolor{keywordtype}{char} **argv);}
\DoxyCodeLine{560 PJ PROJ\_DLL *proj\_create\_crs\_to\_crs(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source\_crs, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *target\_crs, PJ\_AREA *area);}
\DoxyCodeLine{561 PJ PROJ\_DLL *proj\_create\_crs\_to\_crs\_from\_pj(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{562                                             \textcolor{keyword}{const} PJ *source\_crs,}
\DoxyCodeLine{563                                             \textcolor{keyword}{const} PJ *target\_crs,}
\DoxyCodeLine{564                                             PJ\_AREA *area,}
\DoxyCodeLine{565                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{567 PJ PROJ\_DLL *\mbox{\hyperlink{proj_8h_a6f2e97c76583b1053895ede4cfdc80de}{proj\_normalize\_for\_visualization}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ* obj);}
\DoxyCodeLine{569 \textcolor{keywordtype}{void} PROJ\_DLL proj\_assign\_context(PJ* pj, PJ\_CONTEXT* ctx);}
\DoxyCodeLine{570 PJ PROJ\_DLL *proj\_destroy (PJ *P);}
\DoxyCodeLine{571 }
\DoxyCodeLine{572 }
\DoxyCodeLine{573 PJ\_AREA PROJ\_DLL *proj\_area\_create(\textcolor{keywordtype}{void});}
\DoxyCodeLine{574 \textcolor{keywordtype}{void} PROJ\_DLL proj\_area\_set\_bbox(PJ\_AREA *area,}
\DoxyCodeLine{575                                  \textcolor{keywordtype}{double} west\_lon\_degree,}
\DoxyCodeLine{576                                  \textcolor{keywordtype}{double} south\_lat\_degree,}
\DoxyCodeLine{577                                  \textcolor{keywordtype}{double} east\_lon\_degree,}
\DoxyCodeLine{578                                  \textcolor{keywordtype}{double} north\_lat\_degree);}
\DoxyCodeLine{579 \textcolor{keywordtype}{void} PROJ\_DLL proj\_area\_set\_name(PJ\_AREA* area, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* name);}
\DoxyCodeLine{580 \textcolor{keywordtype}{void} PROJ\_DLL proj\_area\_destroy(PJ\_AREA* area);}
\DoxyCodeLine{581 }
\DoxyCodeLine{582 \textcolor{comment}{/* Apply transformation to observation -\/ in forward or inverse direction */}}
\DoxyCodeLine{583 \textcolor{keyword}{enum} PJ\_DIRECTION \{}
\DoxyCodeLine{584     PJ\_FWD   =  1,   \textcolor{comment}{/* Forward    */}}
\DoxyCodeLine{585     PJ\_IDENT =  0,   \textcolor{comment}{/* Do nothing */}}
\DoxyCodeLine{586     PJ\_INV   = -\/1    \textcolor{comment}{/* Inverse    */}}
\DoxyCodeLine{587 \};}
\DoxyCodeLine{588 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} PJ\_DIRECTION PJ\_DIRECTION;}
\DoxyCodeLine{589 }
\DoxyCodeLine{590 }
\DoxyCodeLine{591 \textcolor{keywordtype}{int} PROJ\_DLL proj\_angular\_input (PJ *P, \textcolor{keyword}{enum} PJ\_DIRECTION dir);}
\DoxyCodeLine{592 \textcolor{keywordtype}{int} PROJ\_DLL proj\_angular\_output (PJ *P, \textcolor{keyword}{enum} PJ\_DIRECTION dir);}
\DoxyCodeLine{593 }
\DoxyCodeLine{594 \textcolor{keywordtype}{int} PROJ\_DLL proj\_degree\_input (PJ *P, \textcolor{keyword}{enum} PJ\_DIRECTION dir);}
\DoxyCodeLine{595 \textcolor{keywordtype}{int} PROJ\_DLL proj\_degree\_output (PJ *P, \textcolor{keyword}{enum} PJ\_DIRECTION dir);}
\DoxyCodeLine{596 }
\DoxyCodeLine{597 PJ\_COORD PROJ\_DLL proj\_trans (PJ *P, PJ\_DIRECTION direction, PJ\_COORD coord);}
\DoxyCodeLine{598 PJ PROJ\_DLL* proj\_trans\_get\_last\_used\_operation(PJ* P);}
\DoxyCodeLine{599 \textcolor{keywordtype}{int} PROJ\_DLL proj\_trans\_array (PJ *P, PJ\_DIRECTION direction, \textcolor{keywordtype}{size\_t} n, PJ\_COORD *coord);}
\DoxyCodeLine{600 \textcolor{keywordtype}{size\_t} PROJ\_DLL proj\_trans\_generic (}
\DoxyCodeLine{601     PJ *P,}
\DoxyCodeLine{602     PJ\_DIRECTION direction,}
\DoxyCodeLine{603     \textcolor{keywordtype}{double} *x, \textcolor{keywordtype}{size\_t} sx, \textcolor{keywordtype}{size\_t} nx,}
\DoxyCodeLine{604     \textcolor{keywordtype}{double} *y, \textcolor{keywordtype}{size\_t} sy, \textcolor{keywordtype}{size\_t} ny,}
\DoxyCodeLine{605     \textcolor{keywordtype}{double} *z, \textcolor{keywordtype}{size\_t} sz, \textcolor{keywordtype}{size\_t} nz,}
\DoxyCodeLine{606     \textcolor{keywordtype}{double} *t, \textcolor{keywordtype}{size\_t} st, \textcolor{keywordtype}{size\_t} nt}
\DoxyCodeLine{607 );}
\DoxyCodeLine{609 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{proj_8h_a8a3936225c69913786d5e2dc815ebe4b}{proj\_trans\_bounds}}(}
\DoxyCodeLine{610     PJ\_CONTEXT* context,}
\DoxyCodeLine{611     PJ *P,}
\DoxyCodeLine{612     PJ\_DIRECTION direction,}
\DoxyCodeLine{613     \textcolor{keywordtype}{double} xmin,}
\DoxyCodeLine{614     \textcolor{keywordtype}{double} ymin,}
\DoxyCodeLine{615     \textcolor{keywordtype}{double} xmax,}
\DoxyCodeLine{616     \textcolor{keywordtype}{double} ymax,}
\DoxyCodeLine{617     \textcolor{keywordtype}{double}* out\_xmin,}
\DoxyCodeLine{618     \textcolor{keywordtype}{double}* out\_ymin,}
\DoxyCodeLine{619     \textcolor{keywordtype}{double}* out\_xmax,}
\DoxyCodeLine{620     \textcolor{keywordtype}{double}* out\_ymax,}
\DoxyCodeLine{621     \textcolor{keywordtype}{int} densify\_pts}
\DoxyCodeLine{622 );}
\DoxyCodeLine{625 \textcolor{comment}{/* Initializers */}}
\DoxyCodeLine{626 PJ\_COORD PROJ\_DLL proj\_coord (\textcolor{keywordtype}{double} x, \textcolor{keywordtype}{double} y, \textcolor{keywordtype}{double} z, \textcolor{keywordtype}{double} t);}
\DoxyCodeLine{627 }
\DoxyCodeLine{628 \textcolor{comment}{/* Measure internal consistency -\/ in forward or inverse direction */}}
\DoxyCodeLine{629 \textcolor{keywordtype}{double} PROJ\_DLL proj\_roundtrip (PJ *P, PJ\_DIRECTION direction, \textcolor{keywordtype}{int} n, PJ\_COORD *coord);}
\DoxyCodeLine{630 }
\DoxyCodeLine{631 \textcolor{comment}{/* Geodesic distance between two points with angular 2D coordinates */}}
\DoxyCodeLine{632 \textcolor{keywordtype}{double} PROJ\_DLL proj\_lp\_dist (\textcolor{keyword}{const} PJ *P, PJ\_COORD a, PJ\_COORD b);}
\DoxyCodeLine{633 }
\DoxyCodeLine{634 \textcolor{comment}{/* The geodesic distance AND the vertical offset */}}
\DoxyCodeLine{635 \textcolor{keywordtype}{double} PROJ\_DLL proj\_lpz\_dist (\textcolor{keyword}{const} PJ *P, PJ\_COORD a, PJ\_COORD b);}
\DoxyCodeLine{636 }
\DoxyCodeLine{637 \textcolor{comment}{/* Euclidean distance between two points with linear 2D coordinates */}}
\DoxyCodeLine{638 \textcolor{keywordtype}{double} PROJ\_DLL proj\_xy\_dist (PJ\_COORD a, PJ\_COORD b);}
\DoxyCodeLine{639 }
\DoxyCodeLine{640 \textcolor{comment}{/* Euclidean distance between two points with linear 3D coordinates */}}
\DoxyCodeLine{641 \textcolor{keywordtype}{double} PROJ\_DLL proj\_xyz\_dist (PJ\_COORD a, PJ\_COORD b);}
\DoxyCodeLine{642 }
\DoxyCodeLine{643 \textcolor{comment}{/* Geodesic distance (in meter) + fwd and rev azimuth between two points on the ellipsoid */}}
\DoxyCodeLine{644 PJ\_COORD PROJ\_DLL proj\_geod (\textcolor{keyword}{const} PJ *P, PJ\_COORD a, PJ\_COORD b);}
\DoxyCodeLine{645 }
\DoxyCodeLine{646 \textcolor{comment}{/* PROJ error codes */}}
\DoxyCodeLine{647 }
\DoxyCodeLine{653 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP                           1024                        }\textcolor{comment}{/* other/unspecified error related to coordinate operation initialization */}\textcolor{preprocessor}{}}
\DoxyCodeLine{654 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP\_WRONG\_SYNTAX              (PROJ\_ERR\_INVALID\_OP+1)     }\textcolor{comment}{/* invalid pipeline structure, missing +proj argument, etc */}\textcolor{preprocessor}{}}
\DoxyCodeLine{655 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP\_MISSING\_ARG               (PROJ\_ERR\_INVALID\_OP+2)     }\textcolor{comment}{/* missing required operation parameter */}\textcolor{preprocessor}{}}
\DoxyCodeLine{656 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP\_ILLEGAL\_ARG\_VALUE         (PROJ\_ERR\_INVALID\_OP+3)     }\textcolor{comment}{/* one of the operation parameter has an illegal value */}\textcolor{preprocessor}{}}
\DoxyCodeLine{657 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP\_MUTUALLY\_EXCLUSIVE\_ARGS   (PROJ\_ERR\_INVALID\_OP+4)     }\textcolor{comment}{/* mutually exclusive arguments */}\textcolor{preprocessor}{}}
\DoxyCodeLine{658 \textcolor{preprocessor}{\#define PROJ\_ERR\_INVALID\_OP\_FILE\_NOT\_FOUND\_OR\_INVALID (PROJ\_ERR\_INVALID\_OP+5)     }\textcolor{comment}{/* file not found (particular case of PROJ\_ERR\_INVALID\_OP\_ILLEGAL\_ARG\_VALUE) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{659 }
\DoxyCodeLine{661 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM                           2048                           }\textcolor{comment}{/* other error related to coordinate transformation */}\textcolor{preprocessor}{}}
\DoxyCodeLine{662 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM\_INVALID\_COORD             (PROJ\_ERR\_COORD\_TRANSFM+1)     }\textcolor{comment}{/* for e.g lat > 90deg */}\textcolor{preprocessor}{}}
\DoxyCodeLine{663 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM\_OUTSIDE\_PROJECTION\_DOMAIN (PROJ\_ERR\_COORD\_TRANSFM+2)     }\textcolor{comment}{/* coordinate is outside of the projection domain. e.g approximate mercator with |longitude -\/ lon\_0| > 90deg, or iterative convergence method failed */}\textcolor{preprocessor}{}}
\DoxyCodeLine{664 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM\_NO\_OPERATION              (PROJ\_ERR\_COORD\_TRANSFM+3)     }\textcolor{comment}{/* no operation found, e.g if no match the required accuracy, or if ballpark transformations were asked to not be used and they would be only such candidate */}\textcolor{preprocessor}{}}
\DoxyCodeLine{665 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM\_OUTSIDE\_GRID              (PROJ\_ERR\_COORD\_TRANSFM+4)     }\textcolor{comment}{/* point to transform falls outside grid or subgrid */}\textcolor{preprocessor}{}}
\DoxyCodeLine{666 \textcolor{preprocessor}{\#define PROJ\_ERR\_COORD\_TRANSFM\_GRID\_AT\_NODATA            (PROJ\_ERR\_COORD\_TRANSFM+5)     }\textcolor{comment}{/* point to transform falls in a grid cell that evaluates to nodata */}\textcolor{preprocessor}{}}
\DoxyCodeLine{667 }
\DoxyCodeLine{669 \textcolor{preprocessor}{\#define PROJ\_ERR\_OTHER                                   4096}}
\DoxyCodeLine{670 \textcolor{preprocessor}{\#define PROJ\_ERR\_OTHER\_API\_MISUSE                        (PROJ\_ERR\_OTHER+1)             }\textcolor{comment}{/* error related to a misuse of PROJ API */}\textcolor{preprocessor}{}}
\DoxyCodeLine{671 \textcolor{preprocessor}{\#define PROJ\_ERR\_OTHER\_NO\_INVERSE\_OP                     (PROJ\_ERR\_OTHER+2)             }\textcolor{comment}{/* no inverse method available */}\textcolor{preprocessor}{}}
\DoxyCodeLine{672 \textcolor{preprocessor}{\#define PROJ\_ERR\_OTHER\_NETWORK\_ERROR                     (PROJ\_ERR\_OTHER+3)             }\textcolor{comment}{/* failure when accessing a network resource */}\textcolor{preprocessor}{}}
\DoxyCodeLine{673 }
\DoxyCodeLine{674 \textcolor{comment}{/* Set or read error level */}}
\DoxyCodeLine{675 \textcolor{keywordtype}{int}  PROJ\_DLL proj\_context\_errno (PJ\_CONTEXT *ctx);}
\DoxyCodeLine{676 \textcolor{keywordtype}{int}  PROJ\_DLL proj\_errno (\textcolor{keyword}{const} PJ *P);}
\DoxyCodeLine{677 \textcolor{keywordtype}{int}  PROJ\_DLL proj\_errno\_set (\textcolor{keyword}{const} PJ *P, \textcolor{keywordtype}{int} err);}
\DoxyCodeLine{678 \textcolor{keywordtype}{int}  PROJ\_DLL proj\_errno\_reset (\textcolor{keyword}{const} PJ *P);}
\DoxyCodeLine{679 \textcolor{keywordtype}{int}  PROJ\_DLL proj\_errno\_restore (\textcolor{keyword}{const} PJ *P, \textcolor{keywordtype}{int} err);}
\DoxyCodeLine{680 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL * proj\_errno\_string (\textcolor{keywordtype}{int} err); \textcolor{comment}{/* deprecated. use proj\_context\_errno\_string() */}}
\DoxyCodeLine{681 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL * proj\_context\_errno\_string(PJ\_CONTEXT* ctx, \textcolor{keywordtype}{int} err);}
\DoxyCodeLine{682 }
\DoxyCodeLine{683 PJ\_LOG\_LEVEL PROJ\_DLL proj\_log\_level (PJ\_CONTEXT *ctx, PJ\_LOG\_LEVEL log\_level);}
\DoxyCodeLine{684 \textcolor{keywordtype}{void} PROJ\_DLL proj\_log\_func (PJ\_CONTEXT *ctx, \textcolor{keywordtype}{void} *app\_data, PJ\_LOG\_FUNCTION logf);}
\DoxyCodeLine{685 }
\DoxyCodeLine{686 \textcolor{comment}{/* Scaling and angular distortion factors */}}
\DoxyCodeLine{687 PJ\_FACTORS PROJ\_DLL proj\_factors(PJ *P, PJ\_COORD lp);}
\DoxyCodeLine{688 }
\DoxyCodeLine{689 \textcolor{comment}{/* Info functions -\/ get information about various PROJ.4 entities */}}
\DoxyCodeLine{690 PJ\_INFO PROJ\_DLL proj\_info(\textcolor{keywordtype}{void});}
\DoxyCodeLine{691 PJ\_PROJ\_INFO PROJ\_DLL proj\_pj\_info(PJ *P);}
\DoxyCodeLine{692 PJ\_GRID\_INFO PROJ\_DLL proj\_grid\_info(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *gridname);}
\DoxyCodeLine{693 PJ\_INIT\_INFO PROJ\_DLL proj\_init\_info(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *initname);}
\DoxyCodeLine{694 }
\DoxyCodeLine{695 \textcolor{comment}{/* List functions: */}}
\DoxyCodeLine{696 \textcolor{comment}{/* Get lists of operations, ellipsoids, units and prime meridians. */}}
\DoxyCodeLine{697 \textcolor{keyword}{const} PJ\_OPERATIONS       PROJ\_DLL *proj\_list\_operations(\textcolor{keywordtype}{void});}
\DoxyCodeLine{698 \textcolor{keyword}{const} PJ\_ELLPS            PROJ\_DLL *proj\_list\_ellps(\textcolor{keywordtype}{void});}
\DoxyCodeLine{699 PROJ\_DEPRECATED(\textcolor{keyword}{const} PJ\_UNITS            PROJ\_DLL *proj\_list\_units(\textcolor{keywordtype}{void}), \textcolor{stringliteral}{"{}Deprecated by proj\_get\_units\_from\_database"{}});}
\DoxyCodeLine{700 PROJ\_DEPRECATED(\textcolor{keyword}{const} PJ\_UNITS            PROJ\_DLL *proj\_list\_angular\_units(\textcolor{keywordtype}{void}), \textcolor{stringliteral}{"{}Deprecated by proj\_get\_units\_from\_database"{}});}
\DoxyCodeLine{701 \textcolor{keyword}{const} PJ\_PRIME\_MERIDIANS  PROJ\_DLL *proj\_list\_prime\_meridians(\textcolor{keywordtype}{void});}
\DoxyCodeLine{702 }
\DoxyCodeLine{703 \textcolor{comment}{/* These are trivial, and while occasionally useful in real code, primarily here to      */}}
\DoxyCodeLine{704 \textcolor{comment}{/* simplify demo code, and in acknowledgement of the proj-\/internal discrepancy between   */}}
\DoxyCodeLine{705 \textcolor{comment}{/* angular units expected by classical proj, and by Charles Karney's geodesics subsystem */}}
\DoxyCodeLine{706 \textcolor{keywordtype}{double} PROJ\_DLL proj\_torad (\textcolor{keywordtype}{double} angle\_in\_degrees);}
\DoxyCodeLine{707 \textcolor{keywordtype}{double} PROJ\_DLL proj\_todeg (\textcolor{keywordtype}{double} angle\_in\_radians);}
\DoxyCodeLine{708 }
\DoxyCodeLine{709 \textcolor{keywordtype}{double} PROJ\_DLL proj\_dmstor(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *is, \textcolor{keywordtype}{char} **rs);}
\DoxyCodeLine{710 \textcolor{keywordtype}{char} PROJ\_DLL * proj\_rtodms(\textcolor{keywordtype}{char} *s, \textcolor{keywordtype}{double} r, \textcolor{keywordtype}{int} pos, \textcolor{keywordtype}{int} neg);}
\DoxyCodeLine{711 }
\DoxyCodeLine{712 \textcolor{keywordtype}{void} PROJ\_DLL proj\_cleanup(\textcolor{keywordtype}{void});}
\DoxyCodeLine{713 }
\DoxyCodeLine{716 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{717 \textcolor{comment}{/* Binding in C of C++ API */}}
\DoxyCodeLine{718 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{719 }
\DoxyCodeLine{720 }
\DoxyCodeLine{727 \textcolor{keyword}{typedef} \textcolor{keywordtype}{char} **\mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}};}
\DoxyCodeLine{728 }
\DoxyCodeLine{730 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{731 \{}
\DoxyCodeLine{733     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16ac68cb36e3ad209f1c2872bc6d5f42e35}{PJ\_GUESSED\_WKT2\_2019}},}
\DoxyCodeLine{734 }
\DoxyCodeLine{736     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16a029cfc571334dcbea9815929b60d18ea}{PJ\_GUESSED\_WKT2\_2018}} = \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16ac68cb36e3ad209f1c2872bc6d5f42e35}{PJ\_GUESSED\_WKT2\_2019}},}
\DoxyCodeLine{737 }
\DoxyCodeLine{739     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16a3d6484a5fbdc3a2fc3ea8eb349f98c63}{PJ\_GUESSED\_WKT2\_2015}},}
\DoxyCodeLine{740 }
\DoxyCodeLine{742     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16ac7cccffeb6901592ceba853c9586b6c4}{PJ\_GUESSED\_WKT1\_GDAL}},}
\DoxyCodeLine{743 }
\DoxyCodeLine{745     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16a9f287b70d8c417764f3ce64d138f37c1}{PJ\_GUESSED\_WKT1\_ESRI}},}
\DoxyCodeLine{746 }
\DoxyCodeLine{748     \mbox{\hyperlink{group__iso19111__types_gga3453493087d771fdd594accba4a60e16ad564d9c8fe177fd57079792ef1bf5c93}{PJ\_GUESSED\_NOT\_WKT}}}
\DoxyCodeLine{749 \} \mbox{\hyperlink{group__iso19111__types_ga3453493087d771fdd594accba4a60e16}{PJ\_GUESSED\_WKT\_DIALECT}};}
\DoxyCodeLine{750 }
\DoxyCodeLine{752 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{753 \{}
\DoxyCodeLine{754     PJ\_CATEGORY\_ELLIPSOID,}
\DoxyCodeLine{755     PJ\_CATEGORY\_PRIME\_MERIDIAN,}
\DoxyCodeLine{756     PJ\_CATEGORY\_DATUM,}
\DoxyCodeLine{757     PJ\_CATEGORY\_CRS,}
\DoxyCodeLine{758     PJ\_CATEGORY\_COORDINATE\_OPERATION,}
\DoxyCodeLine{759     PJ\_CATEGORY\_DATUM\_ENSEMBLE}
\DoxyCodeLine{760 \} \mbox{\hyperlink{group__iso19111__types_ga26c44aece2b0119157cd4a061e45321f}{PJ\_CATEGORY}};}
\DoxyCodeLine{761 }
\DoxyCodeLine{763 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{764 \{}
\DoxyCodeLine{765     PJ\_TYPE\_UNKNOWN,}
\DoxyCodeLine{766 }
\DoxyCodeLine{767     PJ\_TYPE\_ELLIPSOID,}
\DoxyCodeLine{768 }
\DoxyCodeLine{769     PJ\_TYPE\_PRIME\_MERIDIAN,}
\DoxyCodeLine{770 }
\DoxyCodeLine{771     PJ\_TYPE\_GEODETIC\_REFERENCE\_FRAME,}
\DoxyCodeLine{772     PJ\_TYPE\_DYNAMIC\_GEODETIC\_REFERENCE\_FRAME,}
\DoxyCodeLine{773     PJ\_TYPE\_VERTICAL\_REFERENCE\_FRAME,}
\DoxyCodeLine{774     PJ\_TYPE\_DYNAMIC\_VERTICAL\_REFERENCE\_FRAME,}
\DoxyCodeLine{775     PJ\_TYPE\_DATUM\_ENSEMBLE,}
\DoxyCodeLine{776 }
\DoxyCodeLine{778     \mbox{\hyperlink{group__iso19111__types_gga0acde08a3427c34e551a61f758b31c48a50fab9ac545eb788d3b99ae46cf7a4df}{PJ\_TYPE\_CRS}},}
\DoxyCodeLine{779 }
\DoxyCodeLine{780     PJ\_TYPE\_GEODETIC\_CRS,}
\DoxyCodeLine{781     PJ\_TYPE\_GEOCENTRIC\_CRS,}
\DoxyCodeLine{782 }
\DoxyCodeLine{785     \mbox{\hyperlink{group__iso19111__types_gga0acde08a3427c34e551a61f758b31c48a486bb5b77b77ea0fa4c08ea2e7a442d2}{PJ\_TYPE\_GEOGRAPHIC\_CRS}},}
\DoxyCodeLine{786 }
\DoxyCodeLine{787     PJ\_TYPE\_GEOGRAPHIC\_2D\_CRS,}
\DoxyCodeLine{788     PJ\_TYPE\_GEOGRAPHIC\_3D\_CRS,}
\DoxyCodeLine{789     PJ\_TYPE\_VERTICAL\_CRS,}
\DoxyCodeLine{790     PJ\_TYPE\_PROJECTED\_CRS,}
\DoxyCodeLine{791     PJ\_TYPE\_COMPOUND\_CRS,}
\DoxyCodeLine{792     PJ\_TYPE\_TEMPORAL\_CRS,}
\DoxyCodeLine{793     PJ\_TYPE\_ENGINEERING\_CRS,}
\DoxyCodeLine{794     PJ\_TYPE\_BOUND\_CRS,}
\DoxyCodeLine{795     PJ\_TYPE\_OTHER\_CRS,}
\DoxyCodeLine{796 }
\DoxyCodeLine{797     PJ\_TYPE\_CONVERSION,}
\DoxyCodeLine{798     PJ\_TYPE\_TRANSFORMATION,}
\DoxyCodeLine{799     PJ\_TYPE\_CONCATENATED\_OPERATION,}
\DoxyCodeLine{800     PJ\_TYPE\_OTHER\_COORDINATE\_OPERATION,}
\DoxyCodeLine{801 }
\DoxyCodeLine{802     PJ\_TYPE\_TEMPORAL\_DATUM,}
\DoxyCodeLine{803     PJ\_TYPE\_ENGINEERING\_DATUM,}
\DoxyCodeLine{804     PJ\_TYPE\_PARAMETRIC\_DATUM,}
\DoxyCodeLine{805 \} \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}};}
\DoxyCodeLine{806 }
\DoxyCodeLine{808 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{809 \{}
\DoxyCodeLine{811     \mbox{\hyperlink{group__iso19111__types_gga654e7e400a70ad33bfbb23d9d1df39eea58a16adffac77f2ea0790c931a019cc2}{PJ\_COMP\_STRICT}},}
\DoxyCodeLine{812 }
\DoxyCodeLine{820     \mbox{\hyperlink{group__iso19111__types_gga654e7e400a70ad33bfbb23d9d1df39eea62f216b8be8636239b27e7cbe3da1c86}{PJ\_COMP\_EQUIVALENT}},}
\DoxyCodeLine{821 }
\DoxyCodeLine{826     \mbox{\hyperlink{group__iso19111__types_gga654e7e400a70ad33bfbb23d9d1df39eea403f7948c2c0127c5b23733727aa5809}{PJ\_COMP\_EQUIVALENT\_EXCEPT\_AXIS\_ORDER\_GEOGCRS}},}
\DoxyCodeLine{827 \} \mbox{\hyperlink{group__iso19111__types_ga654e7e400a70ad33bfbb23d9d1df39ee}{PJ\_COMPARISON\_CRITERION}};}
\DoxyCodeLine{828 }
\DoxyCodeLine{829 }
\DoxyCodeLine{831 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{832 \{}
\DoxyCodeLine{834     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca2eb75464b58c0d53450e3f918beda107}{PJ\_WKT2\_2015}},}
\DoxyCodeLine{836     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca47783cb8b8618b947c792acc4704676c}{PJ\_WKT2\_2015\_SIMPLIFIED}},}
\DoxyCodeLine{838     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca385c236c0a6d8d0e32b7cb5b4f69da9e}{PJ\_WKT2\_2019}},}
\DoxyCodeLine{840     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca90f4f2d08eb84471fb5f3030778d0067}{PJ\_WKT2\_2018}} = \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca385c236c0a6d8d0e32b7cb5b4f69da9e}{PJ\_WKT2\_2019}},}
\DoxyCodeLine{842     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764caa4990cbbc9ceb6091db4997cab818bc3}{PJ\_WKT2\_2019\_SIMPLIFIED}},}
\DoxyCodeLine{844     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca0834502845e91e50a27e4138c3dc586f}{PJ\_WKT2\_2018\_SIMPLIFIED}} = \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764caa4990cbbc9ceb6091db4997cab818bc3}{PJ\_WKT2\_2019\_SIMPLIFIED}},}
\DoxyCodeLine{846     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca954fc3d4f834af1ae44d49fb3250733f}{PJ\_WKT1\_GDAL}},}
\DoxyCodeLine{848     \mbox{\hyperlink{group__iso19111__types_ggaa2c2de23d90fe0d1d335f6184bff764ca5ae78834150a1efe397ef94456fa26ef}{PJ\_WKT1\_ESRI}}}
\DoxyCodeLine{849 \} \mbox{\hyperlink{group__iso19111__types_gaa2c2de23d90fe0d1d335f6184bff764c}{PJ\_WKT\_TYPE}};}
\DoxyCodeLine{850 }
\DoxyCodeLine{854 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{855 \{}
\DoxyCodeLine{857     \mbox{\hyperlink{group__iso19111__types_gga2223a725c58dab5bf93f20aecc9f03c5a14d7cd14f47c08c0a989dd93038d5088}{PJ\_CRS\_EXTENT\_NONE}},}
\DoxyCodeLine{858 }
\DoxyCodeLine{860     \mbox{\hyperlink{group__iso19111__types_gga2223a725c58dab5bf93f20aecc9f03c5aa78f99b22a591c67de63ebc84b8982bd}{PJ\_CRS\_EXTENT\_BOTH}},}
\DoxyCodeLine{861 }
\DoxyCodeLine{864     \mbox{\hyperlink{group__iso19111__types_gga2223a725c58dab5bf93f20aecc9f03c5af2c505f187abfbba1906d3b337cba632}{PJ\_CRS\_EXTENT\_INTERSECTION}},}
\DoxyCodeLine{865 }
\DoxyCodeLine{867     \mbox{\hyperlink{group__iso19111__types_gga2223a725c58dab5bf93f20aecc9f03c5a060f0036b2bb75a37ab8c970527364f3}{PJ\_CRS\_EXTENT\_SMALLEST}}}
\DoxyCodeLine{868 \} \mbox{\hyperlink{group__iso19111__types_ga2223a725c58dab5bf93f20aecc9f03c5}{PROJ\_CRS\_EXTENT\_USE}};}
\DoxyCodeLine{869 }
\DoxyCodeLine{871 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \{}
\DoxyCodeLine{874     \mbox{\hyperlink{group__iso19111__types_gga8a63b764c6b5ad06b35f7fdf81bcaa93a24fc0488dc48c856240bb76a5b25f555}{PROJ\_GRID\_AVAILABILITY\_USED\_FOR\_SORTING}},}
\DoxyCodeLine{875 }
\DoxyCodeLine{877     \mbox{\hyperlink{group__iso19111__types_gga8a63b764c6b5ad06b35f7fdf81bcaa93ac2f3e7703fab0a5c5fd822936e0d3d28}{PROJ\_GRID\_AVAILABILITY\_DISCARD\_OPERATION\_IF\_MISSING\_GRID}},}
\DoxyCodeLine{878 }
\DoxyCodeLine{881     \mbox{\hyperlink{group__iso19111__types_gga8a63b764c6b5ad06b35f7fdf81bcaa93a3a89888e35d853048dd987cab48e810a}{PROJ\_GRID\_AVAILABILITY\_IGNORED}},}
\DoxyCodeLine{882 }
\DoxyCodeLine{887     \mbox{\hyperlink{group__iso19111__types_gga8a63b764c6b5ad06b35f7fdf81bcaa93a43ccf77f63882bf37c176969940385cf}{PROJ\_GRID\_AVAILABILITY\_KNOWN\_AVAILABLE}},}
\DoxyCodeLine{888 \} \mbox{\hyperlink{group__iso19111__types_ga8a63b764c6b5ad06b35f7fdf81bcaa93}{PROJ\_GRID\_AVAILABILITY\_USE}};}
\DoxyCodeLine{889 }
\DoxyCodeLine{891 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{892 \{}
\DoxyCodeLine{894     \mbox{\hyperlink{group__iso19111__types_ggadd9b673c590f7f90a4b022c68a2b2b00af3b0c368241b523426824fe0e97953c9}{PJ\_PROJ\_5}},}
\DoxyCodeLine{896     \mbox{\hyperlink{group__iso19111__types_ggadd9b673c590f7f90a4b022c68a2b2b00a6ab85f34053d7904cef39f9c50639224}{PJ\_PROJ\_4}}}
\DoxyCodeLine{897 \} \mbox{\hyperlink{group__iso19111__types_gadd9b673c590f7f90a4b022c68a2b2b00}{PJ\_PROJ\_STRING\_TYPE}};}
\DoxyCodeLine{898 }
\DoxyCodeLine{900 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \{}
\DoxyCodeLine{903     \mbox{\hyperlink{group__iso19111__types_ggadfc8adff35d141ac9c3c27f457f25be1a35e8f3d20b1828dd43a5f586f4f6442d}{PROJ\_SPATIAL\_CRITERION\_STRICT\_CONTAINMENT}},}
\DoxyCodeLine{904 }
\DoxyCodeLine{907     \mbox{\hyperlink{group__iso19111__types_ggadfc8adff35d141ac9c3c27f457f25be1a6ee5ddba902534048e218bf2da31a608}{PROJ\_SPATIAL\_CRITERION\_PARTIAL\_INTERSECTION}}}
\DoxyCodeLine{908 \} \mbox{\hyperlink{group__iso19111__types_gadfc8adff35d141ac9c3c27f457f25be1}{PROJ\_SPATIAL\_CRITERION}};}
\DoxyCodeLine{909 }
\DoxyCodeLine{911 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \{}
\DoxyCodeLine{913     \mbox{\hyperlink{group__iso19111__types_gga7c79b426947391654b6ef2bca4a83835a5a27780b3a4b8b931201c473fa5ed288}{PROJ\_INTERMEDIATE\_CRS\_USE\_ALWAYS}},}
\DoxyCodeLine{914 }
\DoxyCodeLine{917     \mbox{\hyperlink{group__iso19111__types_gga7c79b426947391654b6ef2bca4a83835a453e93c9ebefeedfb03dd0d557e30918}{PROJ\_INTERMEDIATE\_CRS\_USE\_IF\_NO\_DIRECT\_TRANSFORMATION}},}
\DoxyCodeLine{918 }
\DoxyCodeLine{919     \textcolor{comment}{/* Do not attempt looking for intermediate CRS. */}}
\DoxyCodeLine{920     PROJ\_INTERMEDIATE\_CRS\_USE\_NEVER,}
\DoxyCodeLine{921 \} \mbox{\hyperlink{group__iso19111__types_ga7c79b426947391654b6ef2bca4a83835}{PROJ\_INTERMEDIATE\_CRS\_USE}};}
\DoxyCodeLine{922 }
\DoxyCodeLine{924 \textcolor{keyword}{typedef} \textcolor{keyword}{enum}}
\DoxyCodeLine{925 \{}
\DoxyCodeLine{926     PJ\_CS\_TYPE\_UNKNOWN,}
\DoxyCodeLine{927 }
\DoxyCodeLine{928     PJ\_CS\_TYPE\_CARTESIAN,}
\DoxyCodeLine{929     PJ\_CS\_TYPE\_ELLIPSOIDAL,}
\DoxyCodeLine{930     PJ\_CS\_TYPE\_VERTICAL,}
\DoxyCodeLine{931     PJ\_CS\_TYPE\_SPHERICAL,}
\DoxyCodeLine{932     PJ\_CS\_TYPE\_ORDINAL,}
\DoxyCodeLine{933     PJ\_CS\_TYPE\_PARAMETRIC,}
\DoxyCodeLine{934     PJ\_CS\_TYPE\_DATETIMETEMPORAL,}
\DoxyCodeLine{935     PJ\_CS\_TYPE\_TEMPORALCOUNT,}
\DoxyCodeLine{936     PJ\_CS\_TYPE\_TEMPORALMEASURE}
\DoxyCodeLine{937 \} \mbox{\hyperlink{group__iso19111__types_ga309b520b438e2c6d150b2e635a4afdf6}{PJ\_COORDINATE\_SYSTEM\_TYPE}};}
\DoxyCodeLine{938 }
\DoxyCodeLine{944 \textcolor{keyword}{typedef} \textcolor{keyword}{struct}}
\DoxyCodeLine{945 \{}
\DoxyCodeLine{947     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_a2aaf613589d3ae5bdc9e02cace650923}{auth\_name}};}
\DoxyCodeLine{949     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_aa2f861ac8733182dec726999e56ce539}{code}};}
\DoxyCodeLine{951     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_a5482280d4396197234da00d190d0a83e}{name}};}
\DoxyCodeLine{953     \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}} \mbox{\hyperlink{structPROJ__CRS__INFO_a28333bf93c4023585bf3a0c55a198449}{type}};}
\DoxyCodeLine{955     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__CRS__INFO_a3589d7f75ef15516817f252f6de5c698}{deprecated}};}
\DoxyCodeLine{958     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__CRS__INFO_a21223a0895e8fa80310feb11c23b3cb4}{bbox\_valid}};}
\DoxyCodeLine{960     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__INFO_a1480aa32b8d72f4816a62c8d1d40c5c8}{west\_lon\_degree}};}
\DoxyCodeLine{962     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__INFO_acc49b4f1606807b8e0d63533cffd585f}{south\_lat\_degree}};}
\DoxyCodeLine{964     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__INFO_a14e96dd40cd586df5fb70f837f9eaa9e}{east\_lon\_degree}};}
\DoxyCodeLine{966     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__INFO_a5436ebab441ec6ff7872c5a52391bba7}{north\_lat\_degree}};}
\DoxyCodeLine{968     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_a65e41527fc53a004147a1dd0206a77b9}{area\_name}};}
\DoxyCodeLine{971     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_aaf5dfb9e1767652ab87260c0375a46f9}{projection\_method\_name}};}
\DoxyCodeLine{972 }
\DoxyCodeLine{976     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__INFO_ac4818807f247f4eb17dad45f4083604d}{celestial\_body\_name}};}
\DoxyCodeLine{977 \} \mbox{\hyperlink{structPROJ__CRS__INFO}{PROJ\_CRS\_INFO}};}
\DoxyCodeLine{978 }
\DoxyCodeLine{984 \textcolor{keyword}{typedef} \textcolor{keyword}{struct}}
\DoxyCodeLine{985 \{}
\DoxyCodeLine{987     \textcolor{keyword}{const} \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}}* \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a86a3131e91abadf4a3d5f67f441bb1f1}{types}};}
\DoxyCodeLine{989     \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a17c2a3a95be809e1ab3f92b55c5bc36a}{typesCount}};}
\DoxyCodeLine{990 }
\DoxyCodeLine{996     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a6cb020dd412adf258061dce232abbcd9}{crs\_area\_of\_use\_contains\_bbox}};}
\DoxyCodeLine{999     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_afc1f01606cda74022df15f5daebc326f}{bbox\_valid}};}
\DoxyCodeLine{1001     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a14403e80f21eb233f4c8b6b94cc49b6e}{west\_lon\_degree}};}
\DoxyCodeLine{1003     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a2b7d92e06313d7bf8f267823bedc3fc8}{south\_lat\_degree}};}
\DoxyCodeLine{1005     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a0b655ded94197085360233cf0b7ac1da}{east\_lon\_degree}};}
\DoxyCodeLine{1007     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a9351b046681516bcddb2b0aa425fe17c}{north\_lat\_degree}};}
\DoxyCodeLine{1008 }
\DoxyCodeLine{1010     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a01aac8e9d525faca50907780d226a2cf}{allow\_deprecated}};}
\DoxyCodeLine{1011 }
\DoxyCodeLine{1016     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS_a421c3840d94cf3b39a988706682cb9ac}{celestial\_body\_name}};}
\DoxyCodeLine{1017 \} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS}{PROJ\_CRS\_LIST\_PARAMETERS}};}
\DoxyCodeLine{1018 }
\DoxyCodeLine{1025 \textcolor{keyword}{typedef} \textcolor{keyword}{struct}}
\DoxyCodeLine{1026 \{}
\DoxyCodeLine{1028     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__UNIT__INFO_a9200c7c0a7e75d497982e011e4b4c667}{auth\_name}};}
\DoxyCodeLine{1029 }
\DoxyCodeLine{1031     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__UNIT__INFO_a3ccace573ea3bbc26fb1bfe0a887cd93}{code}};}
\DoxyCodeLine{1032 }
\DoxyCodeLine{1034     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__UNIT__INFO_a6ad97e9bd39cbd422bce4fb53cc9443d}{name}};}
\DoxyCodeLine{1035 }
\DoxyCodeLine{1038     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__UNIT__INFO_a4285a4e07ab9b36ae10cd6ad9e733f63}{category}};}
\DoxyCodeLine{1039 }
\DoxyCodeLine{1043     \textcolor{keywordtype}{double} \mbox{\hyperlink{structPROJ__UNIT__INFO_a07cd57479cfe87b85e28c550575e728b}{conv\_factor}};}
\DoxyCodeLine{1044 }
\DoxyCodeLine{1046     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__UNIT__INFO_a643252a772508e184788d34866f8e095}{proj\_short\_name}};}
\DoxyCodeLine{1047 }
\DoxyCodeLine{1049     \textcolor{keywordtype}{int} \mbox{\hyperlink{structPROJ__UNIT__INFO_af706b19665a2a823f8f2e879cc021051}{deprecated}};}
\DoxyCodeLine{1050 \} \mbox{\hyperlink{structPROJ__UNIT__INFO}{PROJ\_UNIT\_INFO}};}
\DoxyCodeLine{1051 }
\DoxyCodeLine{1058 \textcolor{keyword}{typedef} \textcolor{keyword}{struct}}
\DoxyCodeLine{1059 \{}
\DoxyCodeLine{1061     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CELESTIAL__BODY__INFO_aaa1648ff908d86f196ab5bef68e0bb86}{auth\_name}};}
\DoxyCodeLine{1062 }
\DoxyCodeLine{1064     \textcolor{keywordtype}{char}* \mbox{\hyperlink{structPROJ__CELESTIAL__BODY__INFO_aecefd8d3ed82eafd703098fbfdbeed6e}{name}};}
\DoxyCodeLine{1065 }
\DoxyCodeLine{1066 \} \mbox{\hyperlink{structPROJ__CELESTIAL__BODY__INFO}{PROJ\_CELESTIAL\_BODY\_INFO}};}
\DoxyCodeLine{1067 }
\DoxyCodeLine{1068 }
\DoxyCodeLine{1089 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}};}
\DoxyCodeLine{1092 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gab2b385a4e935d8e0aadd32411ed7c06e}{proj\_string\_list\_destroy}}(\mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} list);}
\DoxyCodeLine{1093 }
\DoxyCodeLine{1094 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga6ed84e4b3915c7428e582b869c6fb6a6}{proj\_context\_set\_autoclose\_database}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1095                                                   \textcolor{keywordtype}{int} autoclose);}
\DoxyCodeLine{1096 }
\DoxyCodeLine{1097 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga3eff4cd87726e46cf5a4bf971c1cabf3}{proj\_context\_set\_database\_path}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1098                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *dbPath,}
\DoxyCodeLine{1099                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keyword}{const} *auxDbPaths,}
\DoxyCodeLine{1100                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1101 }
\DoxyCodeLine{1102 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga6c1139a7aeccd2ae7b21009215dfd7a5}{proj\_context\_get\_database\_path}}(PJ\_CONTEXT *ctx);}
\DoxyCodeLine{1103 }
\DoxyCodeLine{1104 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga6ab791c35012d9591cb94b1ad82fcb97}{proj\_context\_get\_database\_metadata}}(PJ\_CONTEXT* ctx,}
\DoxyCodeLine{1105                                                         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* key);}
\DoxyCodeLine{1106 }
\DoxyCodeLine{1107 \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gae33b9dccb71dc4c54a87a7ccaaac670f}{proj\_context\_get\_database\_structure}}(}
\DoxyCodeLine{1108                                                 PJ\_CONTEXT* ctx,}
\DoxyCodeLine{1109                                                 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1110 }
\DoxyCodeLine{1111 \mbox{\hyperlink{group__iso19111__types_ga3453493087d771fdd594accba4a60e16}{PJ\_GUESSED\_WKT\_DIALECT}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga6b06d3c534dc0a78a2cc13b861542f1f}{proj\_context\_guess\_wkt\_dialect}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1112                                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *wkt);}
\DoxyCodeLine{1113 }
\DoxyCodeLine{1114 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga757b6749056259c44e7acc66a700b5d8}{proj\_create\_from\_wkt}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *wkt,}
\DoxyCodeLine{1115                                           \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options,}
\DoxyCodeLine{1116                                           \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} *out\_warnings,}
\DoxyCodeLine{1117                                           \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} *out\_grammar\_errors);}
\DoxyCodeLine{1118 }
\DoxyCodeLine{1119 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gaed12a28a006cb9677d7ede2395e248d4}{proj\_create\_from\_database}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1120                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1121                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *code,}
\DoxyCodeLine{1122                                                \mbox{\hyperlink{group__iso19111__types_ga26c44aece2b0119157cd4a061e45321f}{PJ\_CATEGORY}} category,}
\DoxyCodeLine{1123                                                \textcolor{keywordtype}{int} usePROJAlternativeGridNames,}
\DoxyCodeLine{1124                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1125 }
\DoxyCodeLine{1126 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gac34dbd9d6b49aaf67ab62bf3891ab003}{proj\_uom\_get\_info\_from\_database}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1127                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1128                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *code,}
\DoxyCodeLine{1129                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_name,}
\DoxyCodeLine{1130                                \textcolor{keywordtype}{double} *out\_conv\_factor,}
\DoxyCodeLine{1131                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_category);}
\DoxyCodeLine{1132 }
\DoxyCodeLine{1133 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga9f07363878036878575ad847a23326bd}{proj\_grid\_get\_info\_from\_database}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1134                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *grid\_name,}
\DoxyCodeLine{1135                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_full\_name,}
\DoxyCodeLine{1136                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_package\_name,}
\DoxyCodeLine{1137                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_url,}
\DoxyCodeLine{1138                                \textcolor{keywordtype}{int} *out\_direct\_download,}
\DoxyCodeLine{1139                                \textcolor{keywordtype}{int} *out\_open\_license,}
\DoxyCodeLine{1140                                \textcolor{keywordtype}{int} *out\_available);}
\DoxyCodeLine{1141 }
\DoxyCodeLine{1142 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gab3f8fd8798ccde680bef1b37ee07cfc2}{proj\_clone}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1143 }
\DoxyCodeLine{1144 \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga2e3581bd359824f198f118e46c630571}{proj\_create\_from\_name}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1145                                                 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1146                                                 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *searchedName,}
\DoxyCodeLine{1147                                                 \textcolor{keyword}{const} \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}}* types,}
\DoxyCodeLine{1148                                                 \textcolor{keywordtype}{size\_t} typesCount,}
\DoxyCodeLine{1149                                                 \textcolor{keywordtype}{int} approximateMatch,}
\DoxyCodeLine{1150                                                 \textcolor{keywordtype}{size\_t} limitResultCount,}
\DoxyCodeLine{1151                                                 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1152 }
\DoxyCodeLine{1153 \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gabbebc66b740741b14c89afa398a1b58a}{proj\_get\_type}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1154 }
\DoxyCodeLine{1155 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gac821845a4a86f6dda55d8d2083e1e836}{proj\_is\_deprecated}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1156 }
\DoxyCodeLine{1157 \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga1643f868cc65aa73947545c06b984ecc}{proj\_get\_non\_deprecated}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1158                                                   \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1159 }
\DoxyCodeLine{1160 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaeb8884c512c547adfb20bf649132cfc6}{proj\_is\_equivalent\_to}}(\textcolor{keyword}{const} PJ *obj, \textcolor{keyword}{const} PJ *other,}
\DoxyCodeLine{1161                                        \mbox{\hyperlink{group__iso19111__types_ga654e7e400a70ad33bfbb23d9d1df39ee}{PJ\_COMPARISON\_CRITERION}} criterion);}
\DoxyCodeLine{1162 }
\DoxyCodeLine{1163 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gadd6e71f99a73b86afc5ced898cba126c}{proj\_is\_equivalent\_to\_with\_ctx}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1164                                             \textcolor{keyword}{const} PJ *obj, \textcolor{keyword}{const} PJ *other,}
\DoxyCodeLine{1165                                             \mbox{\hyperlink{group__iso19111__types_ga654e7e400a70ad33bfbb23d9d1df39ee}{PJ\_COMPARISON\_CRITERION}} criterion);}
\DoxyCodeLine{1166 }
\DoxyCodeLine{1167 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga127c2f37a3bc7535570c26e72b005f43}{proj\_is\_crs}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1168 }
\DoxyCodeLine{1169 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_ga2cbd7427aee737d6e6bf49ba439d4da4}{proj\_get\_name}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1170 }
\DoxyCodeLine{1171 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_gae917ff661853ed52360dbfd4d3bcbf67}{proj\_get\_id\_auth\_name}}(\textcolor{keyword}{const} PJ *obj, \textcolor{keywordtype}{int} index);}
\DoxyCodeLine{1172 }
\DoxyCodeLine{1173 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_gab1c678e033ee0a425f8c52af47a20ddf}{proj\_get\_id\_code}}(\textcolor{keyword}{const} PJ *obj, \textcolor{keywordtype}{int} index);}
\DoxyCodeLine{1174 }
\DoxyCodeLine{1175 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_ga6c6f1bc87ee5a2c3c38f872b5eab1874}{proj\_get\_remarks}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1176 }
\DoxyCodeLine{1177 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_gaca5b39ab9b215732470128d96e93149b}{proj\_get\_scope}}(\textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1178 }
\DoxyCodeLine{1179 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga2001cc5d15f27fd3e16c2a373559a39a}{proj\_get\_area\_of\_use}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1180                                       \textcolor{keyword}{const} PJ *obj,}
\DoxyCodeLine{1181                                       \textcolor{keywordtype}{double}* out\_west\_lon\_degree,}
\DoxyCodeLine{1182                                       \textcolor{keywordtype}{double}* out\_south\_lat\_degree,}
\DoxyCodeLine{1183                                       \textcolor{keywordtype}{double}* out\_east\_lon\_degree,}
\DoxyCodeLine{1184                                       \textcolor{keywordtype}{double}* out\_north\_lat\_degree,}
\DoxyCodeLine{1185                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_area\_name);}
\DoxyCodeLine{1186 }
\DoxyCodeLine{1187 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_ga87d87597aad60bf06a45997fb8eaa52e}{proj\_as\_wkt}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1188                                      \textcolor{keyword}{const} PJ *obj, \mbox{\hyperlink{group__iso19111__types_gaa2c2de23d90fe0d1d335f6184bff764c}{PJ\_WKT\_TYPE}} type,}
\DoxyCodeLine{1189                                      \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1190 }
\DoxyCodeLine{1191 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_gab903de54d45fd8a7d8d7cb53662c1826}{proj\_as\_proj\_string}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1192                                              \textcolor{keyword}{const} PJ *obj,}
\DoxyCodeLine{1193                                              \mbox{\hyperlink{group__iso19111__types_gadd9b673c590f7f90a4b022c68a2b2b00}{PJ\_PROJ\_STRING\_TYPE}} type,}
\DoxyCodeLine{1194                                              \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1195 }
\DoxyCodeLine{1196 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL* \mbox{\hyperlink{group__iso19111__functions_ga667fc1dac4d91d40ea89d90f70b147e7}{proj\_as\_projjson}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1197                                       \textcolor{keyword}{const} PJ *obj,}
\DoxyCodeLine{1198                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options);}
\DoxyCodeLine{1199 }
\DoxyCodeLine{1200 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gaca20f75e07f699cbcddea5013038af3d}{proj\_get\_source\_crs}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1201                                          \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1202 }
\DoxyCodeLine{1203 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gabac35c21b9c1ee0dd95373d37d63fab6}{proj\_get\_target\_crs}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1204                                          \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1205 }
\DoxyCodeLine{1206 \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga8300cfa5fb5e080e21cb205a6fde53b3}{proj\_identify}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1207                                         \textcolor{keyword}{const} PJ *obj,}
\DoxyCodeLine{1208                                         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1209                                         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *options,}
\DoxyCodeLine{1210                                         \textcolor{keywordtype}{int} **out\_confidence);}
\DoxyCodeLine{1211 }
\DoxyCodeLine{1212 \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gabf2acd272bf28deaaefcf2d090d19a0b}{proj\_get\_geoid\_models\_from\_database}}(}
\DoxyCodeLine{1213                                PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1214                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1215                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *code,}
\DoxyCodeLine{1216                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keyword}{const} *options);}
\DoxyCodeLine{1217 }
\DoxyCodeLine{1218 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga69e847fe98267d7d59d20c8442d4ab77}{proj\_int\_list\_destroy}}(\textcolor{keywordtype}{int}* list);}
\DoxyCodeLine{1219 }
\DoxyCodeLine{1220 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{1221 }
\DoxyCodeLine{1222 \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga49b562c6d8015209f14dfd541db745a7}{proj\_get\_authorities\_from\_database}}(PJ\_CONTEXT *ctx);}
\DoxyCodeLine{1223 }
\DoxyCodeLine{1224 \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaffb1dff915e98bfd42588bdd9425e425}{proj\_get\_codes\_from\_database}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1225                                              \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1226                                              \mbox{\hyperlink{group__iso19111__types_ga0acde08a3427c34e551a61f758b31c48}{PJ\_TYPE}} type,}
\DoxyCodeLine{1227                                              \textcolor{keywordtype}{int} allow\_deprecated);}
\DoxyCodeLine{1228 }
\DoxyCodeLine{1229 \mbox{\hyperlink{structPROJ__CELESTIAL__BODY__INFO}{PROJ\_CELESTIAL\_BODY\_INFO}} PROJ\_DLL **\mbox{\hyperlink{group__iso19111__functions_gaa5e2bbaa165953cc8662df712e780ae0}{proj\_get\_celestial\_body\_list\_from\_database}}(}
\DoxyCodeLine{1230                                               PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1231                                               \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1232                                               \textcolor{keywordtype}{int} *out\_result\_count);}
\DoxyCodeLine{1233 }
\DoxyCodeLine{1234 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga449bd02948d99d6a3aa8b78ecaade110}{proj\_celestial\_body\_list\_destroy}}(\mbox{\hyperlink{structPROJ__CELESTIAL__BODY__INFO}{PROJ\_CELESTIAL\_BODY\_INFO}}** list);}
\DoxyCodeLine{1235 }
\DoxyCodeLine{1236 \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS}{PROJ\_CRS\_LIST\_PARAMETERS}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga4d1981585db661fee87887c3ddbb2ab0}{proj\_get\_crs\_list\_parameters\_create}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{1237 }
\DoxyCodeLine{1238 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga9e884264fb0b4b6a0a6c78722567b59f}{proj\_get\_crs\_list\_parameters\_destroy}}(}
\DoxyCodeLine{1239                                         \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS}{PROJ\_CRS\_LIST\_PARAMETERS}}* params);}
\DoxyCodeLine{1240 }
\DoxyCodeLine{1241 \mbox{\hyperlink{structPROJ__CRS__INFO}{PROJ\_CRS\_INFO}} PROJ\_DLL **\mbox{\hyperlink{group__iso19111__functions_gae560f23c0a760cf08df726517af32a6b}{proj\_get\_crs\_info\_list\_from\_database}}(}
\DoxyCodeLine{1242                                       PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1243                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1244                                       \textcolor{keyword}{const} \mbox{\hyperlink{structPROJ__CRS__LIST__PARAMETERS}{PROJ\_CRS\_LIST\_PARAMETERS}}* params,}
\DoxyCodeLine{1245                                       \textcolor{keywordtype}{int} *out\_result\_count);}
\DoxyCodeLine{1246 }
\DoxyCodeLine{1247 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga8efead6c2a2d4920a3e7a9d05cca52d6}{proj\_crs\_info\_list\_destroy}}(\mbox{\hyperlink{structPROJ__CRS__INFO}{PROJ\_CRS\_INFO}}** list);}
\DoxyCodeLine{1248 }
\DoxyCodeLine{1249 \mbox{\hyperlink{structPROJ__UNIT__INFO}{PROJ\_UNIT\_INFO}} PROJ\_DLL **\mbox{\hyperlink{group__iso19111__functions_gad9912220346fc8c2aea7170dbf62132a}{proj\_get\_units\_from\_database}}(}
\DoxyCodeLine{1250                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1251                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *auth\_name,}
\DoxyCodeLine{1252                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *category,}
\DoxyCodeLine{1253                                             \textcolor{keywordtype}{int} allow\_deprecated,}
\DoxyCodeLine{1254                                             \textcolor{keywordtype}{int} *out\_result\_count);}
\DoxyCodeLine{1255 }
\DoxyCodeLine{1256 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gac92c073d80a23c8e36b0405287899e65}{proj\_unit\_list\_destroy}}(\mbox{\hyperlink{structPROJ__UNIT__INFO}{PROJ\_UNIT\_INFO}}** list);}
\DoxyCodeLine{1257 }
\DoxyCodeLine{1258 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{1260 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structPJ__INSERT__SESSION}{PJ\_INSERT\_SESSION}} \mbox{\hyperlink{structPJ__INSERT__SESSION}{PJ\_INSERT\_SESSION}};}
\DoxyCodeLine{1263 \mbox{\hyperlink{structPJ__INSERT__SESSION}{PJ\_INSERT\_SESSION}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gadcafc50dcf519643cc9b360cb9943fcb}{proj\_insert\_object\_session\_create}}(PJ\_CONTEXT *ctx);}
\DoxyCodeLine{1264 }
\DoxyCodeLine{1265 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaec2ab39dea57acb2160daf089b5e3554}{proj\_insert\_object\_session\_destroy}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1266                                                  \mbox{\hyperlink{structPJ__INSERT__SESSION}{PJ\_INSERT\_SESSION}} *session);}
\DoxyCodeLine{1267 }
\DoxyCodeLine{1268 \mbox{\hyperlink{group__iso19111__types_gab30fdab04c7368a72112f4097177f514}{PROJ\_STRING\_LIST}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gacb45f9123d0d55f18e8bea8b73bf9067}{proj\_get\_insert\_statements}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1269                                             \mbox{\hyperlink{structPJ__INSERT__SESSION}{PJ\_INSERT\_SESSION}} *session,}
\DoxyCodeLine{1270                                             \textcolor{keyword}{const} PJ *\textcolor{keywordtype}{object},}
\DoxyCodeLine{1271                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *authority,}
\DoxyCodeLine{1272                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *code,}
\DoxyCodeLine{1273                                             \textcolor{keywordtype}{int} numeric\_codes,}
\DoxyCodeLine{1274                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keyword}{const} *allowed\_authorities,}
\DoxyCodeLine{1275                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keyword}{const} *options);}
\DoxyCodeLine{1276 }
\DoxyCodeLine{1277 \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga69b505fcea7739eed09cf4142eafadcb}{proj\_suggests\_code\_for}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1278                                       \textcolor{keyword}{const} PJ *\textcolor{keywordtype}{object},}
\DoxyCodeLine{1279                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char} *authority,}
\DoxyCodeLine{1280                                       \textcolor{keywordtype}{int} numeric\_code,}
\DoxyCodeLine{1281                                       \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keyword}{const} *options);}
\DoxyCodeLine{1282 }
\DoxyCodeLine{1283 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gadeab7bc5cb9fad8e72e056f1de6926f6}{proj\_string\_destroy}}(\textcolor{keywordtype}{char}* str);}
\DoxyCodeLine{1284 }
\DoxyCodeLine{1285 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{1287 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}};}
\DoxyCodeLine{1290 \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gafa1d9bb19763799dbf60cd5da298c9ef}{proj\_create\_operation\_factory\_context}}(}
\DoxyCodeLine{1291                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1292                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *authority);}
\DoxyCodeLine{1293 }
\DoxyCodeLine{1294 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga84662943acd6b3913e11e77ecb773d11}{proj\_operation\_factory\_context\_destroy}}(}
\DoxyCodeLine{1295                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *ctx);}
\DoxyCodeLine{1296 }
\DoxyCodeLine{1297 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga9fd369cc4f25e52acf0a6a21d5f13c2f}{proj\_operation\_factory\_context\_set\_desired\_accuracy}}(}
\DoxyCodeLine{1298                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1299                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1300                                             \textcolor{keywordtype}{double} accuracy);}
\DoxyCodeLine{1301 }
\DoxyCodeLine{1302 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga65a925cc0ae3098276d81f993adf3863}{proj\_operation\_factory\_context\_set\_area\_of\_interest}}(}
\DoxyCodeLine{1303                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1304                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1305                                             \textcolor{keywordtype}{double} west\_lon\_degree,}
\DoxyCodeLine{1306                                             \textcolor{keywordtype}{double} south\_lat\_degree,}
\DoxyCodeLine{1307                                             \textcolor{keywordtype}{double} east\_lon\_degree,}
\DoxyCodeLine{1308                                             \textcolor{keywordtype}{double} north\_lat\_degree);}
\DoxyCodeLine{1309 }
\DoxyCodeLine{1310 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaba2802de26f9c3488145e006bfa8c288}{proj\_operation\_factory\_context\_set\_area\_of\_interest\_name}}(}
\DoxyCodeLine{1311                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1312                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1313                                             \textcolor{keyword}{const} \textcolor{keywordtype}{char}* area\_name);}
\DoxyCodeLine{1314 }
\DoxyCodeLine{1315 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gab679a8098a87c41952adeb3822f3b4d8}{proj\_operation\_factory\_context\_set\_crs\_extent\_use}}(}
\DoxyCodeLine{1316                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1317                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1318                                             \mbox{\hyperlink{group__iso19111__types_ga2223a725c58dab5bf93f20aecc9f03c5}{PROJ\_CRS\_EXTENT\_USE}} use);}
\DoxyCodeLine{1319 }
\DoxyCodeLine{1320 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga98fd7b9b60687e40484e7f669bb44696}{proj\_operation\_factory\_context\_set\_spatial\_criterion}}(}
\DoxyCodeLine{1321                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1322                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1323                                             \mbox{\hyperlink{group__iso19111__types_gadfc8adff35d141ac9c3c27f457f25be1}{PROJ\_SPATIAL\_CRITERION}} criterion);}
\DoxyCodeLine{1324 }
\DoxyCodeLine{1325 }
\DoxyCodeLine{1326 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaa6d4402c5f2cf18da3269fdd4bdabd1c}{proj\_operation\_factory\_context\_set\_grid\_availability\_use}}(}
\DoxyCodeLine{1327                                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1328                                             \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1329                                             \mbox{\hyperlink{group__iso19111__types_ga8a63b764c6b5ad06b35f7fdf81bcaa93}{PROJ\_GRID\_AVAILABILITY\_USE}} use);}
\DoxyCodeLine{1330 }
\DoxyCodeLine{1331 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga102372fec6cfaa23798bc64ecb91292c}{proj\_operation\_factory\_context\_set\_use\_proj\_alternative\_grid\_names}}(}
\DoxyCodeLine{1332     PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1333     \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1334     \textcolor{keywordtype}{int} usePROJNames);}
\DoxyCodeLine{1335 }
\DoxyCodeLine{1336 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga0576d0803c28bf5d9283e4300756b9f5}{proj\_operation\_factory\_context\_set\_allow\_use\_intermediate\_crs}}(}
\DoxyCodeLine{1337     PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1338     \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1339     \mbox{\hyperlink{group__iso19111__types_ga7c79b426947391654b6ef2bca4a83835}{PROJ\_INTERMEDIATE\_CRS\_USE}} use);}
\DoxyCodeLine{1340 }
\DoxyCodeLine{1341 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga6745312c4970bd4edfcc386a35590a34}{proj\_operation\_factory\_context\_set\_allowed\_intermediate\_crs}}(}
\DoxyCodeLine{1342     PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1343     \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1344     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \textcolor{keyword}{const} *list\_of\_auth\_name\_codes);}
\DoxyCodeLine{1345 }
\DoxyCodeLine{1346 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga58a6a250b7c29d4f6efb023fd91dabf2}{proj\_operation\_factory\_context\_set\_discard\_superseded}}(}
\DoxyCodeLine{1347     PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1348     \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1349     \textcolor{keywordtype}{int} discard);}
\DoxyCodeLine{1350 }
\DoxyCodeLine{1351 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga94cddeb4cf048dc9efdab60e35c0230a}{proj\_operation\_factory\_context\_set\_allow\_ballpark\_transformations}}(}
\DoxyCodeLine{1352     PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1353     \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *factory\_ctx,}
\DoxyCodeLine{1354     \textcolor{keywordtype}{int} allow);}
\DoxyCodeLine{1355 }
\DoxyCodeLine{1356 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{1357 }
\DoxyCodeLine{1358 }
\DoxyCodeLine{1359 \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gab5ef57e9bd9bff1341d05d56d1c5a8e2}{proj\_create\_operations}}(}
\DoxyCodeLine{1360                             PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1361                             \textcolor{keyword}{const} PJ *source\_crs,}
\DoxyCodeLine{1362                             \textcolor{keyword}{const} PJ *target\_crs,}
\DoxyCodeLine{1363                             \textcolor{keyword}{const} \mbox{\hyperlink{structPJ__OPERATION__FACTORY__CONTEXT}{PJ\_OPERATION\_FACTORY\_CONTEXT}} *operationContext);}
\DoxyCodeLine{1364 }
\DoxyCodeLine{1365 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga645fa2f0ff64dcbf5cd4a0361d306014}{proj\_list\_get\_count}}(\textcolor{keyword}{const} \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} *result);}
\DoxyCodeLine{1366 }
\DoxyCodeLine{1367 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gac831ee02c8cdef03ced2ec07abcf07d3}{proj\_list\_get}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1368                                    \textcolor{keyword}{const} \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} *result,}
\DoxyCodeLine{1369                                    \textcolor{keywordtype}{int} index);}
\DoxyCodeLine{1370 }
\DoxyCodeLine{1371 \textcolor{keywordtype}{void} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaa1274c437a786f9064556c139d689d71}{proj\_list\_destroy}}(\mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} *result);}
\DoxyCodeLine{1372 }
\DoxyCodeLine{1373 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga61bd60fa5f9c8a2f6a3443ddb2a5b10a}{proj\_get\_suggested\_operation}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1374                                           \mbox{\hyperlink{structPJ__OBJ__LIST}{PJ\_OBJ\_LIST}} *operations,}
\DoxyCodeLine{1375                                           PJ\_DIRECTION direction,}
\DoxyCodeLine{1376                                           PJ\_COORD coord);}
\DoxyCodeLine{1377 }
\DoxyCodeLine{1378 \textcolor{comment}{/* -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ */}}
\DoxyCodeLine{1379 }
\DoxyCodeLine{1380 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gab0bf9c7247a50e54502f3977f6c975ed}{proj\_crs\_is\_derived}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1381 }
\DoxyCodeLine{1382 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga2405cdec5fe6b121ff6f8d9bea358b07}{proj\_crs\_get\_geodetic\_crs}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1383 }
\DoxyCodeLine{1384 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga1d79bd02c7d38deba48825481c1ff203}{proj\_crs\_get\_horizontal\_datum}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1385 }
\DoxyCodeLine{1386 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga212d4b01b4a05ace104884535c7c6917}{proj\_crs\_get\_sub\_crs}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs, \textcolor{keywordtype}{int} index);}
\DoxyCodeLine{1387 }
\DoxyCodeLine{1388 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga62b01453e51ac619bddc553067186ca1}{proj\_crs\_get\_datum}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1389 }
\DoxyCodeLine{1390 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga7f3d16e65d6ef1688646e8cea432ca48}{proj\_crs\_get\_datum\_ensemble}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1391 }
\DoxyCodeLine{1392 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gaf5a7272e379e5abd367a64c426a9d414}{proj\_crs\_get\_datum\_forced}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1393 }
\DoxyCodeLine{1394 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gadb56c2288b443b0fea664b4361d79d46}{proj\_datum\_ensemble\_get\_member\_count}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1395                                                   \textcolor{keyword}{const} PJ *datum\_ensemble);}
\DoxyCodeLine{1396 }
\DoxyCodeLine{1397 \textcolor{keywordtype}{double} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga28ea9a6d171d6f9623a995bc04f862de}{proj\_datum\_ensemble\_get\_accuracy}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1398                                                  \textcolor{keyword}{const} PJ *datum\_ensemble);}
\DoxyCodeLine{1399 }
\DoxyCodeLine{1400 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gabe85eca25ee77a56f0a4b7654d269fed}{proj\_datum\_ensemble\_get\_member}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1401                                             \textcolor{keyword}{const} PJ *datum\_ensemble,}
\DoxyCodeLine{1402                                             \textcolor{keywordtype}{int} member\_index);}
\DoxyCodeLine{1403 }
\DoxyCodeLine{1404 \textcolor{keywordtype}{double} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga42234041d803ed80cc340e35bd3bb6b3}{proj\_dynamic\_datum\_get\_frame\_reference\_epoch}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1405                                                      \textcolor{keyword}{const} PJ *datum);}
\DoxyCodeLine{1406 }
\DoxyCodeLine{1407 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga8cb1f40bfa518906a1ce8fa42b3b2678}{proj\_crs\_get\_coordinate\_system}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1408 }
\DoxyCodeLine{1409 \mbox{\hyperlink{group__iso19111__types_ga309b520b438e2c6d150b2e635a4afdf6}{PJ\_COORDINATE\_SYSTEM\_TYPE}} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gae725f3de6682e038deaf408e7e0efe25}{proj\_cs\_get\_type}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1410                                                         \textcolor{keyword}{const} PJ *cs);}
\DoxyCodeLine{1411 }
\DoxyCodeLine{1412 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga6e3d7224db5759a7cc0e186c63a06203}{proj\_cs\_get\_axis\_count}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1413                                         \textcolor{keyword}{const} PJ *cs);}
\DoxyCodeLine{1414 }
\DoxyCodeLine{1415 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga798d8fb70377cee44abd97996d39c50c}{proj\_cs\_get\_axis\_info}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1416                                        \textcolor{keyword}{const} PJ *cs, \textcolor{keywordtype}{int} index,}
\DoxyCodeLine{1417                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_name,}
\DoxyCodeLine{1418                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_abbrev,}
\DoxyCodeLine{1419                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_direction,}
\DoxyCodeLine{1420                                        \textcolor{keywordtype}{double} *out\_unit\_conv\_factor,}
\DoxyCodeLine{1421                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_name,}
\DoxyCodeLine{1422                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_auth\_name,}
\DoxyCodeLine{1423                                        \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_code);}
\DoxyCodeLine{1424 }
\DoxyCodeLine{1425 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga1b9e88a9919ef4da2ba49e69a636df16}{proj\_get\_ellipsoid}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1426                                         \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1427 }
\DoxyCodeLine{1428 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gacc1402e3ce480e0618da4c615d5c3145}{proj\_ellipsoid\_get\_parameters}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1429                                                \textcolor{keyword}{const} PJ *ellipsoid,}
\DoxyCodeLine{1430                                             \textcolor{keywordtype}{double} *out\_semi\_major\_metre,}
\DoxyCodeLine{1431                                             \textcolor{keywordtype}{double} *out\_semi\_minor\_metre,}
\DoxyCodeLine{1432                                             \textcolor{keywordtype}{int}    *out\_is\_semi\_minor\_computed,}
\DoxyCodeLine{1433                                             \textcolor{keywordtype}{double} *out\_inv\_flattening);}
\DoxyCodeLine{1434 }
\DoxyCodeLine{1435 \textcolor{keyword}{const} \textcolor{keywordtype}{char} PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga0fcd43938ad966855bbe2f628dfd43fc}{proj\_get\_celestial\_body\_name}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1436 }
\DoxyCodeLine{1437 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga8d0e294b0a21514d0ed763428d7cffb8}{proj\_get\_prime\_meridian}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1438                                              \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1439 }
\DoxyCodeLine{1440 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga14a20c449ab108771eed62487b130829}{proj\_prime\_meridian\_get\_parameters}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1441                                                     \textcolor{keyword}{const} PJ *prime\_meridian,}
\DoxyCodeLine{1442                                                \textcolor{keywordtype}{double} *out\_longitude,}
\DoxyCodeLine{1443                                                \textcolor{keywordtype}{double} *out\_unit\_conv\_factor,}
\DoxyCodeLine{1444                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_name);}
\DoxyCodeLine{1445 }
\DoxyCodeLine{1446 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga3dffb8f90a78a3dc6cfb0586bd1c8e0a}{proj\_crs\_get\_coordoperation}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1447                                                  \textcolor{keyword}{const} PJ *crs);}
\DoxyCodeLine{1448 }
\DoxyCodeLine{1449 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga3e3cd827a8ed1d9d69701fe52d4c9ff2}{proj\_coordoperation\_get\_method\_info}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1450                                                  \textcolor{keyword}{const} PJ *coordoperation,}
\DoxyCodeLine{1451                                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_method\_name,}
\DoxyCodeLine{1452                                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_method\_auth\_name,}
\DoxyCodeLine{1453                                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_method\_code);}
\DoxyCodeLine{1454 }
\DoxyCodeLine{1455 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaac33865ae52cf66babc2f24f6748a606}{proj\_coordoperation\_is\_instantiable}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1456                                                  \textcolor{keyword}{const} PJ *coordoperation);}
\DoxyCodeLine{1457 }
\DoxyCodeLine{1458 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaa0804ba270694460a2d315ff44219ca4}{proj\_coordoperation\_has\_ballpark\_transformation}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1459                                                  \textcolor{keyword}{const} PJ *coordoperation);}
\DoxyCodeLine{1460 }
\DoxyCodeLine{1461 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga73bd01a3d5ea9cf38d419f9f4182f4f4}{proj\_coordoperation\_get\_param\_count}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1462                                                  \textcolor{keyword}{const} PJ *coordoperation);}
\DoxyCodeLine{1463 }
\DoxyCodeLine{1464 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga419f328752102122e7299469a985ddfa}{proj\_coordoperation\_get\_param\_index}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1465                                                  \textcolor{keyword}{const} PJ *coordoperation,}
\DoxyCodeLine{1466                                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name);}
\DoxyCodeLine{1467 }
\DoxyCodeLine{1468 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaa47fc7f7c959d1b704bc00c5d7c5f16a}{proj\_coordoperation\_get\_param}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1469                                            \textcolor{keyword}{const} PJ *coordoperation,}
\DoxyCodeLine{1470                                            \textcolor{keywordtype}{int} index,}
\DoxyCodeLine{1471                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_name,}
\DoxyCodeLine{1472                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_auth\_name,}
\DoxyCodeLine{1473                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_code,}
\DoxyCodeLine{1474                                            \textcolor{keywordtype}{double} *out\_value,}
\DoxyCodeLine{1475                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_value\_string,}
\DoxyCodeLine{1476                                            \textcolor{keywordtype}{double} *out\_unit\_conv\_factor,}
\DoxyCodeLine{1477                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_name,}
\DoxyCodeLine{1478                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_auth\_name,}
\DoxyCodeLine{1479                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_code,}
\DoxyCodeLine{1480                                            \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_unit\_category);}
\DoxyCodeLine{1481 }
\DoxyCodeLine{1482 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gaa2d8da513d8c48235eb63571533b694a}{proj\_coordoperation\_get\_grid\_used\_count}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1483                                                      \textcolor{keyword}{const} PJ *coordoperation);}
\DoxyCodeLine{1484 }
\DoxyCodeLine{1485 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gadfb7e8c628a45e56bef25ef7a7defd6d}{proj\_coordoperation\_get\_grid\_used}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1486                                                \textcolor{keyword}{const} PJ *coordoperation,}
\DoxyCodeLine{1487                                                \textcolor{keywordtype}{int} index,}
\DoxyCodeLine{1488                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_short\_name,}
\DoxyCodeLine{1489                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_full\_name,}
\DoxyCodeLine{1490                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_package\_name,}
\DoxyCodeLine{1491                                                \textcolor{keyword}{const} \textcolor{keywordtype}{char} **out\_url,}
\DoxyCodeLine{1492                                                \textcolor{keywordtype}{int} *out\_direct\_download,}
\DoxyCodeLine{1493                                                \textcolor{keywordtype}{int} *out\_open\_license,}
\DoxyCodeLine{1494                                                \textcolor{keywordtype}{int} *out\_available);}
\DoxyCodeLine{1495 }
\DoxyCodeLine{1496 \textcolor{keywordtype}{double} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga28abd93c89d4266142c4ddca5c242d46}{proj\_coordoperation\_get\_accuracy}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1497                                                  \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1498 }
\DoxyCodeLine{1499 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_ga1935305cbaaa0b35f21d890e56192847}{proj\_coordoperation\_get\_towgs84\_values}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1500                                                     \textcolor{keyword}{const} PJ *coordoperation,}
\DoxyCodeLine{1501                                                     \textcolor{keywordtype}{double} *out\_values,}
\DoxyCodeLine{1502                                                     \textcolor{keywordtype}{int} value\_count,}
\DoxyCodeLine{1503                                                     \textcolor{keywordtype}{int} emit\_error\_if\_incompatible);}
\DoxyCodeLine{1504 }
\DoxyCodeLine{1505 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_ga9a1c751564fa5c4b1846af39dbd7105b}{proj\_coordoperation\_create\_inverse}}(PJ\_CONTEXT *ctx, \textcolor{keyword}{const} PJ *obj);}
\DoxyCodeLine{1506 }
\DoxyCodeLine{1507 }
\DoxyCodeLine{1508 \textcolor{keywordtype}{int} PROJ\_DLL \mbox{\hyperlink{group__iso19111__functions_gace4d7b4541748dbfb958f839bfe61fa9}{proj\_concatoperation\_get\_step\_count}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1509                                                  \textcolor{keyword}{const} PJ *concatoperation);}
\DoxyCodeLine{1510 }
\DoxyCodeLine{1511 PJ PROJ\_DLL *\mbox{\hyperlink{group__iso19111__functions_gaed64a00aefa340d14389adb1390d1335}{proj\_concatoperation\_get\_step}}(PJ\_CONTEXT *ctx,}
\DoxyCodeLine{1512                                            \textcolor{keyword}{const} PJ *concatoperation,}
\DoxyCodeLine{1513                                            \textcolor{keywordtype}{int} i\_step);}
\DoxyCodeLine{1514 }
\DoxyCodeLine{1517 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}}
\DoxyCodeLine{1518 \}}
\DoxyCodeLine{1519 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1520 }
\DoxyCodeLine{1521 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* ndef PROJ\_H */}\textcolor{preprocessor}{}}

\end{DoxyCode}
