aboutsummaryrefslogtreecommitdiff
path: root/src/proj_api.h
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2013-06-22 01:26:52 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2013-06-22 01:26:52 +0000
commit07695742d49418f87338f0ffa48a16b9fae25767 (patch)
tree72d30bc5aaa4fcf39a06cd36dabf63cf777c748d /src/proj_api.h
parentb9b25dd4d55b42ae2db30926a9038228085f8188 (diff)
downloadPROJ-07695742d49418f87338f0ffa48a16b9fae25767.tar.gz
PROJ-07695742d49418f87338f0ffa48a16b9fae25767.zip
preliminary step implementing virtual fileio
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2344 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/proj_api.h')
-rw-r--r--src/proj_api.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/proj_api.h b/src/proj_api.h
index feae9aff..edc3b587 100644
--- a/src/proj_api.h
+++ b/src/proj_api.h
@@ -63,6 +63,16 @@ extern int pj_errno; /* global error return code */
# define projLP LP
#endif
+/* file reading api, like stdio */
+typedef int *PAFile;
+typedef struct projFileAPI_t {
+ PAFile (*FOpen)(projCtx ctx, const char *filename, const char *access);
+ size_t (*FRead)(void *buffer, size_t size, size_t nmemb, PAFile file);
+ int (*FSeek)(PAFile file, long offset, int whence);
+ long (*FTell)(PAFile file);
+ void (*FClose)(PAFile);
+} projFileAPI;
+
/* procedure prototypes */
projXY pj_fwd(projLP, projPJ);
@@ -117,6 +127,10 @@ void pj_ctx_set_debug( projCtx, int );
void pj_ctx_set_logger( projCtx, void (*)(void *, int, const char *) );
void pj_ctx_set_app_data( projCtx, void * );
void *pj_ctx_get_app_data( projCtx );
+void pj_ctx_set_file( projCtx, projFileAPI *);
+projFileAPI *pj_ctx_get_fileapi( projCtx );
+
+projFileAPI *pj_get_default_fileapi();
void pj_log( projCtx ctx, int level, const char *fmt, ... );
void pj_stderr_logger( void *, int, const char * );