1
2
3
/* automatically generated by rust-bindgen */

pub const __GNUC_VA_LIST : u32 = 1 ; pub const SQLITE_VERSION : & 'static [ u8 ; 7usize ] = b"3.22.0\0" ; pub const SQLITE_VERSION_NUMBER : u32 = 3022000 ; pub const SQLITE_SOURCE_ID : & 'static [ u8 ; 85usize ] = b"2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt1\0" ; pub const SQLITE_OK : u32 = 0 ; pub const SQLITE_ERROR : u32 = 1 ; pub const SQLITE_INTERNAL : u32 = 2 ; pub const SQLITE_PERM : u32 = 3 ; pub const SQLITE_ABORT : u32 = 4 ; pub const SQLITE_BUSY : u32 = 5 ; pub const SQLITE_LOCKED : u32 = 6 ; pub const SQLITE_NOMEM : u32 = 7 ; pub const SQLITE_READONLY : u32 = 8 ; pub const SQLITE_INTERRUPT : u32 = 9 ; pub const SQLITE_IOERR : u32 = 10 ; pub const SQLITE_CORRUPT : u32 = 11 ; pub const SQLITE_NOTFOUND : u32 = 12 ; pub const SQLITE_FULL : u32 = 13 ; pub const SQLITE_CANTOPEN : u32 = 14 ; pub const SQLITE_PROTOCOL : u32 = 15 ; pub const SQLITE_EMPTY : u32 = 16 ; pub const SQLITE_SCHEMA : u32 = 17 ; pub const SQLITE_TOOBIG : u32 = 18 ; pub const SQLITE_CONSTRAINT : u32 = 19 ; pub const SQLITE_MISMATCH : u32 = 20 ; pub const SQLITE_MISUSE : u32 = 21 ; pub const SQLITE_NOLFS : u32 = 22 ; pub const SQLITE_AUTH : u32 = 23 ; pub const SQLITE_FORMAT : u32 = 24 ; pub const SQLITE_RANGE : u32 = 25 ; pub const SQLITE_NOTADB : u32 = 26 ; pub const SQLITE_NOTICE : u32 = 27 ; pub const SQLITE_WARNING : u32 = 28 ; pub const SQLITE_ROW : u32 = 100 ; pub const SQLITE_DONE : u32 = 101 ; pub const SQLITE_ERROR_MISSING_COLLSEQ : u32 = 257 ; pub const SQLITE_ERROR_RETRY : u32 = 513 ; pub const SQLITE_IOERR_READ : u32 = 266 ; pub const SQLITE_IOERR_SHORT_READ : u32 = 522 ; pub const SQLITE_IOERR_WRITE : u32 = 778 ; pub const SQLITE_IOERR_FSYNC : u32 = 1034 ; pub const SQLITE_IOERR_DIR_FSYNC : u32 = 1290 ; pub const SQLITE_IOERR_TRUNCATE : u32 = 1546 ; pub const SQLITE_IOERR_FSTAT : u32 = 1802 ; pub const SQLITE_IOERR_UNLOCK : u32 = 2058 ; pub const SQLITE_IOERR_RDLOCK : u32 = 2314 ; pub const SQLITE_IOERR_DELETE : u32 = 2570 ; pub const SQLITE_IOERR_BLOCKED : u32 = 2826 ; pub const SQLITE_IOERR_NOMEM : u32 = 3082 ; pub const SQLITE_IOERR_ACCESS : u32 = 3338 ; pub const SQLITE_IOERR_CHECKRESERVEDLOCK : u32 = 3594 ; pub const SQLITE_IOERR_LOCK : u32 = 3850 ; pub const SQLITE_IOERR_CLOSE : u32 = 4106 ; pub const SQLITE_IOERR_DIR_CLOSE : u32 = 4362 ; pub const SQLITE_IOERR_SHMOPEN : u32 = 4618 ; pub const SQLITE_IOERR_SHMSIZE : u32 = 4874 ; pub const SQLITE_IOERR_SHMLOCK : u32 = 5130 ; pub const SQLITE_IOERR_SHMMAP : u32 = 5386 ; pub const SQLITE_IOERR_SEEK : u32 = 5642 ; pub const SQLITE_IOERR_DELETE_NOENT : u32 = 5898 ; pub const SQLITE_IOERR_MMAP : u32 = 6154 ; pub const SQLITE_IOERR_GETTEMPPATH : u32 = 6410 ; pub const SQLITE_IOERR_CONVPATH : u32 = 6666 ; pub const SQLITE_IOERR_VNODE : u32 = 6922 ; pub const SQLITE_IOERR_AUTH : u32 = 7178 ; pub const SQLITE_IOERR_BEGIN_ATOMIC : u32 = 7434 ; pub const SQLITE_IOERR_COMMIT_ATOMIC : u32 = 7690 ; pub const SQLITE_IOERR_ROLLBACK_ATOMIC : u32 = 7946 ; pub const SQLITE_LOCKED_SHAREDCACHE : u32 = 262 ; pub const SQLITE_BUSY_RECOVERY : u32 = 261 ; pub const SQLITE_BUSY_SNAPSHOT : u32 = 517 ; pub const SQLITE_CANTOPEN_NOTEMPDIR : u32 = 270 ; pub const SQLITE_CANTOPEN_ISDIR : u32 = 526 ; pub const SQLITE_CANTOPEN_FULLPATH : u32 = 782 ; pub const SQLITE_CANTOPEN_CONVPATH : u32 = 1038 ; pub const SQLITE_CORRUPT_VTAB : u32 = 267 ; pub const SQLITE_READONLY_RECOVERY : u32 = 264 ; pub const SQLITE_READONLY_CANTLOCK : u32 = 520 ; pub const SQLITE_READONLY_ROLLBACK : u32 = 776 ; pub const SQLITE_READONLY_DBMOVED : u32 = 1032 ; pub const SQLITE_READONLY_CANTINIT : u32 = 1288 ; pub const SQLITE_READONLY_DIRECTORY : u32 = 1544 ; pub const SQLITE_ABORT_ROLLBACK : u32 = 516 ; pub const SQLITE_CONSTRAINT_CHECK : u32 = 275 ; pub const SQLITE_CONSTRAINT_COMMITHOOK : u32 = 531 ; pub const SQLITE_CONSTRAINT_FOREIGNKEY : u32 = 787 ; pub const SQLITE_CONSTRAINT_FUNCTION : u32 = 1043 ; pub const SQLITE_CONSTRAINT_NOTNULL : u32 = 1299 ; pub const SQLITE_CONSTRAINT_PRIMARYKEY : u32 = 1555 ; pub const SQLITE_CONSTRAINT_TRIGGER : u32 = 1811 ; pub const SQLITE_CONSTRAINT_UNIQUE : u32 = 2067 ; pub const SQLITE_CONSTRAINT_VTAB : u32 = 2323 ; pub const SQLITE_CONSTRAINT_ROWID : u32 = 2579 ; pub const SQLITE_NOTICE_RECOVER_WAL : u32 = 283 ; pub const SQLITE_NOTICE_RECOVER_ROLLBACK : u32 = 539 ; pub const SQLITE_WARNING_AUTOINDEX : u32 = 284 ; pub const SQLITE_AUTH_USER : u32 = 279 ; pub const SQLITE_OK_LOAD_PERMANENTLY : u32 = 256 ; pub const SQLITE_OPEN_READONLY : u32 = 1 ; pub const SQLITE_OPEN_READWRITE : u32 = 2 ; pub const SQLITE_OPEN_CREATE : u32 = 4 ; pub const SQLITE_OPEN_DELETEONCLOSE : u32 = 8 ; pub const SQLITE_OPEN_EXCLUSIVE : u32 = 16 ; pub const SQLITE_OPEN_AUTOPROXY : u32 = 32 ; pub const SQLITE_OPEN_URI : u32 = 64 ; pub const SQLITE_OPEN_MEMORY : u32 = 128 ; pub const SQLITE_OPEN_MAIN_DB : u32 = 256 ; pub const SQLITE_OPEN_TEMP_DB : u32 = 512 ; pub const SQLITE_OPEN_TRANSIENT_DB : u32 = 1024 ; pub const SQLITE_OPEN_MAIN_JOURNAL : u32 = 2048 ; pub const SQLITE_OPEN_TEMP_JOURNAL : u32 = 4096 ; pub const SQLITE_OPEN_SUBJOURNAL : u32 = 8192 ; pub const SQLITE_OPEN_MASTER_JOURNAL : u32 = 16384 ; pub const SQLITE_OPEN_NOMUTEX : u32 = 32768 ; pub const SQLITE_OPEN_FULLMUTEX : u32 = 65536 ; pub const SQLITE_OPEN_SHAREDCACHE : u32 = 131072 ; pub const SQLITE_OPEN_PRIVATECACHE : u32 = 262144 ; pub const SQLITE_OPEN_WAL : u32 = 524288 ; pub const SQLITE_IOCAP_ATOMIC : u32 = 1 ; pub const SQLITE_IOCAP_ATOMIC512 : u32 = 2 ; pub const SQLITE_IOCAP_ATOMIC1K : u32 = 4 ; pub const SQLITE_IOCAP_ATOMIC2K : u32 = 8 ; pub const SQLITE_IOCAP_ATOMIC4K : u32 = 16 ; pub const SQLITE_IOCAP_ATOMIC8K : u32 = 32 ; pub const SQLITE_IOCAP_ATOMIC16K : u32 = 64 ; pub const SQLITE_IOCAP_ATOMIC32K : u32 = 128 ; pub const SQLITE_IOCAP_ATOMIC64K : u32 = 256 ; pub const SQLITE_IOCAP_SAFE_APPEND : u32 = 512 ; pub const SQLITE_IOCAP_SEQUENTIAL : u32 = 1024 ; pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN : u32 = 2048 ; pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE : u32 = 4096 ; pub const SQLITE_IOCAP_IMMUTABLE : u32 = 8192 ; pub const SQLITE_IOCAP_BATCH_ATOMIC : u32 = 16384 ; pub const SQLITE_LOCK_NONE : u32 = 0 ; pub const SQLITE_LOCK_SHARED : u32 = 1 ; pub const SQLITE_LOCK_RESERVED : u32 = 2 ; pub const SQLITE_LOCK_PENDING : u32 = 3 ; pub const SQLITE_LOCK_EXCLUSIVE : u32 = 4 ; pub const SQLITE_SYNC_NORMAL : u32 = 2 ; pub const SQLITE_SYNC_FULL : u32 = 3 ; pub const SQLITE_SYNC_DATAONLY : u32 = 16 ; pub const SQLITE_FCNTL_LOCKSTATE : u32 = 1 ; pub const SQLITE_FCNTL_GET_LOCKPROXYFILE : u32 = 2 ; pub const SQLITE_FCNTL_SET_LOCKPROXYFILE : u32 = 3 ; pub const SQLITE_FCNTL_LAST_ERRNO : u32 = 4 ; pub const SQLITE_FCNTL_SIZE_HINT : u32 = 5 ; pub const SQLITE_FCNTL_CHUNK_SIZE : u32 = 6 ; pub const SQLITE_FCNTL_FILE_POINTER : u32 = 7 ; pub const SQLITE_FCNTL_SYNC_OMITTED : u32 = 8 ; pub const SQLITE_FCNTL_WIN32_AV_RETRY : u32 = 9 ; pub const SQLITE_FCNTL_PERSIST_WAL : u32 = 10 ; pub const SQLITE_FCNTL_OVERWRITE : u32 = 11 ; pub const SQLITE_FCNTL_VFSNAME : u32 = 12 ; pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE : u32 = 13 ; pub const SQLITE_FCNTL_PRAGMA : u32 = 14 ; pub const SQLITE_FCNTL_BUSYHANDLER : u32 = 15 ; pub const SQLITE_FCNTL_TEMPFILENAME : u32 = 16 ; pub const SQLITE_FCNTL_MMAP_SIZE : u32 = 18 ; pub const SQLITE_FCNTL_TRACE : u32 = 19 ; pub const SQLITE_FCNTL_HAS_MOVED : u32 = 20 ; pub const SQLITE_FCNTL_SYNC : u32 = 21 ; pub const SQLITE_FCNTL_COMMIT_PHASETWO : u32 = 22 ; pub const SQLITE_FCNTL_WIN32_SET_HANDLE : u32 = 23 ; pub const SQLITE_FCNTL_WAL_BLOCK : u32 = 24 ; pub const SQLITE_FCNTL_ZIPVFS : u32 = 25 ; pub const SQLITE_FCNTL_RBU : u32 = 26 ; pub const SQLITE_FCNTL_VFS_POINTER : u32 = 27 ; pub const SQLITE_FCNTL_JOURNAL_POINTER : u32 = 28 ; pub const SQLITE_FCNTL_WIN32_GET_HANDLE : u32 = 29 ; pub const SQLITE_FCNTL_PDB : u32 = 30 ; pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE : u32 = 31 ; pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE : u32 = 32 ; pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE : u32 = 33 ; pub const SQLITE_GET_LOCKPROXYFILE : u32 = 2 ; pub const SQLITE_SET_LOCKPROXYFILE : u32 = 3 ; pub const SQLITE_LAST_ERRNO : u32 = 4 ; pub const SQLITE_ACCESS_EXISTS : u32 = 0 ; pub const SQLITE_ACCESS_READWRITE : u32 = 1 ; pub const SQLITE_ACCESS_READ : u32 = 2 ; pub const SQLITE_SHM_UNLOCK : u32 = 1 ; pub const SQLITE_SHM_LOCK : u32 = 2 ; pub const SQLITE_SHM_SHARED : u32 = 4 ; pub const SQLITE_SHM_EXCLUSIVE : u32 = 8 ; pub const SQLITE_SHM_NLOCK : u32 = 8 ; pub const SQLITE_CONFIG_SINGLETHREAD : u32 = 1 ; pub const SQLITE_CONFIG_MULTITHREAD : u32 = 2 ; pub const SQLITE_CONFIG_SERIALIZED : u32 = 3 ; pub const SQLITE_CONFIG_MALLOC : u32 = 4 ; pub const SQLITE_CONFIG_GETMALLOC : u32 = 5 ; pub const SQLITE_CONFIG_SCRATCH : u32 = 6 ; pub const SQLITE_CONFIG_PAGECACHE : u32 = 7 ; pub const SQLITE_CONFIG_HEAP : u32 = 8 ; pub const SQLITE_CONFIG_MEMSTATUS : u32 = 9 ; pub const SQLITE_CONFIG_MUTEX : u32 = 10 ; pub const SQLITE_CONFIG_GETMUTEX : u32 = 11 ; pub const SQLITE_CONFIG_LOOKASIDE : u32 = 13 ; pub const SQLITE_CONFIG_PCACHE : u32 = 14 ; pub const SQLITE_CONFIG_GETPCACHE : u32 = 15 ; pub const SQLITE_CONFIG_LOG : u32 = 16 ; pub const SQLITE_CONFIG_URI : u32 = 17 ; pub const SQLITE_CONFIG_PCACHE2 : u32 = 18 ; pub const SQLITE_CONFIG_GETPCACHE2 : u32 = 19 ; pub const SQLITE_CONFIG_COVERING_INDEX_SCAN : u32 = 20 ; pub const SQLITE_CONFIG_SQLLOG : u32 = 21 ; pub const SQLITE_CONFIG_MMAP_SIZE : u32 = 22 ; pub const SQLITE_CONFIG_WIN32_HEAPSIZE : u32 = 23 ; pub const SQLITE_CONFIG_PCACHE_HDRSZ : u32 = 24 ; pub const SQLITE_CONFIG_PMASZ : u32 = 25 ; pub const SQLITE_CONFIG_STMTJRNL_SPILL : u32 = 26 ; pub const SQLITE_CONFIG_SMALL_MALLOC : u32 = 27 ; pub const SQLITE_DBCONFIG_MAINDBNAME : u32 = 1000 ; pub const SQLITE_DBCONFIG_LOOKASIDE : u32 = 1001 ; pub const SQLITE_DBCONFIG_ENABLE_FKEY : u32 = 1002 ; pub const SQLITE_DBCONFIG_ENABLE_TRIGGER : u32 = 1003 ; pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER : u32 = 1004 ; pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION : u32 = 1005 ; pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE : u32 = 1006 ; pub const SQLITE_DBCONFIG_ENABLE_QPSG : u32 = 1007 ; pub const SQLITE_DBCONFIG_TRIGGER_EQP : u32 = 1008 ; pub const SQLITE_DBCONFIG_MAX : u32 = 1008 ; pub const SQLITE_DENY : u32 = 1 ; pub const SQLITE_IGNORE : u32 = 2 ; pub const SQLITE_CREATE_INDEX : u32 = 1 ; pub const SQLITE_CREATE_TABLE : u32 = 2 ; pub const SQLITE_CREATE_TEMP_INDEX : u32 = 3 ; pub const SQLITE_CREATE_TEMP_TABLE : u32 = 4 ; pub const SQLITE_CREATE_TEMP_TRIGGER : u32 = 5 ; pub const SQLITE_CREATE_TEMP_VIEW : u32 = 6 ; pub const SQLITE_CREATE_TRIGGER : u32 = 7 ; pub const SQLITE_CREATE_VIEW : u32 = 8 ; pub const SQLITE_DELETE : u32 = 9 ; pub const SQLITE_DROP_INDEX : u32 = 10 ; pub const SQLITE_DROP_TABLE : u32 = 11 ; pub const SQLITE_DROP_TEMP_INDEX : u32 = 12 ; pub const SQLITE_DROP_TEMP_TABLE : u32 = 13 ; pub const SQLITE_DROP_TEMP_TRIGGER : u32 = 14 ; pub const SQLITE_DROP_TEMP_VIEW : u32 = 15 ; pub const SQLITE_DROP_TRIGGER : u32 = 16 ; pub const SQLITE_DROP_VIEW : u32 = 17 ; pub const SQLITE_INSERT : u32 = 18 ; pub const SQLITE_PRAGMA : u32 = 19 ; pub const SQLITE_READ : u32 = 20 ; pub const SQLITE_SELECT : u32 = 21 ; pub const SQLITE_TRANSACTION : u32 = 22 ; pub const SQLITE_UPDATE : u32 = 23 ; pub const SQLITE_ATTACH : u32 = 24 ; pub const SQLITE_DETACH : u32 = 25 ; pub const SQLITE_ALTER_TABLE : u32 = 26 ; pub const SQLITE_REINDEX : u32 = 27 ; pub const SQLITE_ANALYZE : u32 = 28 ; pub const SQLITE_CREATE_VTABLE : u32 = 29 ; pub const SQLITE_DROP_VTABLE : u32 = 30 ; pub const SQLITE_FUNCTION : u32 = 31 ; pub const SQLITE_SAVEPOINT : u32 = 32 ; pub const SQLITE_COPY : u32 = 0 ; pub const SQLITE_RECURSIVE : u32 = 33 ; pub const SQLITE_TRACE_STMT : u32 = 1 ; pub const SQLITE_TRACE_PROFILE : u32 = 2 ; pub const SQLITE_TRACE_ROW : u32 = 4 ; pub const SQLITE_TRACE_CLOSE : u32 = 8 ; pub const SQLITE_LIMIT_LENGTH : u32 = 0 ; pub const SQLITE_LIMIT_SQL_LENGTH : u32 = 1 ; pub const SQLITE_LIMIT_COLUMN : u32 = 2 ; pub const SQLITE_LIMIT_EXPR_DEPTH : u32 = 3 ; pub const SQLITE_LIMIT_COMPOUND_SELECT : u32 = 4 ; pub const SQLITE_LIMIT_VDBE_OP : u32 = 5 ; pub const SQLITE_LIMIT_FUNCTION_ARG : u32 = 6 ; pub const SQLITE_LIMIT_ATTACHED : u32 = 7 ; pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH : u32 = 8 ; pub const SQLITE_LIMIT_VARIABLE_NUMBER : u32 = 9 ; pub const SQLITE_LIMIT_TRIGGER_DEPTH : u32 = 10 ; pub const SQLITE_LIMIT_WORKER_THREADS : u32 = 11 ; pub const SQLITE_PREPARE_PERSISTENT : u32 = 1 ; pub const SQLITE_INTEGER : u32 = 1 ; pub const SQLITE_FLOAT : u32 = 2 ; pub const SQLITE_BLOB : u32 = 4 ; pub const SQLITE_NULL : u32 = 5 ; pub const SQLITE_TEXT : u32 = 3 ; pub const SQLITE3_TEXT : u32 = 3 ; pub const SQLITE_UTF8 : u32 = 1 ; pub const SQLITE_UTF16LE : u32 = 2 ; pub const SQLITE_UTF16BE : u32 = 3 ; pub const SQLITE_UTF16 : u32 = 4 ; pub const SQLITE_ANY : u32 = 5 ; pub const SQLITE_UTF16_ALIGNED : u32 = 8 ; pub const SQLITE_DETERMINISTIC : u32 = 2048 ; pub const SQLITE_INDEX_SCAN_UNIQUE : u32 = 1 ; pub const SQLITE_INDEX_CONSTRAINT_EQ : u32 = 2 ; pub const SQLITE_INDEX_CONSTRAINT_GT : u32 = 4 ; pub const SQLITE_INDEX_CONSTRAINT_LE : u32 = 8 ; pub const SQLITE_INDEX_CONSTRAINT_LT : u32 = 16 ; pub const SQLITE_INDEX_CONSTRAINT_GE : u32 = 32 ; pub const SQLITE_INDEX_CONSTRAINT_MATCH : u32 = 64 ; pub const SQLITE_INDEX_CONSTRAINT_LIKE : u32 = 65 ; pub const SQLITE_INDEX_CONSTRAINT_GLOB : u32 = 66 ; pub const SQLITE_INDEX_CONSTRAINT_REGEXP : u32 = 67 ; pub const SQLITE_INDEX_CONSTRAINT_NE : u32 = 68 ; pub const SQLITE_INDEX_CONSTRAINT_ISNOT : u32 = 69 ; pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL : u32 = 70 ; pub const SQLITE_INDEX_CONSTRAINT_ISNULL : u32 = 71 ; pub const SQLITE_INDEX_CONSTRAINT_IS : u32 = 72 ; pub const SQLITE_MUTEX_FAST : u32 = 0 ; pub const SQLITE_MUTEX_RECURSIVE : u32 = 1 ; pub const SQLITE_MUTEX_STATIC_MASTER : u32 = 2 ; pub const SQLITE_MUTEX_STATIC_MEM : u32 = 3 ; pub const SQLITE_MUTEX_STATIC_MEM2 : u32 = 4 ; pub const SQLITE_MUTEX_STATIC_OPEN : u32 = 4 ; pub const SQLITE_MUTEX_STATIC_PRNG : u32 = 5 ; pub const SQLITE_MUTEX_STATIC_LRU : u32 = 6 ; pub const SQLITE_MUTEX_STATIC_LRU2 : u32 = 7 ; pub const SQLITE_MUTEX_STATIC_PMEM : u32 = 7 ; pub const SQLITE_MUTEX_STATIC_APP1 : u32 = 8 ; pub const SQLITE_MUTEX_STATIC_APP2 : u32 = 9 ; pub const SQLITE_MUTEX_STATIC_APP3 : u32 = 10 ; pub const SQLITE_MUTEX_STATIC_VFS1 : u32 = 11 ; pub const SQLITE_MUTEX_STATIC_VFS2 : u32 = 12 ; pub const SQLITE_MUTEX_STATIC_VFS3 : u32 = 13 ; pub const SQLITE_TESTCTRL_FIRST : u32 = 5 ; pub const SQLITE_TESTCTRL_PRNG_SAVE : u32 = 5 ; pub const SQLITE_TESTCTRL_PRNG_RESTORE : u32 = 6 ; pub const SQLITE_TESTCTRL_PRNG_RESET : u32 = 7 ; pub const SQLITE_TESTCTRL_BITVEC_TEST : u32 = 8 ; pub const SQLITE_TESTCTRL_FAULT_INSTALL : u32 = 9 ; pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS : u32 = 10 ; pub const SQLITE_TESTCTRL_PENDING_BYTE : u32 = 11 ; pub const SQLITE_TESTCTRL_ASSERT : u32 = 12 ; pub const SQLITE_TESTCTRL_ALWAYS : u32 = 13 ; pub const SQLITE_TESTCTRL_RESERVE : u32 = 14 ; pub const SQLITE_TESTCTRL_OPTIMIZATIONS : u32 = 15 ; pub const SQLITE_TESTCTRL_ISKEYWORD : u32 = 16 ; pub const SQLITE_TESTCTRL_SCRATCHMALLOC : u32 = 17 ; pub const SQLITE_TESTCTRL_LOCALTIME_FAULT : u32 = 18 ; pub const SQLITE_TESTCTRL_EXPLAIN_STMT : u32 = 19 ; pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD : u32 = 19 ; pub const SQLITE_TESTCTRL_NEVER_CORRUPT : u32 = 20 ; pub const SQLITE_TESTCTRL_VDBE_COVERAGE : u32 = 21 ; pub const SQLITE_TESTCTRL_BYTEORDER : u32 = 22 ; pub const SQLITE_TESTCTRL_ISINIT : u32 = 23 ; pub const SQLITE_TESTCTRL_SORTER_MMAP : u32 = 24 ; pub const SQLITE_TESTCTRL_IMPOSTER : u32 = 25 ; pub const SQLITE_TESTCTRL_PARSER_COVERAGE : u32 = 26 ; pub const SQLITE_TESTCTRL_LAST : u32 = 26 ; pub const SQLITE_STATUS_MEMORY_USED : u32 = 0 ; pub const SQLITE_STATUS_PAGECACHE_USED : u32 = 1 ; pub const SQLITE_STATUS_PAGECACHE_OVERFLOW : u32 = 2 ; pub const SQLITE_STATUS_SCRATCH_USED : u32 = 3 ; pub const SQLITE_STATUS_SCRATCH_OVERFLOW : u32 = 4 ; pub const SQLITE_STATUS_MALLOC_SIZE : u32 = 5 ; pub const SQLITE_STATUS_PARSER_STACK : u32 = 6 ; pub const SQLITE_STATUS_PAGECACHE_SIZE : u32 = 7 ; pub const SQLITE_STATUS_SCRATCH_SIZE : u32 = 8 ; pub const SQLITE_STATUS_MALLOC_COUNT : u32 = 9 ; pub const SQLITE_DBSTATUS_LOOKASIDE_USED : u32 = 0 ; pub const SQLITE_DBSTATUS_CACHE_USED : u32 = 1 ; pub const SQLITE_DBSTATUS_SCHEMA_USED : u32 = 2 ; pub const SQLITE_DBSTATUS_STMT_USED : u32 = 3 ; pub const SQLITE_DBSTATUS_LOOKASIDE_HIT : u32 = 4 ; pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE : u32 = 5 ; pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL : u32 = 6 ; pub const SQLITE_DBSTATUS_CACHE_HIT : u32 = 7 ; pub const SQLITE_DBSTATUS_CACHE_MISS : u32 = 8 ; pub const SQLITE_DBSTATUS_CACHE_WRITE : u32 = 9 ; pub const SQLITE_DBSTATUS_DEFERRED_FKS : u32 = 10 ; pub const SQLITE_DBSTATUS_CACHE_USED_SHARED : u32 = 11 ; pub const SQLITE_DBSTATUS_MAX : u32 = 11 ; pub const SQLITE_STMTSTATUS_FULLSCAN_STEP : u32 = 1 ; pub const SQLITE_STMTSTATUS_SORT : u32 = 2 ; pub const SQLITE_STMTSTATUS_AUTOINDEX : u32 = 3 ; pub const SQLITE_STMTSTATUS_VM_STEP : u32 = 4 ; pub const SQLITE_STMTSTATUS_REPREPARE : u32 = 5 ; pub const SQLITE_STMTSTATUS_RUN : u32 = 6 ; pub const SQLITE_STMTSTATUS_MEMUSED : u32 = 99 ; pub const SQLITE_CHECKPOINT_PASSIVE : u32 = 0 ; pub const SQLITE_CHECKPOINT_FULL : u32 = 1 ; pub const SQLITE_CHECKPOINT_RESTART : u32 = 2 ; pub const SQLITE_CHECKPOINT_TRUNCATE : u32 = 3 ; pub const SQLITE_VTAB_CONSTRAINT_SUPPORT : u32 = 1 ; pub const SQLITE_ROLLBACK : u32 = 1 ; pub const SQLITE_FAIL : u32 = 3 ; pub const SQLITE_REPLACE : u32 = 5 ; pub const SQLITE_SCANSTAT_NLOOP : u32 = 0 ; pub const SQLITE_SCANSTAT_NVISIT : u32 = 1 ; pub const SQLITE_SCANSTAT_EST : u32 = 2 ; pub const SQLITE_SCANSTAT_NAME : u32 = 3 ; pub const SQLITE_SCANSTAT_EXPLAIN : u32 = 4 ; pub const SQLITE_SCANSTAT_SELECTID : u32 = 5 ; pub const NOT_WITHIN : u32 = 0 ; pub const PARTLY_WITHIN : u32 = 1 ; pub const FULLY_WITHIN : u32 = 2 ; pub const FTS5_TOKENIZE_QUERY : u32 = 1 ; pub const FTS5_TOKENIZE_PREFIX : u32 = 2 ; pub const FTS5_TOKENIZE_DOCUMENT : u32 = 4 ; pub const FTS5_TOKENIZE_AUX : u32 = 8 ; pub const FTS5_TOKEN_COLOCATED : u32 = 1 ; pub const SPLITE_AXIS_1 : u32 = 81 ; pub const SPLITE_AXIS_2 : u32 = 82 ; pub const SPLITE_AXIS_NAME : u32 = 62 ; pub const SPLITE_AXIS_ORIENTATION : u32 = 63 ; pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 27 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const _BITS_LIBIO_H : u32 = 1 ; pub const _BITS_G_CONFIG_H : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _G_HAVE_MMAP : u32 = 1 ; pub const _G_HAVE_MREMAP : u32 = 1 ; pub const _G_IO_IO_FILE_VERSION : u32 = 131073 ; pub const _G_BUFSIZ : u32 = 8192 ; pub const _IO_BUFSIZ : u32 = 8192 ; pub const _IO_UNIFIED_JUMPTABLES : u32 = 1 ; pub const EOF : i32 = -1 ; pub const _IOS_INPUT : u32 = 1 ; pub const _IOS_OUTPUT : u32 = 2 ; pub const _IOS_ATEND : u32 = 4 ; pub const _IOS_APPEND : u32 = 8 ; pub const _IOS_TRUNC : u32 = 16 ; pub const _IOS_NOCREATE : u32 = 32 ; pub const _IOS_NOREPLACE : u32 = 64 ; pub const _IOS_BIN : u32 = 128 ; pub const _IO_MAGIC : u32 = 4222418944 ; pub const _OLD_STDIO_MAGIC : u32 = 4206624768 ; pub const _IO_MAGIC_MASK : u32 = 4294901760 ; pub const _IO_USER_BUF : u32 = 1 ; pub const _IO_UNBUFFERED : u32 = 2 ; pub const _IO_NO_READS : u32 = 4 ; pub const _IO_NO_WRITES : u32 = 8 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_DELETE_DONT_CLOSE : u32 = 64 ; pub const _IO_LINKED : u32 = 128 ; pub const _IO_IN_BACKUP : u32 = 256 ; pub const _IO_LINE_BUF : u32 = 512 ; pub const _IO_TIED_PUT_GET : u32 = 1024 ; pub const _IO_CURRENTLY_PUTTING : u32 = 2048 ; pub const _IO_IS_APPENDING : u32 = 4096 ; pub const _IO_IS_FILEBUF : u32 = 8192 ; pub const _IO_BAD_SEEN : u32 = 16384 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const _IO_FLAGS2_MMAP : u32 = 1 ; pub const _IO_FLAGS2_NOTCANCEL : u32 = 2 ; pub const _IO_FLAGS2_USER_WBUF : u32 = 8 ; pub const _IO_SKIPWS : u32 = 1 ; pub const _IO_LEFT : u32 = 2 ; pub const _IO_RIGHT : u32 = 4 ; pub const _IO_INTERNAL : u32 = 8 ; pub const _IO_DEC : u32 = 16 ; pub const _IO_OCT : u32 = 32 ; pub const _IO_HEX : u32 = 64 ; pub const _IO_SHOWBASE : u32 = 128 ; pub const _IO_SHOWPOINT : u32 = 256 ; pub const _IO_UPPERCASE : u32 = 512 ; pub const _IO_SHOWPOS : u32 = 1024 ; pub const _IO_SCIENTIFIC : u32 = 2048 ; pub const _IO_FIXED : u32 = 4096 ; pub const _IO_UNITBUF : u32 = 8192 ; pub const _IO_STDIO : u32 = 16384 ; pub const _IO_DONT_CLOSE : u32 = 32768 ; pub const _IO_BOOLALPHA : u32 = 65536 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & 'static [ u8 ; 5usize ] = b"/tmp\0" ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const GAIA_VECTORS_LIST_FAST : u32 = 0 ; pub const GAIA_VECTORS_LIST_OPTIMISTIC : u32 = 1 ; pub const GAIA_VECTORS_LIST_PESSIMISTIC : u32 = 2 ; pub const GAIA_VECTOR_UNKNOWN : i32 = -1 ; pub const GAIA_VECTOR_TABLE : u32 = 1 ; pub const GAIA_VECTOR_VIEW : u32 = 2 ; pub const GAIA_VECTOR_VIRTUAL : u32 = 3 ; pub const GAIA_VECTOR_GEOMETRY : u32 = 0 ; pub const GAIA_VECTOR_POINT : u32 = 1 ; pub const GAIA_VECTOR_LINESTRING : u32 = 2 ; pub const GAIA_VECTOR_POLYGON : u32 = 3 ; pub const GAIA_VECTOR_MULTIPOINT : u32 = 4 ; pub const GAIA_VECTOR_MULTILINESTRING : u32 = 5 ; pub const GAIA_VECTOR_MULTIPOLYGON : u32 = 6 ; pub const GAIA_VECTOR_GEOMETRYCOLLECTION : u32 = 7 ; pub const GAIA_SPATIAL_INDEX_NONE : u32 = 0 ; pub const GAIA_SPATIAL_INDEX_RTREE : u32 = 1 ; pub const GAIA_SPATIAL_INDEX_MBRCACHE : u32 = 2 ; pub const GAIA_TYPE_NONE : u32 = 0 ; pub const GAIA_TYPE_POINT : u32 = 1 ; pub const GAIA_TYPE_LINESTRING : u32 = 2 ; pub const GAIA_TYPE_POLYGON : u32 = 3 ; pub const GAIA_BIG_ENDIAN : u32 = 0 ; pub const GAIA_LITTLE_ENDIAN : u32 = 1 ; pub const GAIA_MARK_START : u32 = 0 ; pub const GAIA_MARK_END : u32 = 254 ; pub const GAIA_MARK_MBR : u32 = 124 ; pub const GAIA_MARK_ENTITY : u32 = 105 ; pub const GAIA_UNKNOWN : u32 = 0 ; pub const GAIA_POINT : u32 = 1 ; pub const GAIA_LINESTRING : u32 = 2 ; pub const GAIA_POLYGON : u32 = 3 ; pub const GAIA_MULTIPOINT : u32 = 4 ; pub const GAIA_MULTILINESTRING : u32 = 5 ; pub const GAIA_MULTIPOLYGON : u32 = 6 ; pub const GAIA_GEOMETRYCOLLECTION : u32 = 7 ; pub const GAIA_POINTZ : u32 = 1001 ; pub const GAIA_LINESTRINGZ : u32 = 1002 ; pub const GAIA_POLYGONZ : u32 = 1003 ; pub const GAIA_MULTIPOINTZ : u32 = 1004 ; pub const GAIA_MULTILINESTRINGZ : u32 = 1005 ; pub const GAIA_MULTIPOLYGONZ : u32 = 1006 ; pub const GAIA_GEOMETRYCOLLECTIONZ : u32 = 1007 ; pub const GAIA_POINTM : u32 = 2001 ; pub const GAIA_LINESTRINGM : u32 = 2002 ; pub const GAIA_POLYGONM : u32 = 2003 ; pub const GAIA_MULTIPOINTM : u32 = 2004 ; pub const GAIA_MULTILINESTRINGM : u32 = 2005 ; pub const GAIA_MULTIPOLYGONM : u32 = 2006 ; pub const GAIA_GEOMETRYCOLLECTIONM : u32 = 2007 ; pub const GAIA_POINTZM : u32 = 3001 ; pub const GAIA_LINESTRINGZM : u32 = 3002 ; pub const GAIA_POLYGONZM : u32 = 3003 ; pub const GAIA_MULTIPOINTZM : u32 = 3004 ; pub const GAIA_MULTILINESTRINGZM : u32 = 3005 ; pub const GAIA_MULTIPOLYGONZM : u32 = 3006 ; pub const GAIA_GEOMETRYCOLLECTIONZM : u32 = 3007 ; pub const GAIA_COMPRESSED_LINESTRING : u32 = 1000002 ; pub const GAIA_COMPRESSED_POLYGON : u32 = 1000003 ; pub const GAIA_COMPRESSED_LINESTRINGZ : u32 = 1001002 ; pub const GAIA_COMPRESSED_POLYGONZ : u32 = 1001003 ; pub const GAIA_COMPRESSED_LINESTRINGM : u32 = 1002002 ; pub const GAIA_COMPRESSED_POLYGONM : u32 = 1002003 ; pub const GAIA_COMPRESSED_LINESTRINGZM : u32 = 1003002 ; pub const GAIA_COMPRESSED_POLYGONZM : u32 = 1003003 ; pub const GAIA_GEOSWKB_POINTZ : i32 = -2147483647 ; pub const GAIA_GEOSWKB_LINESTRINGZ : i32 = -2147483646 ; pub const GAIA_GEOSWKB_POLYGONZ : i32 = -2147483645 ; pub const GAIA_GEOSWKB_MULTIPOINTZ : i32 = -2147483644 ; pub const GAIA_GEOSWKB_MULTILINESTRINGZ : i32 = -2147483643 ; pub const GAIA_GEOSWKB_MULTIPOLYGONZ : i32 = -2147483642 ; pub const GAIA_GEOSWKB_GEOMETRYCOLLECTIONZ : i32 = -2147483641 ; pub const GAIA_NULL_VALUE : u32 = 0 ; pub const GAIA_TEXT_VALUE : u32 = 1 ; pub const GAIA_INT_VALUE : u32 = 2 ; pub const GAIA_DOUBLE_VALUE : u32 = 3 ; pub const GAIA_START_POINT : u32 = 1 ; pub const GAIA_END_POINT : u32 = 2 ; pub const GAIA_POINTN : u32 = 3 ; pub const GAIA_MBR_CONTAINS : u32 = 1 ; pub const GAIA_MBR_DISJOINT : u32 = 2 ; pub const GAIA_MBR_EQUAL : u32 = 3 ; pub const GAIA_MBR_INTERSECTS : u32 = 4 ; pub const GAIA_MBR_OVERLAPS : u32 = 5 ; pub const GAIA_MBR_TOUCHES : u32 = 6 ; pub const GAIA_MBR_WITHIN : u32 = 7 ; pub const GAIA_FILTER_MBR_WITHIN : u32 = 74 ; pub const GAIA_FILTER_MBR_CONTAINS : u32 = 77 ; pub const GAIA_FILTER_MBR_INTERSECTS : u32 = 79 ; pub const GAIA_FILTER_MBR_DECLARE : u32 = 89 ; pub const GAIA_SVG_DEFAULT_RELATIVE : u32 = 0 ; pub const GAIA_SVG_DEFAULT_PRECISION : u32 = 6 ; pub const GAIA_SVG_DEFAULT_MAX_PRECISION : u32 = 15 ; pub const GAIA_NET_START : u32 = 103 ; pub const GAIA_NET64_START : u32 = 104 ; pub const GAIA_NET64_A_STAR_START : u32 = 105 ; pub const GAIA_NET_END : u32 = 135 ; pub const GAIA_NET_HEADER : u32 = 192 ; pub const GAIA_NET_CODE : u32 = 166 ; pub const GAIA_NET_ID : u32 = 181 ; pub const GAIA_NET_NODE : u32 = 222 ; pub const GAIA_NET_ARC : u32 = 84 ; pub const GAIA_NET_TABLE : u32 = 160 ; pub const GAIA_NET_FROM : u32 = 161 ; pub const GAIA_NET_TO : u32 = 162 ; pub const GAIA_NET_GEOM : u32 = 163 ; pub const GAIA_NET_NAME : u32 = 164 ; pub const GAIA_NET_A_STAR_COEFF : u32 = 165 ; pub const GAIA_NET_BLOCK : u32 = 237 ; pub const GAIA_XY : u32 = 0 ; pub const GAIA_XY_Z : u32 = 1 ; pub const GAIA_XY_M : u32 = 2 ; pub const GAIA_XY_Z_M : u32 = 3 ; pub const GAIA_KM : u32 = 0 ; pub const GAIA_M : u32 = 1 ; pub const GAIA_DM : u32 = 2 ; pub const GAIA_CM : u32 = 3 ; pub const GAIA_MM : u32 = 4 ; pub const GAIA_KMI : u32 = 5 ; pub const GAIA_IN : u32 = 6 ; pub const GAIA_FT : u32 = 7 ; pub const GAIA_YD : u32 = 8 ; pub const GAIA_MI : u32 = 9 ; pub const GAIA_FATH : u32 = 10 ; pub const GAIA_CH : u32 = 11 ; pub const GAIA_LINK : u32 = 12 ; pub const GAIA_US_IN : u32 = 13 ; pub const GAIA_US_FT : u32 = 14 ; pub const GAIA_US_YD : u32 = 15 ; pub const GAIA_US_CH : u32 = 16 ; pub const GAIA_US_MI : u32 = 17 ; pub const GAIA_IND_YD : u32 = 18 ; pub const GAIA_IND_FT : u32 = 19 ; pub const GAIA_IND_CH : u32 = 20 ; pub const GAIA_MIN_UNIT : u32 = 0 ; pub const GAIA_MAX_UNIT : u32 = 20 ; pub const GAIA_SHP_NULL : u32 = 0 ; pub const GAIA_SHP_POINT : u32 = 1 ; pub const GAIA_SHP_POLYLINE : u32 = 3 ; pub const GAIA_SHP_POLYGON : u32 = 5 ; pub const GAIA_SHP_MULTIPOINT : u32 = 8 ; pub const GAIA_SHP_POINTZ : u32 = 11 ; pub const GAIA_SHP_POLYLINEZ : u32 = 13 ; pub const GAIA_SHP_POLYGONZ : u32 = 15 ; pub const GAIA_SHP_MULTIPOINTZ : u32 = 18 ; pub const GAIA_SHP_POINTM : u32 = 21 ; pub const GAIA_SHP_POLYLINEM : u32 = 23 ; pub const GAIA_SHP_POLYGONM : u32 = 25 ; pub const GAIA_SHP_MULTIPOINTM : u32 = 28 ; pub const GAIA_SAME_ORDER : u32 = 0 ; pub const GAIA_REVERSE_ORDER : i32 = -1 ; pub const GAIA_LHR_ORDER : i32 = -2 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __FD_ZERO_STOS : & 'static [ u8 ; 6usize ] = b"stosq\0" ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const __timespec_defined : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _SYS_SYSMACROS_H : u32 = 1 ; pub const _BITS_SYSMACROS_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const __PTHREAD_MUTEX_LOCK_ELISION : u32 = 1 ; pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND : u32 = 0 ; pub const __PTHREAD_MUTEX_USE_UNION : u32 = 0 ; pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const VRTTXT_FIELDS_MAX : u32 = 65535 ; pub const VRTTXT_BLOCK_MAX : u32 = 65535 ; pub const VRTTXT_TEXT : u32 = 1 ; pub const VRTTXT_INTEGER : u32 = 2 ; pub const VRTTXT_DOUBLE : u32 = 3 ; pub const VRTTXT_NULL : u32 = 4 ; pub const GAIA2GEOS_ALL : u32 = 0 ; pub const GAIA2GEOS_ONLY_POINTS : u32 = 1 ; pub const GAIA2GEOS_ONLY_LINESTRINGS : u32 = 2 ; pub const GAIA2GEOS_ONLY_POLYGONS : u32 = 3 ; pub const GAIA_XML_START : u32 = 0 ; pub const GAIA_XML_END : u32 = 221 ; pub const GAIA_XML_HEADER : u32 = 172 ; pub const GAIA_XML_LEGACY_HEADER : u32 = 171 ; pub const GAIA_XML_SCHEMA : u32 = 186 ; pub const GAIA_XML_FILEID : u32 = 202 ; pub const GAIA_XML_PARENTID : u32 = 218 ; pub const GAIA_XML_NAME : u32 = 222 ; pub const GAIA_XML_TITLE : u32 = 219 ; pub const GAIA_XML_ABSTRACT : u32 = 220 ; pub const GAIA_XML_GEOMETRY : u32 = 221 ; pub const GAIA_XML_CRC32 : u32 = 188 ; pub const GAIA_XML_PAYLOAD : u32 = 203 ; pub const GAIA_XML_LITTLE_ENDIAN : u32 = 1 ; pub const GAIA_XML_COMPRESSED : u32 = 2 ; pub const GAIA_XML_VALIDATED : u32 = 4 ; pub const GAIA_XML_ISO_METADATA : u32 = 128 ; pub const GAIA_XML_SLD_SE_RASTER_STYLE : u32 = 16 ; pub const GAIA_XML_SLD_SE_VECTOR_STYLE : u32 = 64 ; pub const GAIA_XML_SLD_STYLE : u32 = 72 ; pub const GAIA_XML_SVG : u32 = 32 ; pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; extern "C" { # [ link_name = "\u{1}sqlite3_version" ] pub static mut sqlite3_version : [ :: std :: os :: raw :: c_char ; 0usize ] ; } extern "C" { pub fn sqlite3_libversion ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_sourceid ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_libversion_number ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_compileoption_used ( zOptName : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_compileoption_get ( N : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_threadsafe ( ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3 { _unused : [ u8 ; 0 ] , } pub type sqlite_int64 = :: std :: os :: raw :: c_longlong ; pub type sqlite_uint64 = :: std :: os :: raw :: c_ulonglong ; pub type sqlite3_int64 = sqlite_int64 ; pub type sqlite3_uint64 = sqlite_uint64 ; extern "C" { pub fn sqlite3_close ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_close_v2 ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } pub type sqlite3_callback = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut :: std :: os :: raw :: c_char , arg4 : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn sqlite3_exec ( arg1 : * mut sqlite3 , sql : * const :: std :: os :: raw :: c_char , callback : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut :: std :: os :: raw :: c_char , arg4 : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , arg2 : * mut :: std :: os :: raw :: c_void , errmsg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_file { pub pMethods : * const sqlite3_io_methods , } # [ test ] fn bindgen_test_layout_sqlite3_file ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_file > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sqlite3_file ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_file > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_file > ( ) ) ) . pMethods as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_file ) , "::" , stringify ! ( pMethods ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_io_methods { pub iVersion : :: std :: os :: raw :: c_int , pub xClose : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file ) -> :: std :: os :: raw :: c_int > , pub xRead : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , arg2 : * mut :: std :: os :: raw :: c_void , iAmt : :: std :: os :: raw :: c_int , iOfst : sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xWrite : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , arg2 : * const :: std :: os :: raw :: c_void , iAmt : :: std :: os :: raw :: c_int , iOfst : sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xTruncate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , size : sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xSync : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , flags : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xFileSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , pSize : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xLock : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xUnlock : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xCheckReservedLock : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , pResOut : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xFileControl : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , op : :: std :: os :: raw :: c_int , pArg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xSectorSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file ) -> :: std :: os :: raw :: c_int > , pub xDeviceCharacteristics : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file ) -> :: std :: os :: raw :: c_int > , pub xShmMap : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , iPg : :: std :: os :: raw :: c_int , pgsz : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xShmLock : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , offset : :: std :: os :: raw :: c_int , n : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xShmBarrier : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file ) > , pub xShmUnmap : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , deleteFlag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xFetch : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , iOfst : sqlite3_int64 , iAmt : :: std :: os :: raw :: c_int , pp : * mut * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xUnfetch : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_file , iOfst : sqlite3_int64 , p : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_sqlite3_io_methods ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_io_methods > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( sqlite3_io_methods ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_io_methods > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_io_methods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xClose as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xClose ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xRead as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xRead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xWrite as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xWrite ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xTruncate as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xTruncate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xSync as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xSync ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xFileSize as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xFileSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xLock as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xUnlock as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xUnlock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xCheckReservedLock as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xCheckReservedLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xFileControl as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xFileControl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xSectorSize as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xSectorSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xDeviceCharacteristics as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xDeviceCharacteristics ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xShmMap as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xShmMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xShmLock as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xShmLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xShmBarrier as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xShmBarrier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xShmUnmap as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xShmUnmap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xFetch as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xFetch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_io_methods > ( ) ) ) . xUnfetch as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_io_methods ) , "::" , stringify ! ( xUnfetch ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_mutex { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_api_routines { _unused : [ u8 ; 0 ] , } pub type sqlite3_syscall_ptr = :: std :: option :: Option < unsafe extern "C" fn ( ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_vfs { pub iVersion : :: std :: os :: raw :: c_int , pub szOsFile : :: std :: os :: raw :: c_int , pub mxPathname : :: std :: os :: raw :: c_int , pub pNext : * mut sqlite3_vfs , pub zName : * const :: std :: os :: raw :: c_char , pub pAppData : * mut :: std :: os :: raw :: c_void , pub xOpen : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char , arg2 : * mut sqlite3_file , flags : :: std :: os :: raw :: c_int , pOutFlags : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xDelete : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char , syncDir : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xAccess : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char , flags : :: std :: os :: raw :: c_int , pResOut : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xFullPathname : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char , nOut : :: std :: os :: raw :: c_int , zOut : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xDlOpen : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zFilename : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_void > , pub xDlError : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , nByte : :: std :: os :: raw :: c_int , zErrMsg : * mut :: std :: os :: raw :: c_char ) > , pub xDlSym : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : * mut :: std :: os :: raw :: c_void , zSymbol : * const :: std :: os :: raw :: c_char ) -> :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : * mut :: std :: os :: raw :: c_void , zSymbol : * const :: std :: os :: raw :: c_char ) > > , pub xDlClose : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : * mut :: std :: os :: raw :: c_void ) > , pub xRandomness : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , nByte : :: std :: os :: raw :: c_int , zOut : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xSleep : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , microseconds : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xCurrentTime : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : * mut f64 ) -> :: std :: os :: raw :: c_int > , pub xGetLastError : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xCurrentTimeInt64 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , arg2 : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xSetSystemCall : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char , arg2 : sqlite3_syscall_ptr ) -> :: std :: os :: raw :: c_int > , pub xGetSystemCall : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char ) -> sqlite3_syscall_ptr > , pub xNextSystemCall : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vfs , zName : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char > , } # [ test ] fn bindgen_test_layout_sqlite3_vfs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_vfs > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( sqlite3_vfs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_vfs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_vfs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . szOsFile as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( szOsFile ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . mxPathname as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( mxPathname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . pNext as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( pNext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . zName as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( zName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . pAppData as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( pAppData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xOpen as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xOpen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xDelete as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xDelete ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xAccess as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xAccess ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xFullPathname as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xFullPathname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xDlOpen as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xDlOpen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xDlError as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xDlError ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xDlSym as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xDlSym ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xDlClose as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xDlClose ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xRandomness as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xRandomness ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xSleep as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xSleep ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xCurrentTime as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xCurrentTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xGetLastError as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xGetLastError ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xCurrentTimeInt64 as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xCurrentTimeInt64 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xSetSystemCall as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xSetSystemCall ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xGetSystemCall as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xGetSystemCall ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vfs > ( ) ) ) . xNextSystemCall as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vfs ) , "::" , stringify ! ( xNextSystemCall ) ) ) ; } extern "C" { pub fn sqlite3_initialize ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_shutdown ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_os_init ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_os_end ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_config ( arg1 : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_db_config ( arg1 : * mut sqlite3 , op : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_mem_methods { pub xMalloc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void > , pub xFree : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub xRealloc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void > , pub xSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xRoundup : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xInit : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xShutdown : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub pAppData : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_sqlite3_mem_methods ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_mem_methods > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( sqlite3_mem_methods ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_mem_methods > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_mem_methods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xMalloc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xMalloc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xFree as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xFree ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xRealloc as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xRealloc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xSize as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xRoundup as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xRoundup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xInit as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . xShutdown as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( xShutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mem_methods > ( ) ) ) . pAppData as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mem_methods ) , "::" , stringify ! ( pAppData ) ) ) ; } extern "C" { pub fn sqlite3_extended_result_codes ( arg1 : * mut sqlite3 , onoff : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_last_insert_rowid ( arg1 : * mut sqlite3 ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_set_last_insert_rowid ( arg1 : * mut sqlite3 , arg2 : sqlite3_int64 ) ; } extern "C" { pub fn sqlite3_changes ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_total_changes ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_interrupt ( arg1 : * mut sqlite3 ) ; } extern "C" { pub fn sqlite3_complete ( sql : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_complete16 ( sql : * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_busy_handler ( arg1 : * mut sqlite3 , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , arg3 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_busy_timeout ( arg1 : * mut sqlite3 , ms : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_get_table ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_char , pazResult : * mut * mut * mut :: std :: os :: raw :: c_char , pnRow : * mut :: std :: os :: raw :: c_int , pnColumn : * mut :: std :: os :: raw :: c_int , pzErrmsg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_free_table ( result : * mut * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn sqlite3_mprintf ( arg1 : * const :: std :: os :: raw :: c_char , ... ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_vmprintf ( arg1 : * const :: std :: os :: raw :: c_char , arg2 : * mut __va_list_tag ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_snprintf ( arg1 : :: std :: os :: raw :: c_int , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : * const :: std :: os :: raw :: c_char , ... ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_vsnprintf ( arg1 : :: std :: os :: raw :: c_int , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : * const :: std :: os :: raw :: c_char , arg4 : * mut __va_list_tag ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_malloc ( arg1 : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_malloc64 ( arg1 : sqlite3_uint64 ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_realloc ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_realloc64 ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : sqlite3_uint64 ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn sqlite3_msize ( arg1 : * mut :: std :: os :: raw :: c_void ) -> sqlite3_uint64 ; } extern "C" { pub fn sqlite3_memory_used ( ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_memory_highwater ( resetFlag : :: std :: os :: raw :: c_int ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_randomness ( N : :: std :: os :: raw :: c_int , P : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn sqlite3_set_authorizer ( arg1 : * mut sqlite3 , xAuth : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char , arg4 : * const :: std :: os :: raw :: c_char , arg5 : * const :: std :: os :: raw :: c_char , arg6 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pUserData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_trace ( arg1 : * mut sqlite3 , xTrace : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_char ) > , arg2 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_profile ( arg1 : * mut sqlite3 , xProfile : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_char , arg3 : sqlite3_uint64 ) > , arg2 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_trace_v2 ( arg1 : * mut sqlite3 , uMask : :: std :: os :: raw :: c_uint , xCallback : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_uint , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pCtx : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_progress_handler ( arg1 : * mut sqlite3 , arg2 : :: std :: os :: raw :: c_int , arg3 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , arg4 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn sqlite3_open ( filename : * const :: std :: os :: raw :: c_char , ppDb : * mut * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_open16 ( filename : * const :: std :: os :: raw :: c_void , ppDb : * mut * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_open_v2 ( filename : * const :: std :: os :: raw :: c_char , ppDb : * mut * mut sqlite3 , flags : :: std :: os :: raw :: c_int , zVfs : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_uri_parameter ( zFilename : * const :: std :: os :: raw :: c_char , zParam : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_uri_boolean ( zFile : * const :: std :: os :: raw :: c_char , zParam : * const :: std :: os :: raw :: c_char , bDefault : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_uri_int64 ( arg1 : * const :: std :: os :: raw :: c_char , arg2 : * const :: std :: os :: raw :: c_char , arg3 : sqlite3_int64 ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_errcode ( db : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_extended_errcode ( db : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_errmsg ( arg1 : * mut sqlite3 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_errmsg16 ( arg1 : * mut sqlite3 ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_errstr ( arg1 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_stmt { _unused : [ u8 ; 0 ] , } extern "C" { pub fn sqlite3_limit ( arg1 : * mut sqlite3 , id : :: std :: os :: raw :: c_int , newVal : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_char , nByte : :: std :: os :: raw :: c_int , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare_v2 ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_char , nByte : :: std :: os :: raw :: c_int , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare_v3 ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_char , nByte : :: std :: os :: raw :: c_int , prepFlags : :: std :: os :: raw :: c_uint , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare16 ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_void , nByte : :: std :: os :: raw :: c_int , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare16_v2 ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_void , nByte : :: std :: os :: raw :: c_int , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_prepare16_v3 ( db : * mut sqlite3 , zSql : * const :: std :: os :: raw :: c_void , nByte : :: std :: os :: raw :: c_int , prepFlags : :: std :: os :: raw :: c_uint , ppStmt : * mut * mut sqlite3_stmt , pzTail : * mut * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_sql ( pStmt : * mut sqlite3_stmt ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_expanded_sql ( pStmt : * mut sqlite3_stmt ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_stmt_readonly ( pStmt : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_stmt_busy ( arg1 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_value { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_context { _unused : [ u8 ; 0 ] , } extern "C" { pub fn sqlite3_bind_blob ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , n : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_blob64 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , arg4 : sqlite3_uint64 , arg5 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_double ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_int ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_int64 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : sqlite3_int64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_null ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_text ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char , arg4 : :: std :: os :: raw :: c_int , arg5 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_text16 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , arg4 : :: std :: os :: raw :: c_int , arg5 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_text64 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char , arg4 : sqlite3_uint64 , arg5 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , encoding : :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_value ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * const sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_pointer ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut :: std :: os :: raw :: c_void , arg4 : * const :: std :: os :: raw :: c_char , arg5 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_zeroblob ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , n : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_zeroblob64 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int , arg3 : sqlite3_uint64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_parameter_count ( arg1 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_bind_parameter_name ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_bind_parameter_index ( arg1 : * mut sqlite3_stmt , zName : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_clear_bindings ( arg1 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_count ( pStmt : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_name ( arg1 : * mut sqlite3_stmt , N : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_column_name16 ( arg1 : * mut sqlite3_stmt , N : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_database_name ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_column_database_name16 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_table_name ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_column_table_name16 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_origin_name ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_column_origin_name16 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_decltype ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_column_decltype16 ( arg1 : * mut sqlite3_stmt , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_step ( arg1 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_data_count ( pStmt : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_blob ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_double ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn sqlite3_column_int ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_int64 ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_column_text ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn sqlite3_column_text16 ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_column_value ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> * mut sqlite3_value ; } extern "C" { pub fn sqlite3_column_bytes ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_bytes16 ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_column_type ( arg1 : * mut sqlite3_stmt , iCol : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_finalize ( pStmt : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_reset ( pStmt : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_function ( db : * mut sqlite3 , zFunctionName : * const :: std :: os :: raw :: c_char , nArg : :: std :: os :: raw :: c_int , eTextRep : :: std :: os :: raw :: c_int , pApp : * mut :: std :: os :: raw :: c_void , xFunc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xStep : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xFinal : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_function16 ( db : * mut sqlite3 , zFunctionName : * const :: std :: os :: raw :: c_void , nArg : :: std :: os :: raw :: c_int , eTextRep : :: std :: os :: raw :: c_int , pApp : * mut :: std :: os :: raw :: c_void , xFunc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xStep : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xFinal : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_function_v2 ( db : * mut sqlite3 , zFunctionName : * const :: std :: os :: raw :: c_char , nArg : :: std :: os :: raw :: c_int , eTextRep : :: std :: os :: raw :: c_int , pApp : * mut :: std :: os :: raw :: c_void , xFunc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xStep : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , xFinal : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context ) > , xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_aggregate_count ( arg1 : * mut sqlite3_context ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_expired ( arg1 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_transfer_bindings ( arg1 : * mut sqlite3_stmt , arg2 : * mut sqlite3_stmt ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_global_recover ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_thread_cleanup ( ) ; } extern "C" { pub fn sqlite3_memory_alarm ( arg1 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : sqlite3_int64 , arg3 : :: std :: os :: raw :: c_int ) > , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : sqlite3_int64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_blob ( arg1 : * mut sqlite3_value ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_value_double ( arg1 : * mut sqlite3_value ) -> f64 ; } extern "C" { pub fn sqlite3_value_int ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_int64 ( arg1 : * mut sqlite3_value ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_value_pointer ( arg1 : * mut sqlite3_value , arg2 : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_value_text ( arg1 : * mut sqlite3_value ) -> * const :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn sqlite3_value_text16 ( arg1 : * mut sqlite3_value ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_value_text16le ( arg1 : * mut sqlite3_value ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_value_text16be ( arg1 : * mut sqlite3_value ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_value_bytes ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_bytes16 ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_type ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_numeric_type ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_nochange ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_value_subtype ( arg1 : * mut sqlite3_value ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn sqlite3_value_dup ( arg1 : * const sqlite3_value ) -> * mut sqlite3_value ; } extern "C" { pub fn sqlite3_value_free ( arg1 : * mut sqlite3_value ) ; } extern "C" { pub fn sqlite3_aggregate_context ( arg1 : * mut sqlite3_context , nBytes : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_user_data ( arg1 : * mut sqlite3_context ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_context_db_handle ( arg1 : * mut sqlite3_context ) -> * mut sqlite3 ; } extern "C" { pub fn sqlite3_get_auxdata ( arg1 : * mut sqlite3_context , N : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_set_auxdata ( arg1 : * mut sqlite3_context , N : :: std :: os :: raw :: c_int , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } pub type sqlite3_destructor_type = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn sqlite3_result_blob ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_blob64 ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : sqlite3_uint64 , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_double ( arg1 : * mut sqlite3_context , arg2 : f64 ) ; } extern "C" { pub fn sqlite3_result_error ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_result_error16 ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_result_error_toobig ( arg1 : * mut sqlite3_context ) ; } extern "C" { pub fn sqlite3_result_error_nomem ( arg1 : * mut sqlite3_context ) ; } extern "C" { pub fn sqlite3_result_error_code ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_result_int ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_result_int64 ( arg1 : * mut sqlite3_context , arg2 : sqlite3_int64 ) ; } extern "C" { pub fn sqlite3_result_null ( arg1 : * mut sqlite3_context ) ; } extern "C" { pub fn sqlite3_result_text ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_text64 ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_char , arg3 : sqlite3_uint64 , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , encoding : :: std :: os :: raw :: c_uchar ) ; } extern "C" { pub fn sqlite3_result_text16 ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_text16le ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_text16be ( arg1 : * mut sqlite3_context , arg2 : * const :: std :: os :: raw :: c_void , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_value ( arg1 : * mut sqlite3_context , arg2 : * mut sqlite3_value ) ; } extern "C" { pub fn sqlite3_result_pointer ( arg1 : * mut sqlite3_context , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * const :: std :: os :: raw :: c_char , arg4 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) ; } extern "C" { pub fn sqlite3_result_zeroblob ( arg1 : * mut sqlite3_context , n : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_result_zeroblob64 ( arg1 : * mut sqlite3_context , n : sqlite3_uint64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_result_subtype ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn sqlite3_create_collation ( arg1 : * mut sqlite3 , zName : * const :: std :: os :: raw :: c_char , eTextRep : :: std :: os :: raw :: c_int , pArg : * mut :: std :: os :: raw :: c_void , xCompare : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , arg4 : :: std :: os :: raw :: c_int , arg5 : * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_collation_v2 ( arg1 : * mut sqlite3 , zName : * const :: std :: os :: raw :: c_char , eTextRep : :: std :: os :: raw :: c_int , pArg : * mut :: std :: os :: raw :: c_void , xCompare : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , arg4 : :: std :: os :: raw :: c_int , arg5 : * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_collation16 ( arg1 : * mut sqlite3 , zName : * const :: std :: os :: raw :: c_void , eTextRep : :: std :: os :: raw :: c_int , pArg : * mut :: std :: os :: raw :: c_void , xCompare : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void , arg4 : :: std :: os :: raw :: c_int , arg5 : * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_collation_needed ( arg1 : * mut sqlite3 , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut sqlite3 , eTextRep : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_collation_needed16 ( arg1 : * mut sqlite3 , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut sqlite3 , eTextRep : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_sleep ( arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}sqlite3_temp_directory" ] pub static mut sqlite3_temp_directory : * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}sqlite3_data_directory" ] pub static mut sqlite3_data_directory : * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_get_autocommit ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_db_handle ( arg1 : * mut sqlite3_stmt ) -> * mut sqlite3 ; } extern "C" { pub fn sqlite3_db_filename ( db : * mut sqlite3 , zDbName : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_db_readonly ( db : * mut sqlite3 , zDbName : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_next_stmt ( pDb : * mut sqlite3 , pStmt : * mut sqlite3_stmt ) -> * mut sqlite3_stmt ; } extern "C" { pub fn sqlite3_commit_hook ( arg1 : * mut sqlite3 , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , arg3 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_rollback_hook ( arg1 : * mut sqlite3 , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , arg3 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_update_hook ( arg1 : * mut sqlite3 , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char , arg4 : * const :: std :: os :: raw :: c_char , arg5 : sqlite3_int64 ) > , arg3 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_enable_shared_cache ( arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_release_memory ( arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_db_release_memory ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_soft_heap_limit64 ( N : sqlite3_int64 ) -> sqlite3_int64 ; } extern "C" { pub fn sqlite3_soft_heap_limit ( N : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sqlite3_table_column_metadata ( db : * mut sqlite3 , zDbName : * const :: std :: os :: raw :: c_char , zTableName : * const :: std :: os :: raw :: c_char , zColumnName : * const :: std :: os :: raw :: c_char , pzDataType : * mut * const :: std :: os :: raw :: c_char , pzCollSeq : * mut * const :: std :: os :: raw :: c_char , pNotNull : * mut :: std :: os :: raw :: c_int , pPrimaryKey : * mut :: std :: os :: raw :: c_int , pAutoinc : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_load_extension ( db : * mut sqlite3 , zFile : * const :: std :: os :: raw :: c_char , zProc : * const :: std :: os :: raw :: c_char , pzErrMsg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_enable_load_extension ( db : * mut sqlite3 , onoff : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_auto_extension ( xEntryPoint : :: std :: option :: Option < unsafe extern "C" fn ( ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_cancel_auto_extension ( xEntryPoint : :: std :: option :: Option < unsafe extern "C" fn ( ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_reset_auto_extension ( ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_module { pub iVersion : :: std :: os :: raw :: c_int , pub xCreate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3 , pAux : * mut :: std :: os :: raw :: c_void , argc : :: std :: os :: raw :: c_int , argv : * const * const :: std :: os :: raw :: c_char , ppVTab : * mut * mut sqlite3_vtab , arg2 : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xConnect : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3 , pAux : * mut :: std :: os :: raw :: c_void , argc : :: std :: os :: raw :: c_int , argv : * const * const :: std :: os :: raw :: c_char , ppVTab : * mut * mut sqlite3_vtab , arg2 : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xBestIndex : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab , arg1 : * mut sqlite3_index_info ) -> :: std :: os :: raw :: c_int > , pub xDisconnect : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xOpen : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab , ppCursor : * mut * mut sqlite3_vtab_cursor ) -> :: std :: os :: raw :: c_int > , pub xClose : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor ) -> :: std :: os :: raw :: c_int > , pub xFilter : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor , idxNum : :: std :: os :: raw :: c_int , idxStr : * const :: std :: os :: raw :: c_char , argc : :: std :: os :: raw :: c_int , argv : * mut * mut sqlite3_value ) -> :: std :: os :: raw :: c_int > , pub xNext : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor ) -> :: std :: os :: raw :: c_int > , pub xEof : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor ) -> :: std :: os :: raw :: c_int > , pub xColumn : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor , arg2 : * mut sqlite3_context , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xRowid : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab_cursor , pRowid : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xUpdate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_vtab , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value , arg4 : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xBegin : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xSync : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xCommit : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xRollback : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab ) -> :: std :: os :: raw :: c_int > , pub xFindFunction : :: std :: option :: Option < unsafe extern "C" fn ( pVtab : * mut sqlite3_vtab , nArg : :: std :: os :: raw :: c_int , zName : * const :: std :: os :: raw :: c_char , pxFunc : * mut :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_context , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut * mut sqlite3_value ) > , ppArg : * mut * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xRename : :: std :: option :: Option < unsafe extern "C" fn ( pVtab : * mut sqlite3_vtab , zNew : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub xSavepoint : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab , arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xRelease : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab , arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xRollbackTo : :: std :: option :: Option < unsafe extern "C" fn ( pVTab : * mut sqlite3_vtab , arg1 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_sqlite3_module ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_module > ( ) , 184usize , concat ! ( "Size of: " , stringify ! ( sqlite3_module ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_module > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_module ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xCreate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xCreate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xConnect as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xConnect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xBestIndex as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xBestIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xDisconnect as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xDisconnect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xDestroy as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xDestroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xOpen as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xOpen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xClose as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xClose ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xFilter as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xFilter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xNext as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xNext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xEof as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xEof ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xColumn as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xRowid as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xRowid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xUpdate as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xUpdate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xBegin as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xBegin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xSync as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xSync ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xCommit as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xCommit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xRollback as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xRollback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xFindFunction as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xFindFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xRename as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xRename ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xSavepoint as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xSavepoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xRelease as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xRelease ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_module > ( ) ) ) . xRollbackTo as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_module ) , "::" , stringify ! ( xRollbackTo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_index_info { pub nConstraint : :: std :: os :: raw :: c_int , pub aConstraint : * mut sqlite3_index_info_sqlite3_index_constraint , pub nOrderBy : :: std :: os :: raw :: c_int , pub aOrderBy : * mut sqlite3_index_info_sqlite3_index_orderby , pub aConstraintUsage : * mut sqlite3_index_info_sqlite3_index_constraint_usage , pub idxNum : :: std :: os :: raw :: c_int , pub idxStr : * mut :: std :: os :: raw :: c_char , pub needToFreeIdxStr : :: std :: os :: raw :: c_int , pub orderByConsumed : :: std :: os :: raw :: c_int , pub estimatedCost : f64 , pub estimatedRows : sqlite3_int64 , pub idxFlags : :: std :: os :: raw :: c_int , pub colUsed : sqlite3_uint64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_index_info_sqlite3_index_constraint { pub iColumn : :: std :: os :: raw :: c_int , pub op : :: std :: os :: raw :: c_uchar , pub usable : :: std :: os :: raw :: c_uchar , pub iTermOffset : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_index_info_sqlite3_index_constraint > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_index_info_sqlite3_index_constraint > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint > ( ) ) ) . iColumn as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) , "::" , stringify ! ( iColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint > ( ) ) ) . op as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) , "::" , stringify ! ( op ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint > ( ) ) ) . usable as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) , "::" , stringify ! ( usable ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint > ( ) ) ) . iTermOffset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint ) , "::" , stringify ! ( iTermOffset ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_index_info_sqlite3_index_orderby { pub iColumn : :: std :: os :: raw :: c_int , pub desc : :: std :: os :: raw :: c_uchar , } # [ test ] fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_index_info_sqlite3_index_orderby > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sqlite3_index_info_sqlite3_index_orderby ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_index_info_sqlite3_index_orderby > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_index_info_sqlite3_index_orderby ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_orderby > ( ) ) ) . iColumn as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_orderby ) , "::" , stringify ! ( iColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_orderby > ( ) ) ) . desc as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_orderby ) , "::" , stringify ! ( desc ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_index_info_sqlite3_index_constraint_usage { pub argvIndex : :: std :: os :: raw :: c_int , pub omit : :: std :: os :: raw :: c_uchar , } # [ test ] fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_index_info_sqlite3_index_constraint_usage > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint_usage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_index_info_sqlite3_index_constraint_usage > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint_usage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint_usage > ( ) ) ) . argvIndex as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint_usage ) , "::" , stringify ! ( argvIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info_sqlite3_index_constraint_usage > ( ) ) ) . omit as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info_sqlite3_index_constraint_usage ) , "::" , stringify ! ( omit ) ) ) ; } # [ test ] fn bindgen_test_layout_sqlite3_index_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_index_info > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( sqlite3_index_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_index_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_index_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . nConstraint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( nConstraint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . aConstraint as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( aConstraint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . nOrderBy as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( nOrderBy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . aOrderBy as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( aOrderBy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . aConstraintUsage as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( aConstraintUsage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . idxNum as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( idxNum ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . idxStr as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( idxStr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . needToFreeIdxStr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( needToFreeIdxStr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . orderByConsumed as * const _ as usize } , 60usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( orderByConsumed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . estimatedCost as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( estimatedCost ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . estimatedRows as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( estimatedRows ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . idxFlags as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( idxFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_index_info > ( ) ) ) . colUsed as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_index_info ) , "::" , stringify ! ( colUsed ) ) ) ; } extern "C" { pub fn sqlite3_create_module ( db : * mut sqlite3 , zName : * const :: std :: os :: raw :: c_char , p : * const sqlite3_module , pClientData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_create_module_v2 ( db : * mut sqlite3 , zName : * const :: std :: os :: raw :: c_char , p : * const sqlite3_module , pClientData : * mut :: std :: os :: raw :: c_void , xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_vtab { pub pModule : * const sqlite3_module , pub nRef : :: std :: os :: raw :: c_int , pub zErrMsg : * mut :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_sqlite3_vtab ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_vtab > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sqlite3_vtab ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_vtab > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_vtab ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vtab > ( ) ) ) . pModule as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vtab ) , "::" , stringify ! ( pModule ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vtab > ( ) ) ) . nRef as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vtab ) , "::" , stringify ! ( nRef ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vtab > ( ) ) ) . zErrMsg as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vtab ) , "::" , stringify ! ( zErrMsg ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_vtab_cursor { pub pVtab : * mut sqlite3_vtab , } # [ test ] fn bindgen_test_layout_sqlite3_vtab_cursor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_vtab_cursor > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sqlite3_vtab_cursor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_vtab_cursor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_vtab_cursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_vtab_cursor > ( ) ) ) . pVtab as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_vtab_cursor ) , "::" , stringify ! ( pVtab ) ) ) ; } extern "C" { pub fn sqlite3_declare_vtab ( arg1 : * mut sqlite3 , zSQL : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_overload_function ( arg1 : * mut sqlite3 , zFuncName : * const :: std :: os :: raw :: c_char , nArg : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_blob { _unused : [ u8 ; 0 ] , } extern "C" { pub fn sqlite3_blob_open ( arg1 : * mut sqlite3 , zDb : * const :: std :: os :: raw :: c_char , zTable : * const :: std :: os :: raw :: c_char , zColumn : * const :: std :: os :: raw :: c_char , iRow : sqlite3_int64 , flags : :: std :: os :: raw :: c_int , ppBlob : * mut * mut sqlite3_blob ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_blob_reopen ( arg1 : * mut sqlite3_blob , arg2 : sqlite3_int64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_blob_close ( arg1 : * mut sqlite3_blob ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_blob_bytes ( arg1 : * mut sqlite3_blob ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_blob_read ( arg1 : * mut sqlite3_blob , Z : * mut :: std :: os :: raw :: c_void , N : :: std :: os :: raw :: c_int , iOffset : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_blob_write ( arg1 : * mut sqlite3_blob , z : * const :: std :: os :: raw :: c_void , n : :: std :: os :: raw :: c_int , iOffset : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vfs_find ( zVfsName : * const :: std :: os :: raw :: c_char ) -> * mut sqlite3_vfs ; } extern "C" { pub fn sqlite3_vfs_register ( arg1 : * mut sqlite3_vfs , makeDflt : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vfs_unregister ( arg1 : * mut sqlite3_vfs ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_mutex_alloc ( arg1 : :: std :: os :: raw :: c_int ) -> * mut sqlite3_mutex ; } extern "C" { pub fn sqlite3_mutex_free ( arg1 : * mut sqlite3_mutex ) ; } extern "C" { pub fn sqlite3_mutex_enter ( arg1 : * mut sqlite3_mutex ) ; } extern "C" { pub fn sqlite3_mutex_try ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_mutex_leave ( arg1 : * mut sqlite3_mutex ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_mutex_methods { pub xMutexInit : :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > , pub xMutexEnd : :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > , pub xMutexAlloc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int ) -> * mut sqlite3_mutex > , pub xMutexFree : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) > , pub xMutexEnter : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) > , pub xMutexTry : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int > , pub xMutexLeave : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) > , pub xMutexHeld : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int > , pub xMutexNotheld : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_sqlite3_mutex_methods ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_mutex_methods > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( sqlite3_mutex_methods ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_mutex_methods > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_mutex_methods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexInit as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexEnd as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexAlloc as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexAlloc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexFree as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexFree ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexEnter as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexEnter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexTry as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexTry ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexLeave as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexLeave ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexHeld as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexHeld ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_mutex_methods > ( ) ) ) . xMutexNotheld as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_mutex_methods ) , "::" , stringify ! ( xMutexNotheld ) ) ) ; } extern "C" { pub fn sqlite3_mutex_held ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_mutex_notheld ( arg1 : * mut sqlite3_mutex ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_db_mutex ( arg1 : * mut sqlite3 ) -> * mut sqlite3_mutex ; } extern "C" { pub fn sqlite3_file_control ( arg1 : * mut sqlite3 , zDbName : * const :: std :: os :: raw :: c_char , op : :: std :: os :: raw :: c_int , arg2 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_test_control ( op : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_status ( op : :: std :: os :: raw :: c_int , pCurrent : * mut :: std :: os :: raw :: c_int , pHighwater : * mut :: std :: os :: raw :: c_int , resetFlag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_status64 ( op : :: std :: os :: raw :: c_int , pCurrent : * mut sqlite3_int64 , pHighwater : * mut sqlite3_int64 , resetFlag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_db_status ( arg1 : * mut sqlite3 , op : :: std :: os :: raw :: c_int , pCur : * mut :: std :: os :: raw :: c_int , pHiwtr : * mut :: std :: os :: raw :: c_int , resetFlg : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_stmt_status ( arg1 : * mut sqlite3_stmt , op : :: std :: os :: raw :: c_int , resetFlg : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_pcache { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_pcache_page { pub pBuf : * mut :: std :: os :: raw :: c_void , pub pExtra : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_sqlite3_pcache_page ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_pcache_page > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sqlite3_pcache_page ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_pcache_page > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_pcache_page ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_page > ( ) ) ) . pBuf as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_page ) , "::" , stringify ! ( pBuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_page > ( ) ) ) . pExtra as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_page ) , "::" , stringify ! ( pExtra ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_pcache_methods2 { pub iVersion : :: std :: os :: raw :: c_int , pub pArg : * mut :: std :: os :: raw :: c_void , pub xInit : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xShutdown : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub xCreate : :: std :: option :: Option < unsafe extern "C" fn ( szPage : :: std :: os :: raw :: c_int , szExtra : :: std :: os :: raw :: c_int , bPurgeable : :: std :: os :: raw :: c_int ) -> * mut sqlite3_pcache > , pub xCachesize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , nCachesize : :: std :: os :: raw :: c_int ) > , pub xPagecount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache ) -> :: std :: os :: raw :: c_int > , pub xFetch : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , key : :: std :: os :: raw :: c_uint , createFlag : :: std :: os :: raw :: c_int ) -> * mut sqlite3_pcache_page > , pub xUnpin : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , arg2 : * mut sqlite3_pcache_page , discard : :: std :: os :: raw :: c_int ) > , pub xRekey : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , arg2 : * mut sqlite3_pcache_page , oldKey : :: std :: os :: raw :: c_uint , newKey : :: std :: os :: raw :: c_uint ) > , pub xTruncate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , iLimit : :: std :: os :: raw :: c_uint ) > , pub xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache ) > , pub xShrink : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache ) > , } # [ test ] fn bindgen_test_layout_sqlite3_pcache_methods2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_pcache_methods2 > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( sqlite3_pcache_methods2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_pcache_methods2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_pcache_methods2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . pArg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( pArg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xInit as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xShutdown as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xShutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xCreate as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xCreate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xCachesize as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xCachesize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xPagecount as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xPagecount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xFetch as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xFetch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xUnpin as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xUnpin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xRekey as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xRekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xTruncate as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xTruncate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xDestroy as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xDestroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods2 > ( ) ) ) . xShrink as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods2 ) , "::" , stringify ! ( xShrink ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_pcache_methods { pub pArg : * mut :: std :: os :: raw :: c_void , pub xInit : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , pub xShutdown : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub xCreate : :: std :: option :: Option < unsafe extern "C" fn ( szPage : :: std :: os :: raw :: c_int , bPurgeable : :: std :: os :: raw :: c_int ) -> * mut sqlite3_pcache > , pub xCachesize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , nCachesize : :: std :: os :: raw :: c_int ) > , pub xPagecount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache ) -> :: std :: os :: raw :: c_int > , pub xFetch : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , key : :: std :: os :: raw :: c_uint , createFlag : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void > , pub xUnpin : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , arg2 : * mut :: std :: os :: raw :: c_void , discard : :: std :: os :: raw :: c_int ) > , pub xRekey : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , arg2 : * mut :: std :: os :: raw :: c_void , oldKey : :: std :: os :: raw :: c_uint , newKey : :: std :: os :: raw :: c_uint ) > , pub xTruncate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache , iLimit : :: std :: os :: raw :: c_uint ) > , pub xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_pcache ) > , } # [ test ] fn bindgen_test_layout_sqlite3_pcache_methods ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_pcache_methods > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sqlite3_pcache_methods ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_pcache_methods > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_pcache_methods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . pArg as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( pArg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xInit as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xShutdown as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xShutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xCreate as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xCreate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xCachesize as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xCachesize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xPagecount as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xPagecount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xFetch as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xFetch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xUnpin as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xUnpin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xRekey as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xRekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xTruncate as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xTruncate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_pcache_methods > ( ) ) ) . xDestroy as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_pcache_methods ) , "::" , stringify ! ( xDestroy ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_backup { _unused : [ u8 ; 0 ] , } extern "C" { pub fn sqlite3_backup_init ( pDest : * mut sqlite3 , zDestName : * const :: std :: os :: raw :: c_char , pSource : * mut sqlite3 , zSourceName : * const :: std :: os :: raw :: c_char ) -> * mut sqlite3_backup ; } extern "C" { pub fn sqlite3_backup_step ( p : * mut sqlite3_backup , nPage : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_backup_finish ( p : * mut sqlite3_backup ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_backup_remaining ( p : * mut sqlite3_backup ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_backup_pagecount ( p : * mut sqlite3_backup ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_unlock_notify ( pBlocked : * mut sqlite3 , xNotify : :: std :: option :: Option < unsafe extern "C" fn ( apArg : * mut * mut :: std :: os :: raw :: c_void , nArg : :: std :: os :: raw :: c_int ) > , pNotifyArg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_stricmp ( arg1 : * const :: std :: os :: raw :: c_char , arg2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_strnicmp ( arg1 : * const :: std :: os :: raw :: c_char , arg2 : * const :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_strglob ( zGlob : * const :: std :: os :: raw :: c_char , zStr : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_strlike ( zGlob : * const :: std :: os :: raw :: c_char , zStr : * const :: std :: os :: raw :: c_char , cEsc : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_log ( iErrCode : :: std :: os :: raw :: c_int , zFormat : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn sqlite3_wal_hook ( arg1 : * mut sqlite3 , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut sqlite3 , arg3 : * const :: std :: os :: raw :: c_char , arg4 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , arg3 : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn sqlite3_wal_autocheckpoint ( db : * mut sqlite3 , N : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_wal_checkpoint ( db : * mut sqlite3 , zDb : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_wal_checkpoint_v2 ( db : * mut sqlite3 , zDb : * const :: std :: os :: raw :: c_char , eMode : :: std :: os :: raw :: c_int , pnLog : * mut :: std :: os :: raw :: c_int , pnCkpt : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vtab_config ( arg1 : * mut sqlite3 , op : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vtab_on_conflict ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vtab_nochange ( arg1 : * mut sqlite3_context ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_vtab_collation ( arg1 : * mut sqlite3_index_info , arg2 : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn sqlite3_stmt_scanstatus ( pStmt : * mut sqlite3_stmt , idx : :: std :: os :: raw :: c_int , iScanStatusOp : :: std :: os :: raw :: c_int , pOut : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_stmt_scanstatus_reset ( arg1 : * mut sqlite3_stmt ) ; } extern "C" { pub fn sqlite3_db_cacheflush ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_system_errno ( arg1 : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sqlite3_snapshot { pub hidden : [ :: std :: os :: raw :: c_uchar ; 48usize ] , } # [ test ] fn bindgen_test_layout_sqlite3_snapshot ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_snapshot > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( sqlite3_snapshot ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_snapshot > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_snapshot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_snapshot > ( ) ) ) . hidden as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_snapshot ) , "::" , stringify ! ( hidden ) ) ) ; } extern "C" { pub fn sqlite3_snapshot_get ( db : * mut sqlite3 , zSchema : * const :: std :: os :: raw :: c_char , ppSnapshot : * mut * mut sqlite3_snapshot ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_snapshot_open ( db : * mut sqlite3 , zSchema : * const :: std :: os :: raw :: c_char , pSnapshot : * mut sqlite3_snapshot ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_snapshot_free ( arg1 : * mut sqlite3_snapshot ) ; } extern "C" { pub fn sqlite3_snapshot_cmp ( p1 : * mut sqlite3_snapshot , p2 : * mut sqlite3_snapshot ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sqlite3_snapshot_recover ( db : * mut sqlite3 , zDb : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type sqlite3_rtree_dbl = f64 ; extern "C" { pub fn sqlite3_rtree_geometry_callback ( db : * mut sqlite3 , zGeom : * const :: std :: os :: raw :: c_char , xGeom : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_rtree_geometry , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sqlite3_rtree_dbl , arg4 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pContext : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_rtree_geometry { pub pContext : * mut :: std :: os :: raw :: c_void , pub nParam : :: std :: os :: raw :: c_int , pub aParam : * mut sqlite3_rtree_dbl , pub pUser : * mut :: std :: os :: raw :: c_void , pub xDelUser : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_sqlite3_rtree_geometry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_rtree_geometry > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( sqlite3_rtree_geometry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_rtree_geometry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_rtree_geometry ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_geometry > ( ) ) ) . pContext as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_geometry ) , "::" , stringify ! ( pContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_geometry > ( ) ) ) . nParam as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_geometry ) , "::" , stringify ! ( nParam ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_geometry > ( ) ) ) . aParam as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_geometry ) , "::" , stringify ! ( aParam ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_geometry > ( ) ) ) . pUser as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_geometry ) , "::" , stringify ! ( pUser ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_geometry > ( ) ) ) . xDelUser as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_geometry ) , "::" , stringify ! ( xDelUser ) ) ) ; } extern "C" { pub fn sqlite3_rtree_query_callback ( db : * mut sqlite3 , zQueryFunc : * const :: std :: os :: raw :: c_char , xQueryFunc : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut sqlite3_rtree_query_info ) -> :: std :: os :: raw :: c_int > , pContext : * mut :: std :: os :: raw :: c_void , xDestructor : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sqlite3_rtree_query_info { pub pContext : * mut :: std :: os :: raw :: c_void , pub nParam : :: std :: os :: raw :: c_int , pub aParam : * mut sqlite3_rtree_dbl , pub pUser : * mut :: std :: os :: raw :: c_void , pub xDelUser : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > , pub aCoord : * mut sqlite3_rtree_dbl , pub anQueue : * mut :: std :: os :: raw :: c_uint , pub nCoord : :: std :: os :: raw :: c_int , pub iLevel : :: std :: os :: raw :: c_int , pub mxLevel : :: std :: os :: raw :: c_int , pub iRowid : sqlite3_int64 , pub rParentScore : sqlite3_rtree_dbl , pub eParentWithin : :: std :: os :: raw :: c_int , pub eWithin : :: std :: os :: raw :: c_int , pub rScore : sqlite3_rtree_dbl , pub apSqlParam : * mut * mut sqlite3_value , } # [ test ] fn bindgen_test_layout_sqlite3_rtree_query_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sqlite3_rtree_query_info > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( sqlite3_rtree_query_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sqlite3_rtree_query_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sqlite3_rtree_query_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . pContext as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( pContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . nParam as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( nParam ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . aParam as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( aParam ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . pUser as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( pUser ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . xDelUser as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( xDelUser ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . aCoord as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( aCoord ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . anQueue as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( anQueue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . nCoord as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( nCoord ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . iLevel as * const _ as usize } , 60usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( iLevel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . mxLevel as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( mxLevel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . iRowid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( iRowid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . rParentScore as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( rParentScore ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . eParentWithin as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( eParentWithin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . eWithin as * const _ as usize } , 92usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( eWithin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . rScore as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( rScore ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sqlite3_rtree_query_info > ( ) ) ) . apSqlParam as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sqlite3_rtree_query_info ) , "::" , stringify ! ( apSqlParam ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Fts5Context { _unused : [ u8 ; 0 ] , } pub type fts5_extension_function = :: std :: option :: Option < unsafe extern "C" fn ( pApi : * const Fts5ExtensionApi , pFts : * mut Fts5Context , pCtx : * mut sqlite3_context , nVal : :: std :: os :: raw :: c_int , apVal : * mut * mut sqlite3_value ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Fts5PhraseIter { pub a : * const :: std :: os :: raw :: c_uchar , pub b : * const :: std :: os :: raw :: c_uchar , } # [ test ] fn bindgen_test_layout_Fts5PhraseIter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Fts5PhraseIter > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Fts5PhraseIter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Fts5PhraseIter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Fts5PhraseIter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5PhraseIter > ( ) ) ) . a as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( Fts5PhraseIter ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5PhraseIter > ( ) ) ) . b as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( Fts5PhraseIter ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Fts5ExtensionApi { pub iVersion : :: std :: os :: raw :: c_int , pub xUserData : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context ) -> * mut :: std :: os :: raw :: c_void > , pub xColumnCount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context ) -> :: std :: os :: raw :: c_int > , pub xRowCount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , pnRow : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xColumnTotalSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iCol : :: std :: os :: raw :: c_int , pnToken : * mut sqlite3_int64 ) -> :: std :: os :: raw :: c_int > , pub xTokenize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , pText : * const :: std :: os :: raw :: c_char , nText : :: std :: os :: raw :: c_int , pCtx : * mut :: std :: os :: raw :: c_void , xToken : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: os :: raw :: c_int , arg3 : * const :: std :: os :: raw :: c_char , arg4 : :: std :: os :: raw :: c_int , arg5 : :: std :: os :: raw :: c_int , arg6 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int > , pub xPhraseCount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context ) -> :: std :: os :: raw :: c_int > , pub xPhraseSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iPhrase : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xInstCount : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , pnInst : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xInst : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iIdx : :: std :: os :: raw :: c_int , piPhrase : * mut :: std :: os :: raw :: c_int , piCol : * mut :: std :: os :: raw :: c_int , piOff : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xRowid : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context ) -> sqlite3_int64 > , pub xColumnText : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iCol : :: std :: os :: raw :: c_int , pz : * mut * const :: std :: os :: raw :: c_char , pn : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xColumnSize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iCol : :: std :: os :: raw :: c_int , pnToken : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xQueryPhrase : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iPhrase : :: std :: os :: raw :: c_int , pUserData : * mut :: std :: os :: raw :: c_void , arg2 : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const Fts5ExtensionApi , arg2 : * mut Fts5Context , arg3 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int > , pub xSetAuxdata : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , pAux : * mut :: std :: os :: raw :: c_void , xDelete : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int > , pub xGetAuxdata : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , bClear : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void > , pub xPhraseFirst : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iPhrase : :: std :: os :: raw :: c_int , arg2 : * mut Fts5PhraseIter , arg3 : * mut :: std :: os :: raw :: c_int , arg4 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xPhraseNext : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , arg2 : * mut Fts5PhraseIter , piCol : * mut :: std :: os :: raw :: c_int , piOff : * mut :: std :: os :: raw :: c_int ) > , pub xPhraseFirstColumn : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , iPhrase : :: std :: os :: raw :: c_int , arg2 : * mut Fts5PhraseIter , arg3 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub xPhraseNextColumn : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Context , arg2 : * mut Fts5PhraseIter , piCol : * mut :: std :: os :: raw :: c_int ) > , } # [ test ] fn bindgen_test_layout_Fts5ExtensionApi ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Fts5ExtensionApi > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( Fts5ExtensionApi ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Fts5ExtensionApi > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Fts5ExtensionApi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xUserData as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xColumnCount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xColumnCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xRowCount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xRowCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xColumnTotalSize as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xColumnTotalSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xTokenize as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xTokenize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseCount as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseSize as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xInstCount as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xInstCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xInst as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xInst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xRowid as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xRowid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xColumnText as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xColumnText ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xColumnSize as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xColumnSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xQueryPhrase as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xQueryPhrase ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xSetAuxdata as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xSetAuxdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xGetAuxdata as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xGetAuxdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseFirst as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseFirst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseNext as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseNext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseFirstColumn as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseFirstColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < Fts5ExtensionApi > ( ) ) ) . xPhraseNextColumn as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( Fts5ExtensionApi ) , "::" , stringify ! ( xPhraseNextColumn ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Fts5Tokenizer { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct fts5_tokenizer { pub xCreate : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , azArg : * mut * const :: std :: os :: raw :: c_char , nArg : :: std :: os :: raw :: c_int , ppOut : * mut * mut Fts5Tokenizer ) -> :: std :: os :: raw :: c_int > , pub xDelete : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Tokenizer ) > , pub xTokenize : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut Fts5Tokenizer , pCtx : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int , pText : * const :: std :: os :: raw :: c_char , nText : :: std :: os :: raw :: c_int , xToken : :: std :: option :: Option < unsafe extern "C" fn ( pCtx : * mut :: std :: os :: raw :: c_void , tflags : :: std :: os :: raw :: c_int , pToken : * const :: std :: os :: raw :: c_char , nToken : :: std :: os :: raw :: c_int , iStart : :: std :: os :: raw :: c_int , iEnd : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_fts5_tokenizer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fts5_tokenizer > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( fts5_tokenizer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fts5_tokenizer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fts5_tokenizer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_tokenizer > ( ) ) ) . xCreate as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fts5_tokenizer ) , "::" , stringify ! ( xCreate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_tokenizer > ( ) ) ) . xDelete as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( fts5_tokenizer ) , "::" , stringify ! ( xDelete ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_tokenizer > ( ) ) ) . xTokenize as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( fts5_tokenizer ) , "::" , stringify ! ( xTokenize ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct fts5_api { pub iVersion : :: std :: os :: raw :: c_int , pub xCreateTokenizer : :: std :: option :: Option < unsafe extern "C" fn ( pApi : * mut fts5_api , zName : * const :: std :: os :: raw :: c_char , pContext : * mut :: std :: os :: raw :: c_void , pTokenizer : * mut fts5_tokenizer , xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int > , pub xFindTokenizer : :: std :: option :: Option < unsafe extern "C" fn ( pApi : * mut fts5_api , zName : * const :: std :: os :: raw :: c_char , ppContext : * mut * mut :: std :: os :: raw :: c_void , pTokenizer : * mut fts5_tokenizer ) -> :: std :: os :: raw :: c_int > , pub xCreateFunction : :: std :: option :: Option < unsafe extern "C" fn ( pApi : * mut fts5_api , zName : * const :: std :: os :: raw :: c_char , pContext : * mut :: std :: os :: raw :: c_void , xFunction : fts5_extension_function , xDestroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_fts5_api ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fts5_api > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( fts5_api ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fts5_api > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fts5_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_api > ( ) ) ) . iVersion as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fts5_api ) , "::" , stringify ! ( iVersion ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_api > ( ) ) ) . xCreateTokenizer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( fts5_api ) , "::" , stringify ! ( xCreateTokenizer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_api > ( ) ) ) . xFindTokenizer as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( fts5_api ) , "::" , stringify ! ( xFindTokenizer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fts5_api > ( ) ) ) . xCreateFunction as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( fts5_api ) , "::" , stringify ! ( xCreateFunction ) ) ) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [ :: std :: os :: raw :: c_char ; 4usize ] , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __mbstate_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wch as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wchb as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wchb ) ) ) ; } # [ test ] fn bindgen_test_layout___mbstate_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __mbstate_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __mbstate_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __mbstate_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __mbstate_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t > ( ) ) ) . __count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t > ( ) ) ) . __value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t ) , "::" , stringify ! ( __value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [ test ] fn bindgen_test_layout__G_fpos_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __state ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [ test ] fn bindgen_test_layout__G_fpos64_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos64_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos64_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __state ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_jump_t { _unused : [ u8 ; 0 ] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_marker { pub _next : * mut _IO_marker , pub _sbuf : * mut _IO_FILE , pub _pos : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout__IO_marker ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_marker > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_marker > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _sbuf as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _sbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _pos as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _pos ) ) ) ; } pub const __codecvt_result___codecvt_ok : __codecvt_result = 0 ; pub const __codecvt_result___codecvt_partial : __codecvt_result = 1 ; pub const __codecvt_result___codecvt_error : __codecvt_result = 2 ; pub const __codecvt_result___codecvt_noconv : __codecvt_result = 3 ; pub type __codecvt_result = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _flags2 : :: std :: os :: raw :: c_int , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [ :: std :: os :: raw :: c_char ; 1usize ] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub __pad1 : * mut :: std :: os :: raw :: c_void , pub __pad2 : * mut :: std :: os :: raw :: c_void , pub __pad3 : * mut :: std :: os :: raw :: c_void , pub __pad4 : * mut :: std :: os :: raw :: c_void , pub __pad5 : usize , pub _mode : :: std :: os :: raw :: c_int , pub _unused2 : [ :: std :: os :: raw :: c_char ; 20usize ] , } # [ test ] fn bindgen_test_layout__IO_FILE ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_FILE > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_FILE > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_end as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_base as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_base as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_ptr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_end as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_base as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_end as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_base as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_backup_base as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_backup_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_end as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _markers as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _markers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _chain as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _chain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _fileno as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _fileno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags2 as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _old_offset as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _old_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _cur_column as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _cur_column ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _vtable_offset as * const _ as usize } , 130usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _vtable_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _shortbuf as * const _ as usize } , 131usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _shortbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _lock as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _offset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad1 as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad2 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad3 as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad4 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad5 as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _mode as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _unused2 as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _unused2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_FILE_plus { _unused : [ u8 ; 0 ] , } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdin_" ] pub static mut _IO_2_1_stdin_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdout_" ] pub static mut _IO_2_1_stdout_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stderr_" ] pub static mut _IO_2_1_stderr_ : _IO_FILE_plus ; } pub type __io_read_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize ) -> __ssize_t > ; pub type __io_write_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __n : usize ) -> __ssize_t > ; pub type __io_seek_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; pub type __io_close_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn __underflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __uflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_getc ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_putc ( __c : :: std :: os :: raw :: c_int , __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_feof ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_ferror ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_peekc_locked ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_flockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_funlockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_ftrylockfile ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfscanf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag , arg4 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfprintf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_padn ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int , arg3 : __ssize_t ) -> __ssize_t ; } extern "C" { pub fn _IO_sgetn ( arg1 : * mut _IO_FILE , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : usize ) -> usize ; } extern "C" { pub fn _IO_seekoff ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_seekpos ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_free_backup_area ( arg1 : * mut _IO_FILE ) ; } pub type off_t = __off_t ; pub type fpos_t = _G_fpos_t ; extern "C" { # [ link_name = "\u{1}stdin" ] pub static mut stdin : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stdout" ] pub static mut stdout : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stderr" ] pub static mut stderr : * mut _IO_FILE ; } extern "C" { pub fn remove ( __filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename ( __old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat ( __oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile ( ) -> * mut FILE ; } extern "C" { pub fn tmpnam ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam ( __dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn freopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> * mut FILE ; } extern "C" { pub fn fdopen ( __fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn fmemopen ( __s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn open_memstream ( __bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize ) -> * mut FILE ; } extern "C" { pub fn setbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn setvbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize ) ; } extern "C" { pub fn setlinebuf ( __stream : * mut FILE ) ; } extern "C" { pub fn fprintf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf ( __s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf ( __s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf ( __s : * mut :: std :: os :: raw :: c_char , __maxlen : usize , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf ( __s : * mut :: std :: os :: raw :: c_char , __maxlen : usize , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf ( __fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf ( __fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_fscanf" ] pub fn fscanf1 ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_scanf" ] pub fn scanf1 ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_sscanf" ] pub fn sscanf1 ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vfscanf" ] pub fn vfscanf1 ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vscanf" ] pub fn vscanf1 ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vsscanf" ] pub fn vsscanf1 ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw ( __w : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets ( __s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn getdelim ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn getline ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn fputs ( __s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts ( __s : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread ( __ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { pub fn fwrite ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __s : * mut FILE ) -> usize ; } extern "C" { pub fn fread_unlocked ( __ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { pub fn fwrite_unlocked ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { pub fn fseek ( __stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind ( __stream : * mut FILE ) ; } extern "C" { pub fn fseeko ( __stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello ( __stream : * mut FILE ) -> __off_t ; } extern "C" { pub fn fgetpos ( __stream : * mut FILE , __pos : * mut fpos_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos ( __stream : * mut FILE , __pos : * const fpos_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr ( __stream : * mut FILE ) ; } extern "C" { pub fn feof ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked ( __stream : * mut FILE ) ; } extern "C" { pub fn feof_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror ( __s : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ link_name = "\u{1}sys_nerr" ] pub static mut sys_nerr : :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}sys_errlist" ] pub static mut sys_errlist : [ * const :: std :: os :: raw :: c_char ; 0usize ] ; } extern "C" { pub fn fileno ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen ( __command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn pclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ctermid ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile ( __stream : * mut FILE ) ; } extern "C" { pub fn ftrylockfile ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile ( __stream : * mut FILE ) ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = :: std :: os :: raw :: c_uchar ; pub type u_int16_t = :: std :: os :: raw :: c_ushort ; pub type u_int32_t = :: std :: os :: raw :: c_uint ; pub type u_int64_t = :: std :: os :: raw :: c_ulong ; pub type register_t = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [ test ] fn bindgen_test_layout_timeval ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timeval > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timeval ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timeval > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timeval ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_usec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_usec ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [ test ] fn bindgen_test_layout_timespec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timespec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timespec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timespec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timespec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_nsec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_nsec ) ) ) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct fd_set { pub __fds_bits : [ __fd_mask ; 16usize ] , } # [ test ] fn bindgen_test_layout_fd_set ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fd_set > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fd_set > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fd_set > ( ) ) ) . __fds_bits as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fd_set ) , "::" , stringify ! ( __fds_bits ) ) ) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select ( __nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect ( __nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn gnu_dev_major ( __dev : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_minor ( __dev : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_makedev ( __major : :: std :: os :: raw :: c_uint , __minor : :: std :: os :: raw :: c_uint ) -> __dev_t ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [ :: std :: os :: raw :: c_uchar ; 7usize ] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_rwlock_arch_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_rwlock_arch_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_rwlock_arch_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __readers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __readers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __wrphase_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers_futex as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad3 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad4 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __cur_writer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __cur_writer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __shared as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __shared ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __rwelision as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __rwelision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad1 as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad2 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_cond_s { pub __bindgen_anon_1 : __pthread_cond_s__bindgen_ty_1 , pub __bindgen_anon_2 : __pthread_cond_s__bindgen_ty_2 , pub __g_refs : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g_size : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [ :: std :: os :: raw :: c_uint ; 2usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_1 { pub __wseq : :: std :: os :: raw :: c_ulonglong , pub __wseq32 : __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq32 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_2 { pub __g1_start : :: std :: os :: raw :: c_ulonglong , pub __g1_start32 : __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start32 ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_refs as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_refs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g1_orig_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __wrefs as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __wrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_signals as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_signals ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutexattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_mutexattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_condattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_condattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __align ) ) ) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_attr_t { pub __size : [ :: std :: os :: raw :: c_char ; 56usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_pthread_attr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_attr_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_attr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [ :: std :: os :: raw :: c_char ; 48usize ] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_pthread_cond_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_cond_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_cond_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [ :: std :: os :: raw :: c_char ; 56usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_pthread_rwlock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlock_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_rwlockattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 8usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_pthread_rwlockattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __align ) ) ) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_barrier_t { pub __size : [ :: std :: os :: raw :: c_char ; 32usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_pthread_barrier_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrier_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrier_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_barrierattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_barrierattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ doc = "Container for OGC POINT Geometry" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaPointStruct { # [ doc = " X coordinate" ] pub X : f64 , # [ doc = " Y coordinate" ] pub Y : f64 , # [ doc = " Z coordinate: only for XYZ and XYZM dims" ] pub Z : f64 , # [ doc = " M measure: only for XYM and XYZM dims" ] pub M : f64 , # [ doc = " one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub DimensionModel : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [double linked list]" ] pub Next : * mut gaiaPointStruct , # [ doc = " pointer to previous item [double linked list]" ] pub Prev : * mut gaiaPointStruct , } # [ test ] fn bindgen_test_layout_gaiaPointStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaPointStruct > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( gaiaPointStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaPointStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaPointStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . X as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( X ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . Y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( Y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . Z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( Z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . M as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( M ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . DimensionModel as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( DimensionModel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . Next as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( Next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPointStruct > ( ) ) ) . Prev as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPointStruct ) , "::" , stringify ! ( Prev ) ) ) ; } pub type gaiaPoint = gaiaPointStruct ; # [ doc = "Typedef for OGC POINT structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaPoint" ] pub type gaiaPointPtr = * mut gaiaPoint ; # [ doc = "Container for dynamically growing line/ring" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaDynamicLineStruct { # [ doc = " invalid object" ] pub Error : :: std :: os :: raw :: c_int , # [ doc = " the SRID" ] pub Srid : :: std :: os :: raw :: c_int , # [ doc = " pointer to first POINT [double linked list]" ] pub First : gaiaPointPtr , # [ doc = " pointer to last POINT [double linked list]" ] pub Last : gaiaPointPtr , } # [ test ] fn bindgen_test_layout_gaiaDynamicLineStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaDynamicLineStruct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gaiaDynamicLineStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaDynamicLineStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaDynamicLineStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDynamicLineStruct > ( ) ) ) . Error as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDynamicLineStruct ) , "::" , stringify ! ( Error ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDynamicLineStruct > ( ) ) ) . Srid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDynamicLineStruct ) , "::" , stringify ! ( Srid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDynamicLineStruct > ( ) ) ) . First as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDynamicLineStruct ) , "::" , stringify ! ( First ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDynamicLineStruct > ( ) ) ) . Last as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDynamicLineStruct ) , "::" , stringify ! ( Last ) ) ) ; } pub type gaiaDynamicLine = gaiaDynamicLineStruct ; # [ doc = "Typedef for dynamically growing line/ring structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLine" ] pub type gaiaDynamicLinePtr = * mut gaiaDynamicLine ; # [ doc = "Container for OGC LINESTRING Geometry" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaLinestringStruct { # [ doc = " number of points [aka vertices]" ] pub Points : :: std :: os :: raw :: c_int , # [ doc = " COORDs mem-array" ] pub Coords : * mut f64 , # [ doc = " MBR: min X" ] pub MinX : f64 , # [ doc = " MBR: min Y" ] pub MinY : f64 , # [ doc = " MBR: max X" ] pub MaxX : f64 , # [ doc = " MBR: max X" ] pub MaxY : f64 , # [ doc = " one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub DimensionModel : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaLinestringStruct , } # [ test ] fn bindgen_test_layout_gaiaLinestringStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaLinestringStruct > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( gaiaLinestringStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaLinestringStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaLinestringStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . Points as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( Points ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . Coords as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( Coords ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . MinX as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . MinY as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . MaxX as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . MaxY as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( MaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . DimensionModel as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( DimensionModel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLinestringStruct > ( ) ) ) . Next as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLinestringStruct ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaLinestring = gaiaLinestringStruct ; # [ doc = "Typedef for OGC LINESTRING structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaLinestring" ] pub type gaiaLinestringPtr = * mut gaiaLinestring ; # [ doc = "Container for OGC RING Geometry" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaRingStruct { # [ doc = " number of points [aka vertices]" ] pub Points : :: std :: os :: raw :: c_int , # [ doc = " COORDs mem-array" ] pub Coords : * mut f64 , # [ doc = " clockwise / counterclockwise" ] pub Clockwise : :: std :: os :: raw :: c_int , # [ doc = " MBR: min X" ] pub MinX : f64 , # [ doc = " MBR: min Y" ] pub MinY : f64 , # [ doc = " MBR: max X" ] pub MaxX : f64 , # [ doc = " MBR: max Y" ] pub MaxY : f64 , # [ doc = " one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub DimensionModel : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaRingStruct , # [ doc = " pointer to belonging Polygon" ] pub Link : * mut gaiaPolygonStruct , } # [ test ] fn bindgen_test_layout_gaiaRingStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaRingStruct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( gaiaRingStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaRingStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaRingStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . Points as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( Points ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . Coords as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( Coords ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . Clockwise as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( Clockwise ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . MinX as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . MinY as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . MaxX as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . MaxY as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( MaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . DimensionModel as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( DimensionModel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . Next as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( Next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaRingStruct > ( ) ) ) . Link as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( gaiaRingStruct ) , "::" , stringify ! ( Link ) ) ) ; } pub type gaiaRing = gaiaRingStruct ; # [ doc = "Typedef for OGC RING structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaRing" ] pub type gaiaRingPtr = * mut gaiaRing ; # [ doc = "Container for OGC POLYGON Geometry" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaPolygonStruct { # [ doc = " the exterior ring (mandatory)" ] pub Exterior : gaiaRingPtr , # [ doc = " number of interior rings (may be, none)" ] pub NumInteriors : :: std :: os :: raw :: c_int , # [ doc = " array of interior rings" ] pub Interiors : gaiaRingPtr , # [ doc = " index of first unused interior ring" ] pub NextInterior : :: std :: os :: raw :: c_int , # [ doc = " MBR: min X" ] pub MinX : f64 , # [ doc = " MBR: min Y" ] pub MinY : f64 , # [ doc = " MBR: max X" ] pub MaxX : f64 , # [ doc = " MBR: max Y" ] pub MaxY : f64 , # [ doc = " one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub DimensionModel : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaPolygonStruct , } # [ test ] fn bindgen_test_layout_gaiaPolygonStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaPolygonStruct > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( gaiaPolygonStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaPolygonStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaPolygonStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . Exterior as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( Exterior ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . NumInteriors as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( NumInteriors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . Interiors as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( Interiors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . NextInterior as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( NextInterior ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . MinX as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . MinY as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . MaxX as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . MaxY as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( MaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . DimensionModel as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( DimensionModel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPolygonStruct > ( ) ) ) . Next as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPolygonStruct ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaPolygon = gaiaPolygonStruct ; # [ doc = "Typedef for OGC POLYGON structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaPolygon" ] pub type gaiaPolygonPtr = * mut gaiaPolygon ; # [ doc = "Container for OGC GEOMETRYCOLLECTION Geometry" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaGeomCollStruct { # [ doc = " the SRID" ] pub Srid : :: std :: os :: raw :: c_int , # [ doc = " CPU endian arch" ] pub endian_arch : :: std :: os :: raw :: c_char , # [ doc = " BLOB Geometry endian arch" ] pub endian : :: std :: os :: raw :: c_char , # [ doc = " BLOB-Geometry buffer" ] pub blob : * const :: std :: os :: raw :: c_uchar , # [ doc = " BLOB-Geometry buffer size (in bytes)" ] pub size : :: std :: os :: raw :: c_ulong , # [ doc = " current offset [BLOB parsing]" ] pub offset : :: std :: os :: raw :: c_ulong , # [ doc = " pointer to first POINT [linked list]; may be NULL" ] pub FirstPoint : gaiaPointPtr , # [ doc = " pointer to last POINT [linked list]; may be NULL" ] pub LastPoint : gaiaPointPtr , # [ doc = " pointer to first LINESTRING [linked list]; may be NULL" ] pub FirstLinestring : gaiaLinestringPtr , # [ doc = " pointer to last LINESTRING [linked list]; may be NULL" ] pub LastLinestring : gaiaLinestringPtr , # [ doc = " pointer to first POLYGON [linked list]; may be NULL" ] pub FirstPolygon : gaiaPolygonPtr , # [ doc = " pointer to last POLYGON [linked list]; may be NULL" ] pub LastPolygon : gaiaPolygonPtr , # [ doc = " MBR: min X" ] pub MinX : f64 , # [ doc = " MBR: min Y" ] pub MinY : f64 , # [ doc = " MBR: max X" ] pub MaxX : f64 , # [ doc = " MBR: max Y" ] pub MaxY : f64 , # [ doc = " one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub DimensionModel : :: std :: os :: raw :: c_int , # [ doc = " any valid Geometry Class type" ] pub DeclaredType : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaGeomCollStruct , } # [ test ] fn bindgen_test_layout_gaiaGeomCollStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaGeomCollStruct > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( gaiaGeomCollStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaGeomCollStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaGeomCollStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . Srid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( Srid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . endian_arch as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( endian_arch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . endian as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( endian ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . blob as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( blob ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . FirstPoint as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( FirstPoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . LastPoint as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( LastPoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . FirstLinestring as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( FirstLinestring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . LastLinestring as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( LastLinestring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . FirstPolygon as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( FirstPolygon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . LastPolygon as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( LastPolygon ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . MinX as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . MinY as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . MaxX as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . MaxY as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( MaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . DimensionModel as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( DimensionModel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . DeclaredType as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( DeclaredType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaGeomCollStruct > ( ) ) ) . Next as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( gaiaGeomCollStruct ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaGeomColl = gaiaGeomCollStruct ; # [ doc = "Typedef for OGC GEOMETRYCOLLECTION structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCool" ] pub type gaiaGeomCollPtr = * mut gaiaGeomColl ; # [ doc = "Container similar to LINESTRING [internally used]" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaPreRingStruct { # [ doc = " pointer to LINESTRING" ] pub Line : gaiaLinestringPtr , # [ doc = " already used/visited item" ] pub AlreadyUsed : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaPreRingStruct , } # [ test ] fn bindgen_test_layout_gaiaPreRingStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaPreRingStruct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gaiaPreRingStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaPreRingStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaPreRingStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPreRingStruct > ( ) ) ) . Line as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPreRingStruct ) , "::" , stringify ! ( Line ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPreRingStruct > ( ) ) ) . AlreadyUsed as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPreRingStruct ) , "::" , stringify ! ( AlreadyUsed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaPreRingStruct > ( ) ) ) . Next as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaPreRingStruct ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaPreRing = gaiaPreRingStruct ; # [ doc = "Typedef for gaiaPreRing structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaPreRing" ] pub type gaiaPreRingPtr = * mut gaiaPreRing ; # [ doc = "Container for variant (multi-type) value" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaValueStruct { # [ doc = " data type: one of GAIA_NULL_VALUE, GAIA_INT_VALUE, GAIA_DOUBLE_VALUE, GAIA_TEXT_VALUE" ] pub Type : :: std :: os :: raw :: c_short , # [ doc = " TEXT type value" ] pub TxtValue : * mut :: std :: os :: raw :: c_char , # [ doc = " INT type value" ] pub IntValue : sqlite3_int64 , # [ doc = " DOUBLE type value" ] pub DblValue : f64 , } # [ test ] fn bindgen_test_layout_gaiaValueStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaValueStruct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( gaiaValueStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaValueStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaValueStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaValueStruct > ( ) ) ) . Type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaValueStruct ) , "::" , stringify ! ( Type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaValueStruct > ( ) ) ) . TxtValue as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaValueStruct ) , "::" , stringify ! ( TxtValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaValueStruct > ( ) ) ) . IntValue as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaValueStruct ) , "::" , stringify ! ( IntValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaValueStruct > ( ) ) ) . DblValue as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaValueStruct ) , "::" , stringify ! ( DblValue ) ) ) ; } pub type gaiaValue = gaiaValueStruct ; # [ doc = "Typedef for variant (multi-type) value structure" ] pub type gaiaValuePtr = * mut gaiaValue ; # [ doc = "Container for DBF field" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaDbfFieldStruct { # [ doc = " field name" ] pub Name : * mut :: std :: os :: raw :: c_char , # [ doc = " DBF data type" ] pub Type : :: std :: os :: raw :: c_uchar , # [ doc = " DBF buffer offset [where the field value starts]" ] pub Offset : :: std :: os :: raw :: c_int , # [ doc = " total DBF buffer field length (in bytes)" ] pub Length : :: std :: os :: raw :: c_uchar , # [ doc = " precision (decimal digits)" ] pub Decimals : :: std :: os :: raw :: c_uchar , # [ doc = " current variant [multi-type] value" ] pub Value : gaiaValuePtr , # [ doc = " pointer to next item [linked list]" ] pub Next : * mut gaiaDbfFieldStruct , } # [ test ] fn bindgen_test_layout_gaiaDbfFieldStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaDbfFieldStruct > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gaiaDbfFieldStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaDbfFieldStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaDbfFieldStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Type as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Length as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Decimals as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Decimals ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Value as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfFieldStruct > ( ) ) ) . Next as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfFieldStruct ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaDbfField = gaiaDbfFieldStruct ; # [ doc = "Typedef for DBF field structure" ] pub type gaiaDbfFieldPtr = * mut gaiaDbfField ; # [ doc = "Container for a list of DBF fields" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaDbfListStruct { # [ doc = " current RowID" ] pub RowId : :: std :: os :: raw :: c_int , # [ doc = " current Geometry" ] pub Geometry : gaiaGeomCollPtr , # [ doc = " pointer to first DBF field [linked list]" ] pub First : gaiaDbfFieldPtr , # [ doc = " pointer to last DBF field [linked list]" ] pub Last : gaiaDbfFieldPtr , } # [ test ] fn bindgen_test_layout_gaiaDbfListStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaDbfListStruct > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( gaiaDbfListStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaDbfListStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaDbfListStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfListStruct > ( ) ) ) . RowId as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfListStruct ) , "::" , stringify ! ( RowId ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfListStruct > ( ) ) ) . Geometry as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfListStruct ) , "::" , stringify ! ( Geometry ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfListStruct > ( ) ) ) . First as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfListStruct ) , "::" , stringify ! ( First ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfListStruct > ( ) ) ) . Last as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfListStruct ) , "::" , stringify ! ( Last ) ) ) ; } pub type gaiaDbfList = gaiaDbfListStruct ; # [ doc = "Typedef for a list of DBF fields" ] # [ doc = "" ] # [ doc = "\\sa gaiaDbfList" ] pub type gaiaDbfListPtr = * mut gaiaDbfList ; # [ doc = "Container for DBF file handling" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaDbfStruct { # [ doc = " DBF endian arch" ] pub endian_arch : :: std :: os :: raw :: c_int , # [ doc = " validity flag: 1 = ready to be processed" ] pub Valid : :: std :: os :: raw :: c_int , # [ doc = " DBF file pathname" ] pub Path : * mut :: std :: os :: raw :: c_char , # [ doc = " FILE handle" ] pub flDbf : * mut FILE , # [ doc = " list of DBF fields" ] pub Dbf : gaiaDbfListPtr , # [ doc = " I/O buffer" ] pub BufDbf : * mut :: std :: os :: raw :: c_uchar , # [ doc = " header size (in bytes)" ] pub DbfHdsz : :: std :: os :: raw :: c_int , # [ doc = " record length (in bytes)" ] pub DbfReclen : :: std :: os :: raw :: c_int , # [ doc = " current file size" ] pub DbfSize : :: std :: os :: raw :: c_int , # [ doc = " current Record Number" ] pub DbfRecno : :: std :: os :: raw :: c_int , # [ doc = " handle to ICONV converter object" ] pub IconvObj : * mut :: std :: os :: raw :: c_void , # [ doc = " last error message (may be NULL)" ] pub LastError : * mut :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_gaiaDbfStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaDbfStruct > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( gaiaDbfStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaDbfStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaDbfStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . endian_arch as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( endian_arch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . Valid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( Valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . Path as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( Path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . flDbf as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( flDbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . Dbf as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( Dbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . BufDbf as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( BufDbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . DbfHdsz as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( DbfHdsz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . DbfReclen as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( DbfReclen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . DbfSize as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( DbfSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . DbfRecno as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( DbfRecno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . IconvObj as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( IconvObj ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaDbfStruct > ( ) ) ) . LastError as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaDbfStruct ) , "::" , stringify ! ( LastError ) ) ) ; } pub type gaiaDbf = gaiaDbfStruct ; # [ doc = "Typedef for DBF file handler structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaDbf" ] pub type gaiaDbfPtr = * mut gaiaDbf ; # [ doc = "Container for SHP file handling" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaShapefileStruct { # [ doc = " SHP endian arch" ] pub endian_arch : :: std :: os :: raw :: c_int , # [ doc = " validity flag: 1 = ready to be processed" ] pub Valid : :: std :: os :: raw :: c_int , # [ doc = " read or write mode" ] pub ReadOnly : :: std :: os :: raw :: c_int , # [ doc = " SHP \'abstract\' path (no suffixes)" ] pub Path : * mut :: std :: os :: raw :: c_char , # [ doc = " FILE handle to SHX file" ] pub flShx : * mut FILE , # [ doc = " FILE handle to SHP file" ] pub flShp : * mut FILE , # [ doc = " FILE handle to DBF file" ] pub flDbf : * mut FILE , # [ doc = " the SHP shape code" ] pub Shape : :: std :: os :: raw :: c_int , # [ doc = " list of DBF fields" ] pub Dbf : gaiaDbfListPtr , # [ doc = " DBF I/O buffer" ] pub BufDbf : * mut :: std :: os :: raw :: c_uchar , # [ doc = " DBF header size (in bytes)" ] pub DbfHdsz : :: std :: os :: raw :: c_int , # [ doc = " DBF record length (in bytes)" ] pub DbfReclen : :: std :: os :: raw :: c_int , # [ doc = " DBF current file size (in bytes)" ] pub DbfSize : :: std :: os :: raw :: c_int , # [ doc = " DBF current Record Number" ] pub DbfRecno : :: std :: os :: raw :: c_int , # [ doc = " SHP I/O buffer" ] pub BufShp : * mut :: std :: os :: raw :: c_uchar , # [ doc = " SHP current buffer size (in bytes)" ] pub ShpBfsz : :: std :: os :: raw :: c_int , # [ doc = " SHP current file size" ] pub ShpSize : :: std :: os :: raw :: c_int , # [ doc = " SHX current file size" ] pub ShxSize : :: std :: os :: raw :: c_int , # [ doc = " Total Extent: min X" ] pub MinX : f64 , # [ doc = " Total Extent: min Y" ] pub MinY : f64 , # [ doc = " Total Extent: max X" ] pub MaxX : f64 , # [ doc = " Total Extent: max Y" ] pub MaxY : f64 , # [ doc = " handle to ICONV converter object" ] pub IconvObj : * mut :: std :: os :: raw :: c_void , # [ doc = " last error message (may be NULL)" ] pub LastError : * mut :: std :: os :: raw :: c_char , # [ doc = " SHP actual OGC Geometry type" ] pub EffectiveType : :: std :: os :: raw :: c_int , # [ doc = " SHP actual dims: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub EffectiveDims : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_gaiaShapefileStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaShapefileStruct > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( gaiaShapefileStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaShapefileStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaShapefileStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . endian_arch as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( endian_arch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . Valid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( Valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . ReadOnly as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( ReadOnly ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . Path as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( Path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . flShx as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( flShx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . flShp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( flShp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . flDbf as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( flDbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . Shape as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( Shape ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . Dbf as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( Dbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . BufDbf as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( BufDbf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . DbfHdsz as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( DbfHdsz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . DbfReclen as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( DbfReclen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . DbfSize as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( DbfSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . DbfRecno as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( DbfRecno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . BufShp as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( BufShp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . ShpBfsz as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( ShpBfsz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . ShpSize as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( ShpSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . ShxSize as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( ShxSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . MinX as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . MinY as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . MaxX as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . MaxY as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( MaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . IconvObj as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( IconvObj ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . LastError as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( LastError ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . EffectiveType as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( EffectiveType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaShapefileStruct > ( ) ) ) . EffectiveDims as * const _ as usize } , 164usize , concat ! ( "Offset of field: " , stringify ! ( gaiaShapefileStruct ) , "::" , stringify ! ( EffectiveDims ) ) ) ; } pub type gaiaShapefile = gaiaShapefileStruct ; # [ doc = "Typedef for SHP file handler structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaShapefile" ] pub type gaiaShapefilePtr = * mut gaiaShapefile ; # [ doc = "Container for dynamically growing output buffer" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaOutBufferStruct { # [ doc = " current buffer" ] pub Buffer : * mut :: std :: os :: raw :: c_char , # [ doc = " current write offset" ] pub WriteOffset : :: std :: os :: raw :: c_int , # [ doc = " current buffer size (in bytes)" ] pub BufferSize : :: std :: os :: raw :: c_int , # [ doc = " validity flag" ] pub Error : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_gaiaOutBufferStruct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaOutBufferStruct > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gaiaOutBufferStruct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaOutBufferStruct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaOutBufferStruct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaOutBufferStruct > ( ) ) ) . Buffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaOutBufferStruct ) , "::" , stringify ! ( Buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaOutBufferStruct > ( ) ) ) . WriteOffset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaOutBufferStruct ) , "::" , stringify ! ( WriteOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaOutBufferStruct > ( ) ) ) . BufferSize as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( gaiaOutBufferStruct ) , "::" , stringify ! ( BufferSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaOutBufferStruct > ( ) ) ) . Error as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaOutBufferStruct ) , "::" , stringify ! ( Error ) ) ) ; } pub type gaiaOutBuffer = gaiaOutBufferStruct ; # [ doc = "Typedef for dynamically growing output buffer structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutBuffer" ] pub type gaiaOutBufferPtr = * mut gaiaOutBuffer ; # [ doc = "Container for Virtual Text record (line)" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct vrttxt_line { # [ doc = " current offset (parsing)" ] pub offset : off_t , # [ doc = " line length (in bytes)" ] pub len : :: std :: os :: raw :: c_int , # [ doc = " array of field offsets (where each field starts)" ] pub field_offsets : [ :: std :: os :: raw :: c_int ; 65535usize ] , # [ doc = " number of field into the record" ] pub num_fields : :: std :: os :: raw :: c_int , # [ doc = " validity flag" ] pub error : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_vrttxt_line ( ) { assert_eq ! ( :: std :: mem :: size_of :: < vrttxt_line > ( ) , 262160usize , concat ! ( "Size of: " , stringify ! ( vrttxt_line ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < vrttxt_line > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( vrttxt_line ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_line > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_line ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_line > ( ) ) ) . len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_line ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_line > ( ) ) ) . field_offsets as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_line ) , "::" , stringify ! ( field_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_line > ( ) ) ) . num_fields as * const _ as usize } , 262152usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_line ) , "::" , stringify ! ( num_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_line > ( ) ) ) . error as * const _ as usize } , 262156usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_line ) , "::" , stringify ! ( error ) ) ) ; } # [ doc = "Container for Virtual Text record (line) offsets" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct vrttxt_row { # [ doc = " Line Number" ] pub line_no : :: std :: os :: raw :: c_int , # [ doc = " start offset" ] pub offset : off_t , # [ doc = " record (line) length (in bytes)" ] pub len : :: std :: os :: raw :: c_int , # [ doc = " number of fields into this record" ] pub num_fields : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_vrttxt_row ( ) { assert_eq ! ( :: std :: mem :: size_of :: < vrttxt_row > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( vrttxt_row ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < vrttxt_row > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( vrttxt_row ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row > ( ) ) ) . line_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row ) , "::" , stringify ! ( line_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row > ( ) ) ) . offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row > ( ) ) ) . len as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row > ( ) ) ) . num_fields as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row ) , "::" , stringify ! ( num_fields ) ) ) ; } # [ doc = "Container for Virtual Text block of records" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct vrttxt_row_block { # [ doc = " array of records [lines]" ] pub rows : [ vrttxt_row ; 65535usize ] , # [ doc = " number of records into the array" ] pub num_rows : :: std :: os :: raw :: c_int , # [ doc = " min Line Number" ] pub min_line_no : :: std :: os :: raw :: c_int , # [ doc = " max Line Number" ] pub max_line_no : :: std :: os :: raw :: c_int , # [ doc = " pointer to next item [linked list]" ] pub next : * mut vrttxt_row_block , } # [ test ] fn bindgen_test_layout_vrttxt_row_block ( ) { assert_eq ! ( :: std :: mem :: size_of :: < vrttxt_row_block > ( ) , 1572864usize , concat ! ( "Size of: " , stringify ! ( vrttxt_row_block ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < vrttxt_row_block > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( vrttxt_row_block ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row_block > ( ) ) ) . rows as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row_block ) , "::" , stringify ! ( rows ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row_block > ( ) ) ) . num_rows as * const _ as usize } , 1572840usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row_block ) , "::" , stringify ! ( num_rows ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row_block > ( ) ) ) . min_line_no as * const _ as usize } , 1572844usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row_block ) , "::" , stringify ! ( min_line_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row_block > ( ) ) ) . max_line_no as * const _ as usize } , 1572848usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row_block ) , "::" , stringify ! ( max_line_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_row_block > ( ) ) ) . next as * const _ as usize } , 1572856usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_row_block ) , "::" , stringify ! ( next ) ) ) ; } # [ doc = "Container for Virtual Text column (field) header" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct vrttxt_column_header { # [ doc = " column name" ] pub name : * mut :: std :: os :: raw :: c_char , # [ doc = " data type: one of GAIA_NULL_VALUE, GAIA_INT_VALUE, GAIA_DOUBLE_VALUE, GAIA_TEXT_VALUE" ] pub type_ : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_vrttxt_column_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < vrttxt_column_header > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( vrttxt_column_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < vrttxt_column_header > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( vrttxt_column_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_column_header > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_column_header ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_column_header > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_column_header ) , "::" , stringify ! ( type_ ) ) ) ; } # [ doc = "Container for Virtual Text file handling" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct vrttxt_reader { # [ doc = " array of columns (fields)" ] pub columns : [ vrttxt_column_header ; 65535usize ] , # [ doc = " FILE handle" ] pub text_file : * mut FILE , # [ doc = " handle to ICONV converter object" ] pub toUtf8 : * mut :: std :: os :: raw :: c_void , # [ doc = " field separator character" ] pub field_separator : :: std :: os :: raw :: c_char , # [ doc = " text separator character (quote)" ] pub text_separator : :: std :: os :: raw :: c_char , # [ doc = " decimal separator" ] pub decimal_separator : :: std :: os :: raw :: c_char , # [ doc = " TRUE if the first line contains column names" ] pub first_line_titles : :: std :: os :: raw :: c_int , # [ doc = " validity flag" ] pub error : :: std :: os :: raw :: c_int , # [ doc = " pointer to first block of records [linked list]" ] pub first : * mut vrttxt_row_block , # [ doc = " pointer to last block of records [linked list]" ] pub last : * mut vrttxt_row_block , # [ doc = " array of pointers to individual records [lines]" ] pub rows : * mut * mut vrttxt_row , # [ doc = " number of records" ] pub num_rows : :: std :: os :: raw :: c_int , # [ doc = " current Line Number" ] pub line_no : :: std :: os :: raw :: c_int , # [ doc = " max number of columns (fields)" ] pub max_fields : :: std :: os :: raw :: c_int , # [ doc = " current buffer size" ] pub current_buf_sz : :: std :: os :: raw :: c_int , # [ doc = " current buffer offset [parsing]" ] pub current_buf_off : :: std :: os :: raw :: c_int , # [ doc = " I/O buffer" ] pub line_buffer : * mut :: std :: os :: raw :: c_char , # [ doc = " current field buffer" ] pub field_buffer : * mut :: std :: os :: raw :: c_char , # [ doc = " array of field offsets [current record]" ] pub field_offsets : [ :: std :: os :: raw :: c_int ; 65535usize ] , # [ doc = " array of field lengths [current record]" ] pub field_lens : [ :: std :: os :: raw :: c_int ; 65535usize ] , # [ doc = " max field [current record]" ] pub max_current_field : :: std :: os :: raw :: c_int , # [ doc = " current record [line] ready for parsing" ] pub current_line_ready : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_vrttxt_reader ( ) { assert_eq ! ( :: std :: mem :: size_of :: < vrttxt_reader > ( ) , 1572944usize , concat ! ( "Size of: " , stringify ! ( vrttxt_reader ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < vrttxt_reader > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( vrttxt_reader ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . columns as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( columns ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . text_file as * const _ as usize } , 1048560usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( text_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . toUtf8 as * const _ as usize } , 1048568usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( toUtf8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . field_separator as * const _ as usize } , 1048576usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( field_separator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . text_separator as * const _ as usize } , 1048577usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( text_separator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . decimal_separator as * const _ as usize } , 1048578usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( decimal_separator ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . first_line_titles as * const _ as usize } , 1048580usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( first_line_titles ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . error as * const _ as usize } , 1048584usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( error ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . first as * const _ as usize } , 1048592usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( first ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . last as * const _ as usize } , 1048600usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( last ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . rows as * const _ as usize } , 1048608usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( rows ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . num_rows as * const _ as usize } , 1048616usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( num_rows ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . line_no as * const _ as usize } , 1048620usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( line_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . max_fields as * const _ as usize } , 1048624usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( max_fields ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . current_buf_sz as * const _ as usize } , 1048628usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( current_buf_sz ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . current_buf_off as * const _ as usize } , 1048632usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( current_buf_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . line_buffer as * const _ as usize } , 1048640usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( line_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . field_buffer as * const _ as usize } , 1048648usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( field_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . field_offsets as * const _ as usize } , 1048656usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( field_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . field_lens as * const _ as usize } , 1310796usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( field_lens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . max_current_field as * const _ as usize } , 1572936usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( max_current_field ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < vrttxt_reader > ( ) ) ) . current_line_ready as * const _ as usize } , 1572940usize , concat ! ( "Offset of field: " , stringify ! ( vrttxt_reader ) , "::" , stringify ! ( current_line_ready ) ) ) ; } pub type gaiaTextReader = vrttxt_reader ; # [ doc = "Typedef for Virtual Text file handling structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReader" ] pub type gaiaTextReaderPtr = * mut gaiaTextReader ; # [ doc = "Layer Extent infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaLayerExtentInfos { # [ doc = " row count (aka feature count)" ] pub Count : :: std :: os :: raw :: c_int , # [ doc = " Extent: min X" ] pub MinX : f64 , # [ doc = " Extent: min Y" ] pub MinY : f64 , # [ doc = " Extent: max X" ] pub MaxX : f64 , # [ doc = " Extent: max Y" ] pub MaxY : f64 , } # [ test ] fn bindgen_test_layout_gaiaLayerExtentInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaLayerExtentInfos > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gaiaLayerExtentInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaLayerExtentInfos > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaLayerExtentInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerExtentInfos > ( ) ) ) . Count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerExtentInfos ) , "::" , stringify ! ( Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerExtentInfos > ( ) ) ) . MinX as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerExtentInfos ) , "::" , stringify ! ( MinX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerExtentInfos > ( ) ) ) . MinY as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerExtentInfos ) , "::" , stringify ! ( MinY ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerExtentInfos > ( ) ) ) . MaxX as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerExtentInfos ) , "::" , stringify ! ( MaxX ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerExtentInfos > ( ) ) ) . MaxY as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerExtentInfos ) , "::" , stringify ! ( MaxY ) ) ) ; } pub type gaiaLayerExtent = gaiaLayerExtentInfos ; # [ doc = "Typedef for Layer Extent infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaLayerExtent" ] pub type gaiaLayerExtentPtr = * mut gaiaLayerExtent ; # [ doc = "Layer Auth infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaLayerAuthInfos { # [ doc = " Read-Only layer: TRUE or FALSE" ] pub IsReadOnly : :: std :: os :: raw :: c_int , # [ doc = " Hidden layer: TRUE or FALSE" ] pub IsHidden : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_gaiaLayerAuthInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaLayerAuthInfos > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( gaiaLayerAuthInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaLayerAuthInfos > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( gaiaLayerAuthInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAuthInfos > ( ) ) ) . IsReadOnly as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAuthInfos ) , "::" , stringify ! ( IsReadOnly ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAuthInfos > ( ) ) ) . IsHidden as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAuthInfos ) , "::" , stringify ! ( IsHidden ) ) ) ; } pub type gaiaLayerAuth = gaiaLayerAuthInfos ; # [ doc = "Typedef for Layer Auth infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaLayerAuth" ] pub type gaiaLayerAuthPtr = * mut gaiaLayerAuth ; # [ doc = "Attribute/Field MaxSize/Length infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaAttributeFieldMaxSizeInfos { # [ doc = " MaxSize / MaxLength" ] pub MaxSize : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_gaiaAttributeFieldMaxSizeInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaAttributeFieldMaxSizeInfos > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( gaiaAttributeFieldMaxSizeInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaAttributeFieldMaxSizeInfos > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( gaiaAttributeFieldMaxSizeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaAttributeFieldMaxSizeInfos > ( ) ) ) . MaxSize as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaAttributeFieldMaxSizeInfos ) , "::" , stringify ! ( MaxSize ) ) ) ; } pub type gaiaAttributeFieldMaxSize = gaiaAttributeFieldMaxSizeInfos ; # [ doc = "Typedef for Attribute/Field MaxSize/Length infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaAttributeFieldMaxSize" ] pub type gaiaAttributeFieldMaxSizePtr = * mut gaiaAttributeFieldMaxSize ; # [ doc = "Attribute/Field Integer range infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaAttributeFieldIntRangeInfos { # [ doc = " Minimum value" ] pub MinValue : sqlite3_int64 , # [ doc = " Maximum value" ] pub MaxValue : sqlite3_int64 , } # [ test ] fn bindgen_test_layout_gaiaAttributeFieldIntRangeInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaAttributeFieldIntRangeInfos > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( gaiaAttributeFieldIntRangeInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaAttributeFieldIntRangeInfos > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaAttributeFieldIntRangeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaAttributeFieldIntRangeInfos > ( ) ) ) . MinValue as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaAttributeFieldIntRangeInfos ) , "::" , stringify ! ( MinValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaAttributeFieldIntRangeInfos > ( ) ) ) . MaxValue as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaAttributeFieldIntRangeInfos ) , "::" , stringify ! ( MaxValue ) ) ) ; } pub type gaiaAttributeFieldIntRange = gaiaAttributeFieldIntRangeInfos ; # [ doc = "Typedef for Attribute/Field Integer range infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaAttributeFieldIntRange" ] pub type gaiaAttributeFieldIntRangePtr = * mut gaiaAttributeFieldIntRange ; # [ doc = "Attribute/Field Double range infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaAttributeFieldDoubleRangeInfos { # [ doc = " Minimum value" ] pub MinValue : f64 , # [ doc = " Maximum value" ] pub MaxValue : f64 , } # [ test ] fn bindgen_test_layout_gaiaAttributeFieldDoubleRangeInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaAttributeFieldDoubleRangeInfos > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( gaiaAttributeFieldDoubleRangeInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaAttributeFieldDoubleRangeInfos > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaAttributeFieldDoubleRangeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaAttributeFieldDoubleRangeInfos > ( ) ) ) . MinValue as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaAttributeFieldDoubleRangeInfos ) , "::" , stringify ! ( MinValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaAttributeFieldDoubleRangeInfos > ( ) ) ) . MaxValue as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaAttributeFieldDoubleRangeInfos ) , "::" , stringify ! ( MaxValue ) ) ) ; } pub type gaiaAttributeFieldDoubleRange = gaiaAttributeFieldDoubleRangeInfos ; # [ doc = "Typedef for Attribute/Field Double range infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaAttributeFieldDoubleRange" ] pub type gaiaAttributeFieldDoubleRangePtr = * mut gaiaAttributeFieldDoubleRange ; # [ doc = "LayerAttributeField infos" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaLayerAttributeFieldInfos { # [ doc = " ordinal position" ] pub Ordinal : :: std :: os :: raw :: c_int , # [ doc = " SQL name of the corresponding column" ] pub AttributeFieldName : * mut :: std :: os :: raw :: c_char , # [ doc = " total count of NULL values" ] pub NullValuesCount : :: std :: os :: raw :: c_int , # [ doc = " total count of INTEGER values" ] pub IntegerValuesCount : :: std :: os :: raw :: c_int , # [ doc = " total count of DOUBLE values" ] pub DoubleValuesCount : :: std :: os :: raw :: c_int , # [ doc = " total count of TEXT values" ] pub TextValuesCount : :: std :: os :: raw :: c_int , # [ doc = " total count of BLOB values" ] pub BlobValuesCount : :: std :: os :: raw :: c_int , # [ doc = " pointer to MaxSize/Length infos (may be NULL)" ] pub MaxSize : gaiaAttributeFieldMaxSizePtr , # [ doc = " pointer to range of Integer values infos (may be NULL)" ] pub IntRange : gaiaAttributeFieldIntRangePtr , # [ doc = " pointer to range of Double values infos (may be NULL)" ] pub DoubleRange : gaiaAttributeFieldDoubleRangePtr , # [ doc = " pointer to next item (linked list)" ] pub Next : * mut gaiaLayerAttributeFieldInfos , } # [ test ] fn bindgen_test_layout_gaiaLayerAttributeFieldInfos ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaLayerAttributeFieldInfos > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( gaiaLayerAttributeFieldInfos ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaLayerAttributeFieldInfos > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaLayerAttributeFieldInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . Ordinal as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( Ordinal ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . AttributeFieldName as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( AttributeFieldName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . NullValuesCount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( NullValuesCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . IntegerValuesCount as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( IntegerValuesCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . DoubleValuesCount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( DoubleValuesCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . TextValuesCount as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( TextValuesCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . BlobValuesCount as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( BlobValuesCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . MaxSize as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( MaxSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . IntRange as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( IntRange ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . DoubleRange as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( DoubleRange ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaLayerAttributeFieldInfos > ( ) ) ) . Next as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaLayerAttributeFieldInfos ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaLayerAttributeField = gaiaLayerAttributeFieldInfos ; # [ doc = "Typedef for Layer AttributeField infos" ] # [ doc = "" ] # [ doc = "\\sa gaiaLayerAttributeField" ] pub type gaiaLayerAttributeFieldPtr = * mut gaiaLayerAttributeField ; # [ doc = "Vector Layer item" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaVectorLayerItem { # [ doc = " one of GAIA_VECTOR_UNKNOWN, GAIA_VECTOR_TABLE, GAIA_VECTOR_VIEW," ] # [ doc = "GAIA_VECTOR_VIRTUAL" ] pub LayerType : :: std :: os :: raw :: c_int , # [ doc = " SQL name of the corresponding table" ] pub TableName : * mut :: std :: os :: raw :: c_char , # [ doc = " SQL name of the corresponding Geometry column" ] pub GeometryName : * mut :: std :: os :: raw :: c_char , # [ doc = " SRID value" ] pub Srid : :: std :: os :: raw :: c_int , # [ doc = " one of GAIA_VECTOR_UNKNOWN, GAIA_VECTOR_POINT, GAIA_VECTOR_LINESTRING," ] # [ doc = "GAIA_VECTOR_POLYGON, GAIA_VECTOR_MULTIPOINT, GAIA_VECTOR_MULTILINESTRING," ] # [ doc = "GAIA_VECTOR_MULTIPOLYGON, GAIA_VECTOR_GEOMETRYCOLLECTION, GAIA_VECTOR_GEOMETRY" ] pub GeometryType : :: std :: os :: raw :: c_int , # [ doc = " one of GAIA_VECTOR_UNKNOWN, GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] pub Dimensions : :: std :: os :: raw :: c_int , # [ doc = " one of GAIA_VECTOR_UNKNOWN, GAIA_SPATIAL_INDEX_NONE, GAIA_SPATIAL_INDEX_RTREE," ] # [ doc = "GAIA_SPATIAL_INDEX_MBRCACHE" ] pub SpatialIndex : :: std :: os :: raw :: c_int , # [ doc = " pointer to Extent infos (may be NULL)" ] pub ExtentInfos : gaiaLayerExtentPtr , # [ doc = " pointer to Auth infos (may be NULL)" ] pub AuthInfos : gaiaLayerAuthPtr , # [ doc = " pointer to first Field/Attribute (linked list)" ] pub First : gaiaLayerAttributeFieldPtr , # [ doc = " pointer to last Field/Attribute (linked list)" ] pub Last : gaiaLayerAttributeFieldPtr , # [ doc = " pointer to next item (linked list)" ] pub Next : * mut gaiaVectorLayerItem , } # [ test ] fn bindgen_test_layout_gaiaVectorLayerItem ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaVectorLayerItem > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( gaiaVectorLayerItem ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaVectorLayerItem > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaVectorLayerItem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . LayerType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( LayerType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . TableName as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( TableName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . GeometryName as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( GeometryName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . Srid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( Srid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . GeometryType as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( GeometryType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . Dimensions as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( Dimensions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . SpatialIndex as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( SpatialIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . ExtentInfos as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( ExtentInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . AuthInfos as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( AuthInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . First as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( First ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . Last as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( Last ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayerItem > ( ) ) ) . Next as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayerItem ) , "::" , stringify ! ( Next ) ) ) ; } pub type gaiaVectorLayer = gaiaVectorLayerItem ; # [ doc = "Typedef for Vector Layer item" ] # [ doc = "" ] # [ doc = "\\sa gaiaVectorLayer" ] pub type gaiaVectorLayerPtr = * mut gaiaVectorLayer ; # [ doc = "Container for Vector Layers List" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gaiaVectorLayersListStr { # [ doc = " pointer to first vector layer (linked list)" ] pub First : gaiaVectorLayerPtr , # [ doc = " pointer to last vector layer (linked list)" ] pub Last : gaiaVectorLayerPtr , # [ doc = " pointer to currently set vector layer" ] pub Current : gaiaVectorLayerPtr , } # [ test ] fn bindgen_test_layout_gaiaVectorLayersListStr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gaiaVectorLayersListStr > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gaiaVectorLayersListStr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gaiaVectorLayersListStr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gaiaVectorLayersListStr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayersListStr > ( ) ) ) . First as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayersListStr ) , "::" , stringify ! ( First ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayersListStr > ( ) ) ) . Last as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayersListStr ) , "::" , stringify ! ( Last ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < gaiaVectorLayersListStr > ( ) ) ) . Current as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( gaiaVectorLayersListStr ) , "::" , stringify ! ( Current ) ) ) ; } pub type gaiaVectorLayersList = gaiaVectorLayersListStr ; # [ doc = "Typedef for Vector Layers List" ] # [ doc = "" ] # [ doc = "\\sa gaiaVectorLayersList" ] pub type gaiaVectorLayersListPtr = * mut gaiaVectorLayersList ; extern "C" { # [ doc = "Safely frees any dynamic memory block allocated by the library itself" ] # [ doc = "" ] # [ doc = "\\param ptr pointer to dynamically allocated memory" ] # [ doc = "" ] # [ doc = "\\note on some platforms (most notably, Microsoft Windows) many different" ] # [ doc = "runtime libraries may actually support the same process." ] # [ doc = "\\n attempting to free() a memory block allocated by a different runtime" ] # [ doc = "module may easily cause fatal memory corruption." ] pub fn gaiaFree ( ptr : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ doc = "Allocates a 2D POINT [XY]" ] # [ doc = "" ] # [ doc = "\\param x the X coordinate." ] # [ doc = "\\param y the Y coordinate." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created POINT object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "POINT, unless you\'ve passed ownership of the POINT object to some" ] # [ doc = "further object: in this case destroying the higher order object will" ] # [ doc = "implicitly destroy any contained child object." ] pub fn gaiaAllocPoint ( x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Allocates a 3D POINT [XYZ]" ] # [ doc = "" ] # [ doc = "\\param x the X coordinate." ] # [ doc = "\\param y the Y coordinate." ] # [ doc = "\\param z the Z coordinate." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created POINT object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "POINT, unless you\'ve passed ownership of the POINT object to some" ] # [ doc = "further object: in this case destroying the higher order object will" ] # [ doc = "implicitly destroy any contained child object." ] pub fn gaiaAllocPointXYZ ( x : f64 , y : f64 , z : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Allocates a 2D POINT [XYM]" ] # [ doc = "" ] # [ doc = "\\param x the X coordinate." ] # [ doc = "\\param y the Y coordinate." ] # [ doc = "\\param m the M measure." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created POINT object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "POINT, unless you\'ve passed ownership of the POINT object to some" ] # [ doc = "further object: in this case destroying the higher order object will" ] # [ doc = "implicitly destroy any contained child object." ] pub fn gaiaAllocPointXYM ( x : f64 , y : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Allocates a 3D POINT [XYZM]" ] # [ doc = "" ] # [ doc = "\\param x the X coordinate." ] # [ doc = "\\param y the Y coordinate." ] # [ doc = "\\param z the Z coordinate." ] # [ doc = "\\param m the M measure." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created POINT object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "POINT, unless you\'ve passed ownership of the POINT object to some" ] # [ doc = "further object: in this case destroying the higher order object will" ] # [ doc = "implicitly destroy any contained child object." ] pub fn gaiaAllocPointXYZM ( x : f64 , y : f64 , z : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Destroys a POINT object" ] # [ doc = "" ] # [ doc = "\\param ptr pointer to the POINT object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocPoint, gaiaAllocPointXYZ, gaiaAllocPointXYM, gaiaAllocPointXYZM" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any POINT object whose ownership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious" ] # [ doc = "error, and will easily cause severe memory corruption." ] pub fn gaiaFreePoint ( ptr : gaiaPointPtr ) ; } extern "C" { # [ doc = "Allocates a 2D LINESTRING [XY]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Linestring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created LINESTRING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeLinestring, gaiaLineSetPoint, gaiaLineGetPoint, gaiaSetPoint," ] # [ doc = "gaiaGetPoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated LINESTRING," ] # [ doc = "unless you\'ve passed ownership of the LINESTRING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocLinestring ( vert : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Allocates a 3D LINESTRING [XYZ]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Linestring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created LINESTRING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeLinestring, gaiaLineSetPoint, gaiaLineGetPoint, gaiaSetPointXYZ," ] # [ doc = "gaiaGetPointXYZ" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated LINESTRING," ] # [ doc = "unless you\'ve passed ownership of the LINESTRING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocLinestringXYZ ( vert : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Allocates a 2D LINESTRING [XYM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Linestring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created LINESTRING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeLinestring, gaiaLineSetPoint, gaiaLineGetPoint, gaiaSetPointXYM," ] # [ doc = "gaiaGetPointXYM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated LINESTRING," ] # [ doc = "unless you\'ve passed ownership of the LINESTRING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocLinestringXYM ( vert : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Allocates a 3D LINESTRING [XYZM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Linestring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created LINESTRING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeLinestring, gaiaLineSetPoint, gaiaLineGetPoint, gaiaSetPointXYZM," ] # [ doc = "gaiaGetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated LINESTRING," ] # [ doc = "unless you\'ve passed ownership of the LINESTRING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocLinestringXYZM ( vert : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Destroys a LINESTRING object" ] # [ doc = "" ] # [ doc = "\\param ptr pointer to the LINESTRING object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocLinestring, gaiaAllocLinestringXYZ, gaiaAllocLinestringXYM," ] # [ doc = "gaiaAllocLinestringXYZM" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any LINESTRING object whose ownnership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious" ] # [ doc = "error, and will easily cause severe memory corruption." ] pub fn gaiaFreeLinestring ( ptr : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Copies coordinates between two LINESTRING objects" ] # [ doc = "" ] # [ doc = "\\param dst destination LINESTRING [output]" ] # [ doc = "\\param src origin LINESTRING [input]" ] # [ doc = "" ] # [ doc = "\\sa gaiaCopyLinestringCoordsReverse" ] # [ doc = "" ] # [ doc = "\\note both LINESTRING objects must have exactly the same number of points:" ] # [ doc = "if dimensions aren\'t the same for both objects, then the appropriate" ] # [ doc = "conversion will be silently applied." ] pub fn gaiaCopyLinestringCoords ( dst : gaiaLinestringPtr , src : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Copies coordinates between two LINESTRING objects in reverse order" ] # [ doc = "" ] # [ doc = "\\param dst destination LINESTRING [output]" ] # [ doc = "\\param src origin LINESTRING [input]" ] # [ doc = "" ] # [ doc = "\\sa gaiaCopyLinestringCoords" ] # [ doc = "" ] # [ doc = "\\note both LINESTRING objects must have exactly the same number of points:" ] # [ doc = "if dimensions aren\'t the same for both objects, then the appropriate" ] # [ doc = "conversion will be silently applied." ] pub fn gaiaCopyLinestringCoordsReverse ( dst : gaiaLinestringPtr , src : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Allocates a 2D RING [XY]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Ring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created RING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeRing, gaiaRingSetPoint, gaiaRingGetPoint, gaiaSetPoint," ] # [ doc = "gaiaGetPoint" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated RING," ] # [ doc = "unless you\'ve passed ownership of the RING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocRing ( vert : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Allocates a 3D RING [XYZ]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Ring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created RING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeRing, gaiaRingSetPoint, gaiaRingGetPoint, gaiaSetPointXYZ," ] # [ doc = "gaiaGetPointXYZ" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated RING," ] # [ doc = "unless you\'ve passed ownership of the RING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocRingXYZ ( vert : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Allocates 2D RING [XYM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Ring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created RING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeRing, gaiaRingSetPoint, gaiaRingGetPoint, gaiaSetPointXYM," ] # [ doc = "gaiaGetPointXYM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated RING," ] # [ doc = "unless you\'ve passed ownership of the RING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocRingXYM ( vert : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Allocates a 3D RING [XYZM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Ring" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created RING object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeRing, gaiaRingSetPoint, gaiaRingGetPoint, gaiaSetPointXYZM," ] # [ doc = "gaiaSetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated RING," ] # [ doc = "unless you\'ve passed ownership of the RING object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocRingXYZM ( vert : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Destroys a RING object" ] # [ doc = "" ] # [ doc = "\\param ptr pointer to the RING object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocRing, gaiaAllocRingXYZ, gaiaAllocRingXYM," ] # [ doc = "gaiaAllocRingXYZM" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any RING object whose ownership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious" ] # [ doc = "error, and will easily cause severe memory corruption." ] pub fn gaiaFreeRing ( ptr : gaiaRingPtr ) ; } extern "C" { # [ doc = "Copies coordinates between two RING objects" ] # [ doc = "" ] # [ doc = "\\param dst destination RING [output]" ] # [ doc = "\\param src origin RING [input]" ] # [ doc = "" ] # [ doc = "\\sa gaiaCopyRingCoordsReverse" ] # [ doc = "" ] # [ doc = "\\note both RING objects must have exactly the same number of points:" ] # [ doc = "if dimensions aren\'t the same for both objects, then the appropriate" ] # [ doc = "conversion will be silently applied." ] pub fn gaiaCopyRingCoords ( dst : gaiaRingPtr , src : gaiaRingPtr ) ; } extern "C" { # [ doc = "Copies coordinates between two RING objects in reverse order" ] # [ doc = "" ] # [ doc = "\\param dst destination RING [output]" ] # [ doc = "\\param src origin RING [input]" ] # [ doc = "" ] # [ doc = "\\sa gaiaCopyRingCoords" ] # [ doc = "" ] # [ doc = "\\note both RING objects must have exactly the same number of points:" ] # [ doc = "if dimensions aren\'t the same for both objects, then the appropriate" ] # [ doc = "conversion will be silently applied." ] pub fn gaiaCopyRingCoordsReverse ( dst : gaiaRingPtr , src : gaiaRingPtr ) ; } extern "C" { # [ doc = "Allocates a 2D POLYGON [XY]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Exterior Ring." ] # [ doc = "\\param holes number of Interior Rings [0, if no Interior Ring is required]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created POLYGON object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePolygon" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated POLYGON," ] # [ doc = "unless you\'ve passed ownership of the POLYGON object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocPolygon ( vert : :: std :: os :: raw :: c_int , holes : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Allocates a 3D POLYGON [XYZ]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Exterior Ring." ] # [ doc = "\\param holes number of Interior Rings [0, if no Interior Ring is required]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created POLYGON object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePolygon" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated POLYGON," ] # [ doc = "unless you\'ve passed ownership of the POLYGON object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocPolygonXYZ ( vert : :: std :: os :: raw :: c_int , holes : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Allocates a 2D POLYGON [XYM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Exterior Ring." ] # [ doc = "\\param holes number of Interior Rings [0, if no Interior Ring is required]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created POLYGON object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePolygon" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated POLYGON," ] # [ doc = "unless you\'ve passed ownership of the POLYGON object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocPolygonXYM ( vert : :: std :: os :: raw :: c_int , holes : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Allocates a 3D POLYGON [XYZM]" ] # [ doc = "" ] # [ doc = "\\param vert number of points [aka vertices] into the Exterior Ring." ] # [ doc = "\\param holes number of Interior Rings [may by 0, if no Interior Ring is required]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created POLYGON object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreePolygon" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated POLYGON," ] # [ doc = "unless you\'ve passed ownership of the POLYGON object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocPolygonXYZM ( vert : :: std :: os :: raw :: c_int , holes : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Allocates a POLYGON" ] # [ doc = "" ] # [ doc = "\\param ring pointer to a valid RING object: assumed to be the Polygon\'s" ] # [ doc = "Exterior Ring." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created POLYGON object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocRing, gaiaAllocRingXYZ, gaiaAllocRingXYM, gaiaAllocRingXYZM," ] # [ doc = "gaiaFreePolygon" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated POLYGON," ] # [ doc = "unless you\'ve passed ownership of the POLYGON object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] # [ doc = "\\n Ownership of passed Ring object will be transferred to the" ] # [ doc = "Polygon object being created." ] pub fn gaiaCreatePolygon ( ring : gaiaRingPtr ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Destroys a POLYGON object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to the POLYGON object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocPolygon, gaiaAllocPolygonXYZ, gaiaAllocPolygonXYM," ] # [ doc = "gaiaAllocPolygonXYZM, gaiaCreatePolygon" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any POLYGON object whose ownership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious" ] # [ doc = "error, and will easily cause severe memory corruption." ] # [ doc = "\\n Ownership of each RING object referenced by a POLYGON object always belongs" ] # [ doc = "to the POLYGON itself, so destroying the POLYGON will surely destroy" ] # [ doc = "any related RING as well." ] pub fn gaiaFreePolygon ( polyg : gaiaPolygonPtr ) ; } extern "C" { # [ doc = "Allocates a 2D Geometry [XY]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocGeomColl ( ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Allocates a 3D Geometry [XYZ]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocGeomCollXYZ ( ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Allocates a 2D Geometry [XYM]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocGeomCollXYM ( ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Allocates a 3D Geometry [XYZM]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further" ] # [ doc = "object: in this case destroying the higher order object will implicitly" ] # [ doc = "destroy any contained child object." ] pub fn gaiaAllocGeomCollXYZM ( ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Destroys a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocGeomColl, gaiaAllocGeomCollXYZ, gaiaAllocGeomCollXYM," ] # [ doc = "gaiaAllocGeomCollXYZM" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any Geometry object whose ownership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious" ] # [ doc = "error, and will easily cause severe memory corruption." ] # [ doc = "\\n Ownership of each POINT, LINESTRING or POLYGON object referenced by a" ] # [ doc = "Geometry object always belongs to the Geometry itself, so destroying the" ] # [ doc = "Geometry will surely destroy any related elementary geometry item as well." ] pub fn gaiaFreeGeomColl ( geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Creates a new 2D Point [XY] object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object" ] # [ doc = "\\param x X coordinate of the Point to be created" ] # [ doc = "\\param y X coordinate of the Point to be created" ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created POINT object belongs to the Geometry" ] # [ doc = "object." ] pub fn gaiaAddPointToGeomColl ( p : gaiaGeomCollPtr , x : f64 , y : f64 ) ; } extern "C" { # [ doc = "Creates a new 3D Point [XYZ] object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object" ] # [ doc = "\\param x X coordinate of the Point to be created" ] # [ doc = "\\param y X coordinate of the Point to be created" ] # [ doc = "\\param z Z coordinate of the Point to be created" ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created POINT object belongs to the Geometry" ] # [ doc = "object." ] pub fn gaiaAddPointToGeomCollXYZ ( p : gaiaGeomCollPtr , x : f64 , y : f64 , z : f64 ) ; } extern "C" { # [ doc = "Creates a new 2D Point [XYM] object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object" ] # [ doc = "\\param x X coordinate of the Point to be created" ] # [ doc = "\\param y X coordinate of the Point to be created" ] # [ doc = "\\param m M measure of the Point to be created" ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created POINT object belongs to the Geometry" ] # [ doc = "object." ] pub fn gaiaAddPointToGeomCollXYM ( p : gaiaGeomCollPtr , x : f64 , y : f64 , m : f64 ) ; } extern "C" { # [ doc = "Creates a new 3D Point [XYZM] object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object" ] # [ doc = "\\param x X coordinate of the Point to be created" ] # [ doc = "\\param y X coordinate of the Point to be created" ] # [ doc = "\\param z Z coordinate of the Point to be created" ] # [ doc = "\\param m M measure of the Point to be created" ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created POINT object belongs to the Geometry" ] # [ doc = "object." ] pub fn gaiaAddPointToGeomCollXYZM ( p : gaiaGeomCollPtr , x : f64 , y : f64 , z : f64 , m : f64 ) ; } extern "C" { # [ doc = "Creates a new Linestring object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object." ] # [ doc = "\\param vert number of points [aka vertices] into the Linestring." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Linestring: NULL on failure." ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created Linestring object belongs to the Geometry object." ] # [ doc = "\\n the newly created Linestring will have the same dimensions as the Geometry has." ] pub fn gaiaAddLinestringToGeomColl ( p : gaiaGeomCollPtr , vert : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Inserts an already existing Linestring object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object." ] # [ doc = "\\param line pointer to the Linestring object." ] # [ doc = "" ] # [ doc = "\\note ownership of the Linestring object will be transferred to the" ] # [ doc = "Geometry object." ] pub fn gaiaInsertLinestringInGeomColl ( p : gaiaGeomCollPtr , line : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Creates a new Polygon object into a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object." ] # [ doc = "\\param vert number of points [aka vertices] into the Polygon\'s Exterior Ring." ] # [ doc = "\\param interiors number of Interiors Rings [0, if no Interior Ring is required]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Polygon: NULL on failure." ] # [ doc = "" ] # [ doc = "\\note ownership of the newly created Polygon object belongs to the Geometry object." ] # [ doc = "\\n the newly created Polygon will have the same dimensions as the Geometry has." ] pub fn gaiaAddPolygonToGeomColl ( p : gaiaGeomCollPtr , vert : :: std :: os :: raw :: c_int , interiors : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Creates a new Polygon object into a Geometry object starting from an" ] # [ doc = "already existing Ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Geometry object." ] # [ doc = "\\param ring pointer to the Ring object [assumed to represent to Polygon\'s" ] # [ doc = "Exterior Ring]." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Polygon object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\note ownership of the Ring object will be transferred to the" ] # [ doc = "Polygon object, and the Polygon object ownerships belongs to the Geometry object." ] # [ doc = "\\n the Polygon object will have the same dimensions as the Ring object has." ] pub fn gaiaInsertPolygonInGeomColl ( p : gaiaGeomCollPtr , ring : gaiaRingPtr ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Creates a new Interior Ring object into a Polygon object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Polygon object." ] # [ doc = "\\param pos relative position index [first Interior Ring has index 0]." ] # [ doc = "\\param vert number of points (aka vertices) into the Ring." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Ring object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocPolygon, gaiaAllocPolygonXYZ, gaiaAllocPolygonXYM," ] # [ doc = "gaiaAllocPolygonXYZM" ] # [ doc = "" ] # [ doc = "\\note ownership of the Ring object belongs to the Polygon object." ] # [ doc = "\\n the newly created Ring will have the same dimensions the Polygon has." ] pub fn gaiaAddInteriorRing ( p : gaiaPolygonPtr , pos : :: std :: os :: raw :: c_int , vert : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Inserts an already existing Ring object into a Polygon object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the Polygon object" ] # [ doc = "\\param ring pointer to the Ring object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAddRingToPolygon" ] # [ doc = "" ] # [ doc = "\\note ownership of the Ring object still remains to the calling procedure" ] # [ doc = "(a duplicated copy of the original Ring will be inserted into the Polygon)." ] # [ doc = "\\n the newly created Polygon will have the same dimensions as the Ring has." ] # [ doc = "\\n if required the Polygon\'s Interior Rings count could be increased." ] pub fn gaiaInsertInteriorRing ( p : gaiaPolygonPtr , ring : gaiaRingPtr ) ; } extern "C" { # [ doc = "Inserts an already existing Ring object into a Polygon object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to the Polygon object" ] # [ doc = "\\param ring pointer to the Ring object" ] # [ doc = "" ] # [ doc = "\\sa gaiaInsertInteriorRing" ] # [ doc = "" ] # [ doc = "\\note ownership of the Ring object will be transferred to the Polygon object." ] # [ doc = "\\n the newly created Polygon will have the same dimensions as the Ring has." ] # [ doc = "\\n if required the Polygon\'s Interior Rings count could be increased." ] pub fn gaiaAddRingToPolyg ( polyg : gaiaPolygonPtr , ring : gaiaRingPtr ) ; } extern "C" { # [ doc = "Duplicates a Linestring object" ] # [ doc = "" ] # [ doc = "\\param line pointer to Linestring object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Linestring object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneRing, gaiaClonePolygon, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollLinestrings," ] # [ doc = "gaiaCloneGeomCollPolygons, gaiaCloneLinestringSpecial" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaCloneLinestring ( line : gaiaLinestringPtr ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Duplicates a Linestring object (special)" ] # [ doc = "" ] # [ doc = "\\param line pointer to Linestring object [origin]." ] # [ doc = "\\param mode one of GAIA_SAME_ORDER or GAIA_REVERSE_ORDER." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Linestring object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneGeomCollSpecial" ] # [ doc = "" ] # [ doc = "\\note if GAIA_REVERSE_ORDER is specified, then any vertex into the newly created" ] # [ doc = "object will be in reverse order [first vertex will be last one, and last vertex" ] # [ doc = "will be the first one]. In any other case this function will simply default to" ] # [ doc = "gaiaCloneLinestring." ] pub fn gaiaCloneLinestringSpecial ( line : gaiaLinestringPtr , mode : :: std :: os :: raw :: c_int ) -> gaiaLinestringPtr ; } extern "C" { # [ doc = "Duplicates a Ring object" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Ring object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaClonePolygon, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollLinestrings," ] # [ doc = "gaiaCloneGeomCollPolygons, gaiaCloneRingSpecial" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaCloneRing ( ring : gaiaRingPtr ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Duplicates a Ring object (special)" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object [origin]." ] # [ doc = "\\param mode one of GAIA_SAME_ORDER or GAIA_REVERSE_ORDER." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Ring object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneRing, gaiaClonePolygonSpecial" ] # [ doc = "" ] # [ doc = "\\note if GAIA_REVERSE_ORDER is specified, then any vertex into the newly created" ] # [ doc = "object will be in reverse order [first vertex will be last one, and last vertex" ] # [ doc = "will be the first one]. In any other case this function will simply default to" ] # [ doc = "gaiaCloneRing." ] pub fn gaiaCloneRingSpecial ( ring : gaiaRingPtr , mode : :: std :: os :: raw :: c_int ) -> gaiaRingPtr ; } extern "C" { # [ doc = "Duplicates a Polygon object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to Polygon object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Polygon object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneRing, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollLinestrings," ] # [ doc = "gaiaCloneGeomCollPolygons, gaiaClonePolygonSpecial" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaClonePolygon ( polyg : gaiaPolygonPtr ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Duplicates a Polygon object (special)" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to Polygon object [origin]." ] # [ doc = "\\param mode one of GAIA_SAME_ORDER, GAIA_REVERSE_ORDER or GAIA_LHR_ORDER." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Polygon object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaClonePolygon, gaiaCloneGeomCollSpecial" ] # [ doc = "" ] # [ doc = "\\note if GAIA_REVERSE_ORDER is specified, then any Ring into the newly created" ] # [ doc = "object will be in reverse order. If GAIA_LHR_ORDER is specified instead, any" ] # [ doc = "Exterior Ring will have clockwise orientation, and any Interior Ring will have" ] # [ doc = "counter-clockwise orientation. In any other case this function will simply" ] # [ doc = "default to gaiaClonePolygon." ] pub fn gaiaClonePolygonSpecial ( polyg : gaiaPolygonPtr , mode : :: std :: os :: raw :: c_int ) -> gaiaPolygonPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneRing, gaiaClonePolygon," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollLinestrings," ] # [ doc = "gaiaCloneGeomCollPolygons, gaiaCastGeomCollToXY, gaiaCastGeomCollToXYZ," ] # [ doc = "gaiaCastGeomCollToXYM, gaiaCastGeomCollToXYZM, gaiaExtractPointsFromGeomColl," ] # [ doc = "gaiaExtractLinestringsFromGeomColl, gaiaExtractPolygonsFromGeomColl," ] # [ doc = "gaiaMergeGeometries, gaiaCloneGeomCollSpecial" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaCloneGeomColl ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object (special)" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "\\param mode one of GAIA_SAME_ORDER, GAIA_REVERSE_ORDER or GAIA_LHR_ORDER." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestringSpecial, gaiaCloneRingSpecial, gaiaClonePolygonSpecial," ] # [ doc = "gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note if GAIA_REVERSE_ORDER is specified, then any Linestring and/or Ring into" ] # [ doc = "the newly created object will be in reverse order. If GAIA_LHR_ORDER is specified" ] # [ doc = "instead, any Polygong will have the Exterior Ring in clockwise orientation, and any" ] # [ doc = "Interior Ring int counter-clockwise orientation. In any other case this function will" ] # [ doc = "simply default to gaiaCloneGeomColl." ] pub fn gaiaCloneGeomCollSpecial ( geom : gaiaGeomCollPtr , mode : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [Points only]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneRing, gaiaClonePolygon, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollLinestrings," ] # [ doc = "gaiaCloneGeomCollPolygons" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that only Point objects will be copied." ] # [ doc = "\\n Caveat: an empty Geometry could be returned." ] pub fn gaiaCloneGeomCollPoints ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [Linestrings only]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneRing, gaiaClonePolygon, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollPolygons" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that only Linestrings objects will be copied." ] # [ doc = "\\n Caveat: an empty Geometry could be returned." ] pub fn gaiaCloneGeomCollLinestrings ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [Polygons only]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneLinestring, gaiaCloneRing, gaiaClonePolygon, gaiaCloneGeomColl," ] # [ doc = "gaiaCloneGeomCollPoints, gaiaCloneGeomCollLinestrings" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that only Polygons objects will be copied." ] # [ doc = "\\n Caveat: an empty Geometry could be returned." ] pub fn gaiaCloneGeomCollPolygons ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [casting dimensions to 2D XY]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneGeomColl, gaiaCastGeomCollToXYZ," ] # [ doc = "gaiaCastGeomCollToXYM, gaiaCastGeomCollToXYZM" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that any elementary item  will be casted to 2D [XY] dimensions." ] pub fn gaiaCastGeomCollToXY ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [casting dimensions to 3D XYZ]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneGeomColl, gaiaCastGeomCollToXY," ] # [ doc = "gaiaCastGeomCollToXYM, gaiaCastGeomCollToXYZM" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that any elementary item  will be cast to 3D [XYZ] dimensions." ] pub fn gaiaCastGeomCollToXYZ ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [casting dimensions to 2D XYM]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneGeomColl, gaiaCastGeomCollToXY, gaiaCastGeomCollToXYZ," ] # [ doc = "gaiaCastGeomCollToXYZM" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that any elementary item  will be cast to 2D [XYM] dimensions." ] pub fn gaiaCastGeomCollToXYM ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Duplicates a Geometry object [casting dimensions to 3D XYZM]" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneGeomColl, gaiaCastGeomCollToXY, gaiaCastGeomCollToXYZ," ] # [ doc = "gaiaCastGeomCollToXYM" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one; except" ] # [ doc = "in that any elementary item  will be cast to 3D [XYZM] dimensions." ] pub fn gaiaCastGeomCollToXYZM ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Gets coodinates from a Linestring\'s Point" ] # [ doc = "" ] # [ doc = "\\param ln pointer to Linestring object." ] # [ doc = "\\param v relative position of Point: first Point has index 0" ] # [ doc = "\\param x on completion this variable will contain the Point X coordinate." ] # [ doc = "\\param y on completion this variable will contain the Point Y coordinate." ] # [ doc = "\\param z on completion this variable will contain the Point Z coordinate." ] # [ doc = "\\param m on completion this variable will contain the Point M measure." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other different value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineSetPoint, gaiaGetPoint, gaiaGetPointXYZ, gaiaGetPointXYM," ] # [ doc = "gaiaGetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note this function perform the same identical task performed by" ] # [ doc = "gaiaGetPoint(), gaiaGetPointXYZ(), gaiaGetPointXYM() and gaiaGetPointXYZM()" ] # [ doc = "macros." ] # [ doc = "\\n using the gaiaLineGetPoint() function is a little bit slower but is" ] # [ doc = "intrinsically safest, because misused macros can easily cause severe" ] # [ doc = "memory corruption." ] # [ doc = "\\n gaiaLineGetPoint() instead will always ensure that the appropriate" ] # [ doc = "dimensions (as declared by the Linestring object) will be correctly used." ] pub fn gaiaLineGetPoint ( ln : gaiaLinestringPtr , v : :: std :: os :: raw :: c_int , x : * mut f64 , y : * mut f64 , z : * mut f64 , m : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sets coordinates for a Linestring\'s Point" ] # [ doc = "" ] # [ doc = "\\param ln pointer to Linestring object." ] # [ doc = "\\param v relative position of Point: first Point has index 0" ] # [ doc = "\\param x the Point\'s X coordinate." ] # [ doc = "\\param y the Point\'s Y coordinate." ] # [ doc = "\\param z the Point\'s Z coordinate." ] # [ doc = "\\param m the Point\'s M measure." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other different value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineGetPoint, gaiaSetPoint, gaiaSetPointXYZ, gaiaSetPointXYM," ] # [ doc = "gaiaSetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note this function perform the same identical task performed by" ] # [ doc = "gaiaSetPoint(), gaiaSetPointXYZ(), gaiaSetPointXYM() and gaiaSetPointXYZM()" ] # [ doc = "macros." ] # [ doc = "\\n using the gaiaLineSetPoint() function is a little bit slower but is" ] # [ doc = "intrinsically safest, because misused macros can easily cause severe" ] # [ doc = "memory corruption." ] # [ doc = "\\n gaiaLineSetPoint() instead will always ensure that the appropriate" ] # [ doc = "dimensions (as declared by the Linestring object) will be correctly used." ] pub fn gaiaLineSetPoint ( ln : gaiaLinestringPtr , v : :: std :: os :: raw :: c_int , x : f64 , y : f64 , z : f64 , m : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Gets coordinates from a Ring\'s Point" ] # [ doc = "" ] # [ doc = "\\param rng pointer to Ring object." ] # [ doc = "\\param v relative position of Point: first Point has index 0" ] # [ doc = "\\param x on completion this variable will contain the Point X coordinate." ] # [ doc = "\\param y on completion this variable will contain the Point Y coordinate." ] # [ doc = "\\param z on completion this variable will contain the Point Z coordinate." ] # [ doc = "\\param m on completion this variable will contain the Point M measure." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other different value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaRingSetPoint, gaiaGetPoint, gaiaGetPointXYZ, gaiaGetPointXYM," ] # [ doc = "gaiaGetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note this function perform the same identical task performed by" ] # [ doc = "gaiaGetPoint(), gaiaGetPointXYZ(), gaiaGetPointXYM() and gaiaGetPointXYZM()" ] # [ doc = "macros." ] # [ doc = "\\n using the gaiaRingGetPoint() function is a little bit slower but is" ] # [ doc = "intrinsically safest, because misused macros can easily cause severe" ] # [ doc = "memory corruption." ] # [ doc = "\\n gaiaRingGetPoint() instead will always ensure that the appropriate" ] # [ doc = "dimensions (as declared by the Ring object) will be correctly used." ] pub fn gaiaRingGetPoint ( rng : gaiaRingPtr , v : :: std :: os :: raw :: c_int , x : * mut f64 , y : * mut f64 , z : * mut f64 , m : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sets coodinates for a Ring\'s Point" ] # [ doc = "" ] # [ doc = "\\param rng pointer to Ring object." ] # [ doc = "\\param v relative position of Point: first Point has index 0" ] # [ doc = "\\param x the Point\'s X coordinate." ] # [ doc = "\\param y the Point\'s Y coordinate." ] # [ doc = "\\param z the Point\'s Z coordinate." ] # [ doc = "\\param m the Point\'s M measure." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other different value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaRingGetPoint, gaiaGetPoint, gaiaGetPointXYZ, gaiaSetPointXYM," ] # [ doc = "gaiaSetPointXYZM" ] # [ doc = "" ] # [ doc = "\\note this function perform the same identical task performed by" ] # [ doc = "gaiaSetPoint(), gaiaSetPointXYZ(), gaiaSetPointXYM() and gaiaSetPointXYZM()" ] # [ doc = "macros." ] # [ doc = "\\n using the gaiaRingSetPoint() function is a little bit slower but is" ] # [ doc = "intrinsically safest, because misused macros can easily cause severe" ] # [ doc = "memory corruption." ] # [ doc = "\\n gaiaRingSetPoint() instead will always ensure that the appropriate" ] # [ doc = "dimensions (as declared by the Ring object) will be correctly used." ] pub fn gaiaRingSetPoint ( rng : gaiaRingPtr , v : :: std :: os :: raw :: c_int , x : f64 , y : f64 , z : f64 , m : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Determines OGC dimensions for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return OGC dimensions" ] # [ doc = "" ] # [ doc = "\\note OGC dimensions are defined as follows:" ] # [ doc = "\\li if the Geometry doesn\'t contain any elementary item: \\b -1" ] # [ doc = "\\li if the Geometry only contains Point items: \\b 0" ] # [ doc = "\\li if the Geometry only contains Point / Linestring items: \\b 1" ] # [ doc = "\\li if the Geometry contains some Polygon item: \\b 2" ] pub fn gaiaDimension ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Determines the corresponding Type for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the corresponding Geometry Type" ] # [ doc = "" ] # [ doc = "\\note Type is one of: GAIA_POINT, GAIA_LINESTRING, GAIA_POLYGON," ] # [ doc = "GAIA_MULTIPOINT, GAIA_MULTILINESTRING, GAIA_MULTIPOLYGON," ] # [ doc = "GAIA_GEOMETRYCOLLECTION, GAIA_POINTZ, GAIA_LINESTRINGZ, GAIA_POLYGONZ," ] # [ doc = "GAIA_MULTIPOINTZ, GAIA_MULTILINESTRINGZ, GAIA_MULTIPOLYGONZ," ] # [ doc = "GAIA_GEOMETRYCOLLECTIONZ, GAIA_POINTM, GAIA_LINESTRINGM, GAIA_POLYGONM," ] # [ doc = "GAIA_MULTIPOINTM, GAIA_MULTILINESTRINGM, GAIA_MULTIPOLYGONM," ] # [ doc = "GAIA_GEOMETRYCOLLECTIONM, GAIA_POINTZM, GAIA_LINESTRINGZM, GAIA_POLYGONZM," ] # [ doc = "GAIA_MULTIPOINTZM, GAIA_MULTILINESTRINGZM, GAIA_MULTIPOLYGONZM," ] # [ doc = "GAIA_GEOMETRYCOLLECTIONZM" ] # [ doc = "\\n on failure GAIA_NONE will be returned." ] pub fn gaiaGeometryType ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Determines the corresponding Type for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the corresponding Geometry Type" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryType" ] # [ doc = "" ] # [ doc = "\\note Type is one of: GAIA_POINT, GAIA_LINESTRING, GAIA_POLYGON," ] # [ doc = "GAIA_MULTIPOINT, GAIA_MULTILINESTRING, GAIA_MULTIPOLYGON," ] # [ doc = "GAIA_GEOMETRYCOLLECTION" ] # [ doc = "\\n on failure GAIA_NONE will be returned." ] # [ doc = "" ] # [ doc = "\\remark deprecated function (used in earlier SpatiaLite versions)." ] pub fn gaiaGeometryAliasType ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for empty Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Geometry is empty: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\note an empty Geometry is a Geometry not containing any elementary" ] # [ doc = "item: i.e. no Points, no Linestrings and no Polygons at all." ] pub fn gaiaIsEmpty ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for toxic Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Geometry is not toxic: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsToxic_r, gaiaSanitize" ] # [ doc = "" ] # [ doc = "\\note a \\b toxic Geometry is a Geometry containing severely malformed" ] # [ doc = "Polygons: i.e. containing less than 4 Points." ] # [ doc = "\\n Or containing severely malformed Linestrings: i.e. containing less" ] # [ doc = "than 2 Points." ] # [ doc = "\\n Attempting to pass any toxic Geometry to GEOS supported functions" ] # [ doc = "will easily cause a crash.\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaIsToxic ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for toxic Geometry object" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Geometry is not toxic: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsToxic, gaiaSanitize" ] # [ doc = "" ] # [ doc = "\\note a \\b toxic Geometry is a Geometry containing severely malformed" ] # [ doc = "Polygons: i.e. containing less than 4 Points." ] # [ doc = "\\n Or containing severely malformed Linestrings: i.e. containing less" ] # [ doc = "than 2 Points." ] # [ doc = "\\n Attempting to pass any toxic Geometry to GEOS supported functions" ] # [ doc = "will easily cause a crash.\\n" ] # [ doc = "reentrant and thread-safe." ] pub fn gaiaIsToxic_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for not-closed Rings" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Ring in unclosed: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsNotClosedRing_r, gaiaIsToxic, gaiaIsNotClosedGeomColl" ] # [ doc = "" ] # [ doc = "\\note unclosed Rings cause GEOS supported functions to crash." ] # [ doc = "\\n SpatiaLite will always carefully check any Ring before passing it" ] # [ doc = "to GEOS, eventually silently inserting a further point required so" ] # [ doc = "to properly close the figure." ] # [ doc = "\\n This function allows to explicitly identify any unclosed Ring.\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaIsNotClosedRing ( ring : gaiaRingPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for not-closed Rings" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param ring pointer to Ring object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Ring in unclosed: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsNotClosedRing, gaiaIsToxic, gaiaIsNotClosedGeomColl" ] # [ doc = "" ] # [ doc = "\\note unclosed Rings cause GEOS supported functions to crash." ] # [ doc = "\\n SpatiaLite will always carefully check any Ring before passing it" ] # [ doc = "to GEOS, eventually silently inserting a further point required so" ] # [ doc = "to properly close the figure." ] # [ doc = "\\n This function allows to explicitly identify any unclosed Ring.\\n" ] # [ doc = "reentrant and thread-safe." ] pub fn gaiaIsNotClosedRing_r ( p_data : * const :: std :: os :: raw :: c_void , ring : gaiaRingPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for not-closed Rings in a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Geometry has no unclosed Rings: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsNotClosedGeomColl_r, gaiaIsToxic, gaiaIsNotClosedRing" ] # [ doc = "" ] # [ doc = "\\note This function allows to explicitly identify any Geometry containing" ] # [ doc = "at least one unclosed Ring.\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaIsNotClosedGeomColl ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for not-closed Rings in a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return 0 if the Geometry has no unclosed Rings: otherwise any other different value." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsNotClosedGeomColl, gaiaIsToxic, gaiaIsNotClosedRing" ] # [ doc = "" ] # [ doc = "\\note This function allows to explicitly identify any Geometry containing" ] # [ doc = "at least one unclosed Ring.\\n" ] # [ doc = "reentrant and thread-safe." ] pub fn gaiaIsNotClosedGeomColl_r ( p_data : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Attempts to sanitize a possibly malformed Geometry object" ] # [ doc = "" ] # [ doc = "\\param org pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsToxic" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaSanitize()" ] # [ doc = "\\n the output Geometry will surely have:" ] # [ doc = "\\li no repeated Points on Linestrings or Rings (i.e. consecutive Points" ] # [ doc = "sharing exactly the same coordinates): any repeated Point will be suppressed," ] # [ doc = "simply leaving only the first occurrence." ] # [ doc = "\\li proper Ring closure: for sure any Ring will have exactly coinciding" ] # [ doc = "first and last Points." ] pub fn gaiaSanitize ( org : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Attempts to resolve a (Multi)Linestring from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param force_multi: 0 if the returned Geometry could represent a Linestring:" ] # [ doc = "any other value if casting to MultiLinestring is required unconditionally." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDissolveSegments, gaiaDissolvePoints" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaLinearize()" ] # [ doc = "\\n the input Geometry is expected to contain Polygons only: then any Ring" ] # [ doc = "will be transformed into the corresponding Linestring." ] pub fn gaiaLinearize ( geom : gaiaGeomCollPtr , force_multi : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Attempts to resolve a collection of Segments from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLinearize, gaiaDissolvePoints" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaDissolveSegments()" ] # [ doc = "\\n the input Geometry can be of any arbitrary type:" ] # [ doc = "\\li any Point will be copied untouched." ] # [ doc = "\\li any Linestring will be dissolved into Segments." ] # [ doc = "\\li any Ring will be dissolved into Segments." ] pub fn gaiaDissolveSegments ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Attempts to resolve a collection of Points from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLinearize, gaiaDissolveSegments" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaDissolvePoints()" ] # [ doc = "\\n the input Geometry can be of any arbitrary type:" ] # [ doc = "\\li any Point will be copied untouched." ] # [ doc = "\\li any Linestring will be dissolved into sparse Points." ] # [ doc = "\\li any Ring will be dissolved into sparse Points." ] pub fn gaiaDissolvePoints ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Extracts any Point from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaExtractLinestringsFromGeomColl," ] # [ doc = "gaiaExtractPolygonsFromGeomColl, gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaExtractPointsFromGeomColl()" ] # [ doc = "\\n the newly created Geometry will contain any Point contained into the" ] # [ doc = "input Geometry." ] # [ doc = "\\n if the input Geometry doesn\'t contains any Point, then NULL will be returned." ] pub fn gaiaExtractPointsFromGeomColl ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Extracts any Linestring from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaExtractPointsFromGeomColl, gaiaExtractPolygonsFromGeomColl," ] # [ doc = "gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaExtractLinestringsFromGeomColl()" ] # [ doc = "\\n the newly created Geometry will contain any Linestring contained into the" ] # [ doc = "input Geometry." ] # [ doc = "\\n if the input Geometry doesn\'t contains any Linestring, then NULL will be returned." ] pub fn gaiaExtractLinestringsFromGeomColl ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Extracts any Polygon from a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaExtractPointsFromGeomColl, gaiaExtractLinestringsFromGeomColl," ] # [ doc = "gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaExtractPolygonsFromGeomColl()" ] # [ doc = "\\n the newly created Geometry will contain any Polygon contained into the" ] # [ doc = "input Geometry." ] # [ doc = "\\n if the input Geometry doesn\'t contains any Polygon, then NULL will be returned." ] pub fn gaiaExtractPolygonsFromGeomColl ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Merges two Geometry objects into a single one" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first Geometry object." ] # [ doc = "\\param geom2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaMergeGeometries_r, gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaMergeGeometries()" ] # [ doc = "\\n the newly created Geometry will contain any Point, Linestring and/or" ] # [ doc = "Polygon contained in both input Geometries.\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaMergeGeometries ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Merges two Geometry objects into a single one" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first Geometry object." ] # [ doc = "\\param geom2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaMergeGeometries, gaiaCloneGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaMergeGeometries()" ] # [ doc = "\\n the newly created Geometry will contain any Point, Linestring and/or" ] # [ doc = "Polygon contained in both input Geometries.\\n" ] # [ doc = "reentrant and thread-safe." ] pub fn gaiaMergeGeometries_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Return a GeometryCollection containing elements matching the specified range of measures" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param m_start range of measures: start value" ] # [ doc = "\\param m_end range of measures: end value" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry created by gaiaLocateBetweenMeasures()" ] # [ doc = "\\n the newly created Geometry will contain Points and/or Linestrings." ] # [ doc = "\\n if the input Geometry has no M dimension then NULL will be returned." ] # [ doc = "\\n if the input Geometry doesn\'t contains any point/vertex corresponding to the" ] # [ doc = "required range of measures then NULL will be returned." ] # [ doc = "\\n if the input Geometry contains any Polygon (or is a GeometryCollection) then" ] # [ doc = "NULL will be returned." ] pub fn gaiaLocateBetweenMeasures ( geom : gaiaGeomCollPtr , m_start : f64 , m_end : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Measures the geometric length for a Linestring or Ring" ] # [ doc = "" ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_ZM" ] # [ doc = "\\param coords pointed to COORD mem-array" ] # [ doc = "\\param vert number of Points (aka Vertices) within the COORD mem-array" ] # [ doc = "" ] # [ doc = "\\return the calculated geometric length" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLength" ] # [ doc = "" ] # [ doc = "\\note \\b dims, \\b coords and \\b vert are usually expected to correspond to" ] # [ doc = "\\b DimensionModel, \\b Coords and \\b Points members from a gaiaLinestringStruct" ] # [ doc = "or gaiaRingStruct" ] # [ doc = "" ] # [ doc = "\\remark internal method: doesn\'t require any GEOS support." ] pub fn gaiaMeasureLength ( dims : :: std :: os :: raw :: c_int , coords : * mut f64 , vert : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { # [ doc = "Measures the geometric area for a Ring object" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object" ] # [ doc = "" ] # [ doc = "\\return the calculated geometric area" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollArea" ] # [ doc = "" ] # [ doc = "\\remark internal method: doesn\'t require any GEOS support." ] pub fn gaiaMeasureArea ( ring : gaiaRingPtr ) -> f64 ; } extern "C" { # [ doc = "Determines the Centroid for a Ring object" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object." ] # [ doc = "\\param rx on completion this variable will contain the centroid X coordinate." ] # [ doc = "\\param ry on completion this variable will contain the centroid Y coordinate." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCentroid" ] # [ doc = "" ] # [ doc = "\\remark internal method: doesn\'t require any GEOS support." ] pub fn gaiaRingCentroid ( ring : gaiaRingPtr , rx : * mut f64 , ry : * mut f64 ) ; } extern "C" { # [ doc = "Determines the direction for a Ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to Ring object" ] # [ doc = "" ] # [ doc = "\\return 0 if the ring has counter-clockwise direction; any other different" ] # [ doc = "value for clockwise direction." ] pub fn gaiaClockwise ( p : gaiaRingPtr ) ; } extern "C" { # [ doc = "Check if a Point lays on a Ring surface" ] # [ doc = "" ] # [ doc = "\\param ring pointer to Ring object" ] # [ doc = "\\param pt_x Point X coordinate" ] # [ doc = "\\param pt_y Point Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] pub fn gaiaIsPointOnRingSurface ( ring : gaiaRingPtr , pt_x : f64 , pt_y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Point lays on a Polygon surface" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to Polygon object" ] # [ doc = "\\param x Point X coordinate" ] # [ doc = "\\param y Point Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] pub fn gaiaIsPointOnPolygonSurface ( polyg : gaiaPolygonPtr , x : f64 , y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Computes the minimum distance between a Point and a Linestring or Ring" ] # [ doc = "" ] # [ doc = "\\param x0 Point X coordinate" ] # [ doc = "\\param y0 Point Y coordinate" ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_ZM" ] # [ doc = "\\param coords pointed to COORD mem-array" ] # [ doc = "\\param vert number of Points (aka Vertices) within the COORD mem-array" ] # [ doc = "" ] # [ doc = "\\return the calculated minumum distance." ] # [ doc = "" ] # [ doc = "\\note \\b dims, \\b coords and \\b vert are usually expected to correspond to" ] # [ doc = "\\b DimensionModel, \\b Coords and \\b Points members from a gaiaLinestringStruct" ] # [ doc = "or gaiaRingStruct" ] pub fn gaiaMinDistance ( x0 : f64 , y0 : f64 , dims : :: std :: os :: raw :: c_int , coords : * mut f64 , vert : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { # [ doc = "Determines the intesection Point between two Segments" ] # [ doc = "" ] # [ doc = "\\param x0 on completion this variable will contain the Intersection X coord" ] # [ doc = "\\param y0 on completion this variable will contain the Intersection Y coord" ] # [ doc = "\\param x1 start Point X of first Segment" ] # [ doc = "\\param y1 start Point Y of first Segment" ] # [ doc = "\\param x2 end Point X of first Segment" ] # [ doc = "\\param y2 end Point Y of first Segment" ] # [ doc = "\\param x3 start Point X of second Segment" ] # [ doc = "\\param y3 start Point Y of second Segment" ] # [ doc = "\\param x4 end Point X of second Segment" ] # [ doc = "\\param y4 end Point Y of second Segment" ] # [ doc = "" ] # [ doc = "\\return 0 if the Segments doesn\'t intersect at all: any other value on" ] # [ doc = "success." ] pub fn gaiaIntersect ( x0 : * mut f64 , y0 : * mut f64 , x1 : f64 , y1 : f64 , x2 : f64 , y2 : f64 , x3 : f64 , y3 : f64 , x4 : f64 , y4 : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Shifts any coordinate within a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param shift_x X axis shift factor." ] # [ doc = "\\param shift_y Y axis shift factor." ] # [ doc = "" ] # [ doc = "\\sa gaiaScaleCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords," ] # [ doc = "gaiaShiftCoords3D, gaiaShiftLongitude" ] pub fn gaiaShiftCoords ( geom : gaiaGeomCollPtr , shift_x : f64 , shift_y : f64 ) ; } extern "C" { # [ doc = "Shifts any coordinate within a 3D Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param shift_x X axis shift factor." ] # [ doc = "\\param shift_y Y axis shift factor." ] # [ doc = "\\param shift_z Z axis shift factor." ] # [ doc = "" ] # [ doc = "\\sa gaiaScaleCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords," ] # [ doc = "gaiaShiftCoords, gaiaShiftLongitude, gaiaNormalizeLonLat" ] pub fn gaiaShiftCoords3D ( geom : gaiaGeomCollPtr , shift_x : f64 , shift_y : f64 , shift_z : f64 ) ; } extern "C" { # [ doc = "Shifts negative longitudes" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\sa gaiaShiftCoords, gaiaShiftCoords3D, gaiaNormalizeLonLat" ] # [ doc = "" ] # [ doc = "\\note only intended for geographic (longitude/latitude) coordinates." ] # [ doc = "Negative longitudes (-180/0) will be shifted by 360, thus allowing" ] # [ doc = "to represent longitudes in the 0/360 range and effectively crossing" ] # [ doc = "the International Date Line." ] # [ doc = "" ] pub fn gaiaShiftLongitude ( geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Shifts any coordinate to within the \"normal range\" of longitude and" ] # [ doc = "latitude values (-180.0 to 180.0 longitude and -90.0 to 90.0 latitude)." ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\sa gaiaScaleCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords," ] # [ doc = "gaiaShiftCoords3D, gaiaShiftLongitude" ] pub fn gaiaNormalizeLonLat ( geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Scales any coordinate within a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param scale_x X axis scale factor." ] # [ doc = "\\param scale_y Y axis scale factor." ] # [ doc = "" ] # [ doc = "\\sa gaiaShiftCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords" ] pub fn gaiaScaleCoords ( geom : gaiaGeomCollPtr , scale_x : f64 , scale_y : f64 ) ; } extern "C" { # [ doc = "Rotates any coordinate within a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param angle rotation angle [expressed in Degrees]." ] # [ doc = "" ] # [ doc = "\\sa gaiaShiftCoords, gaiaScaleCoords, gaiaReflectCoords, gaiaSwapCoords" ] pub fn gaiaRotateCoords ( geom : gaiaGeomCollPtr , angle : f64 ) ; } extern "C" { # [ doc = "Reflects any coordinate within a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param x_axis if set to 0, no X axis reflection will be applied:" ] # [ doc = "otherwise the X axis will be reflected." ] # [ doc = "\\param y_axis if set to 0, no Y axis reflection will be applied:" ] # [ doc = "otherwise the Y axis will be reflected." ] # [ doc = "" ] # [ doc = "\\sa gaiaShiftCoords, gaiaScaleCoords, gaiaRotateCoords, gaiaSwapCoords" ] pub fn gaiaReflectCoords ( geom : gaiaGeomCollPtr , x_axis : :: std :: os :: raw :: c_int , y_axis : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Swaps any coordinate within a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\sa gaiaShiftCoords, gaiaScaleCoords, gaiaRotateCoords, gaiaReflectCoords" ] # [ doc = "" ] # [ doc = "\\note the X and Y axes will be swapped." ] pub fn gaiaSwapCoords ( geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Checks if two Linestring objects are equivalent" ] # [ doc = "" ] # [ doc = "\\param line1 pointer to first Linestring object." ] # [ doc = "\\param line2 pointer to second Linestring object." ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other different value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaPolygonEquals" ] # [ doc = "" ] # [ doc = "\\note two Linestrings objects are assumed to be equivalent if exactly" ] # [ doc = "\\remark deprecated function (used in earlier SpatiaLite versions)." ] # [ doc = "the same Points are found in both them." ] pub fn gaiaLinestringEquals ( line1 : gaiaLinestringPtr , line2 : gaiaLinestringPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if two Polygons objects are equivalent" ] # [ doc = "" ] # [ doc = "\\param polyg1 pointer to first Polygon object." ] # [ doc = "\\param polyg2 pointer to second Polygon object." ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other different value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaLinestringEquals" ] # [ doc = "" ] # [ doc = "\\note two Polygon objects are assumed to be equivalent if exactly" ] # [ doc = "the same Points are found in both them." ] # [ doc = "" ] # [ doc = "\\remark deprecated function (used in earlier SpatiaLite versions)." ] pub fn gaiaPolygonEquals ( polyg1 : gaiaPolygonPtr , polyg2 : gaiaPolygonPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Retrieves Geodesic params for an Ellipsoid definition" ] # [ doc = "" ] # [ doc = "\\param name text string identifying an Ellipsoid definition." ] # [ doc = "\\param a on completion this variable will contain the first geodesic param." ] # [ doc = "\\param b on completion this variable will contain the second geodesic param." ] # [ doc = "\\param rf on completion this variable will contain the third geodesic param." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGreatCircleDistance, gaiaGeodesicDistance," ] # [ doc = "gaiaGreatCircleTotalLength, gaiaGeodesicTotalLength" ] # [ doc = "" ] # [ doc = "\\note supported Ellipsoid definitions are: \\b MERIT, \\b SGS85, \\b GRS80," ] # [ doc = "\\b IAU76, \\b airy, \\b APL4.9, \\b NWL9D, \\b mod_airy, \\b andrae, \\b aust_SA," ] # [ doc = "\\b GRS67, \\b bessel, \\b bess_nam, \\b clrk66, \\b clrk80, \\b CPM, \\b delmbr," ] # [ doc = "\\b engelis, \\b evrst30, \\b evrst48, \\b evrst56, \\b evrst69, \\b evrstSS," ] # [ doc = "\\b fschr60" ] pub fn gaiaEllipseParams ( name : * const :: std :: os :: raw :: c_char , a : * mut f64 , b : * mut f64 , rf : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the Great Circle Distance between between two Points" ] # [ doc = "" ] # [ doc = "\\param a first geodesic parameter." ] # [ doc = "\\param b second geodesic parameter." ] # [ doc = "\\param lat1 Latitude of first Point." ] # [ doc = "\\param lon1 Longitude of first Point." ] # [ doc = "\\param lat2 Latitude of second Point." ] # [ doc = "\\param lon2 Longitude of second Point." ] # [ doc = "" ] # [ doc = "\\return the calculated Great Circle Distance." ] # [ doc = "" ] # [ doc = "\\sa gaiaEllipseParams, gaiaGeodesicDistance," ] # [ doc = "gaiaGreatCircleTotalLength, gaiaGeodesicTotalLength" ] # [ doc = "" ] # [ doc = "\\note the returned distance is expressed in Kilometers." ] # [ doc = "\\n the Great Circle method is less accurate but fastest to be calculated." ] pub fn gaiaGreatCircleDistance ( a : f64 , b : f64 , lat1 : f64 , lon1 : f64 , lat2 : f64 , lon2 : f64 ) -> f64 ; } extern "C" { # [ doc = "Calculates the Geodesic Distance between between two Points" ] # [ doc = "" ] # [ doc = "\\param a first geodesic parameter." ] # [ doc = "\\param b second geodesic parameter." ] # [ doc = "\\param rf third geodesic parameter." ] # [ doc = "\\param lat1 Latitude of first Point." ] # [ doc = "\\param lon1 Longitude of first Point." ] # [ doc = "\\param lat2 Latitude of second Point." ] # [ doc = "\\param lon2 Longitude of second Point." ] # [ doc = "" ] # [ doc = "\\return the calculated Geodesic Distance." ] # [ doc = "" ] # [ doc = "\\sa gaiaEllipseParams, gaiaGreatCircleDistance, gaiaGreatCircleTotalLength," ] # [ doc = "gaiaGeodesicTotalLength" ] # [ doc = "" ] # [ doc = "\\note the returned distance is expressed in Kilometers." ] # [ doc = "\\n the Geodesic method is much more accurate but slowest to be calculated." ] pub fn gaiaGeodesicDistance ( a : f64 , b : f64 , rf : f64 , lat1 : f64 , lon1 : f64 , lat2 : f64 , lon2 : f64 ) -> f64 ; } extern "C" { # [ doc = "Calculates the Great Circle Total Length for a Linestring / Ring" ] # [ doc = "" ] # [ doc = "\\param a first geodesic parameter." ] # [ doc = "\\param b second geodesic parameter." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_ZM" ] # [ doc = "\\param coords pointed to COORD mem-array" ] # [ doc = "\\param vert number of Points (aka Vertices) within the COORD mem-array" ] # [ doc = "" ] # [ doc = "\\return the calculated Great Circle Total Length." ] # [ doc = "" ] # [ doc = "\\sa gaiaEllipseParams, gaiaGreatCircleDistance, gaiaGeodesicDistance," ] # [ doc = "gaiaGeodesicTotalLength" ] # [ doc = "" ] # [ doc = "\\note the returned length is expressed in Kilometers." ] # [ doc = "\\n the Great Circle method is less accurate but fastest to be calculated." ] # [ doc = "\\n \\b dims, \\b coords and \\b vert are usually expected to correspond to" ] # [ doc = "\\b DimensionModel, \\b Coords and \\b Points members from a gaiaLinestringStruct" ] # [ doc = "or gaiaRingStruct" ] pub fn gaiaGreatCircleTotalLength ( a : f64 , b : f64 , dims : :: std :: os :: raw :: c_int , coords : * mut f64 , vert : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { # [ doc = "Calculates the Geodesic Total Length for a Linestring / Ring" ] # [ doc = "" ] # [ doc = "\\param a first geodesic parameter." ] # [ doc = "\\param b second geodesic parameter." ] # [ doc = "\\param rf third geodesic parameter." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_ZM" ] # [ doc = "\\param coords pointed to COORD mem-array" ] # [ doc = "\\param vert number of Points (aka Vertices) within the COORD mem-array" ] # [ doc = "" ] # [ doc = "\\return the calculated Geodesic Total Length." ] # [ doc = "" ] # [ doc = "\\sa gaiaEllipseParams, gaiaGreatCircleDistance, gaiaGeodesicDistance," ] # [ doc = "gaiaGreatCircleTotalLength" ] # [ doc = "" ] # [ doc = "\\note the returned length is expressed in Kilometers." ] # [ doc = "\\n the Geodesic method is much more accurate but slowest to be calculated." ] # [ doc = "\\n \\b dims, \\b coords and \\b vert are usually expected to correspond to" ] # [ doc = "\\b DimensionModel, \\b Coords and \\b Points members from a gaiaLinestringStruct" ] # [ doc = "or gaiaRingStruct" ] pub fn gaiaGeodesicTotalLength ( a : f64 , b : f64 , rf : f64 , dims : :: std :: os :: raw :: c_int , coords : * mut f64 , vert : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { # [ doc = "Convert a Length from a Measure Unit to another" ] # [ doc = "" ] # [ doc = "\\param value the length measure to be converted." ] # [ doc = "\\param unit_from original Measure Unit." ] # [ doc = "\\param unit_to converted Measure Unit." ] # [ doc = "\\param cvt on completion this variable will contain the converted length" ] # [ doc = "measure." ] # [ doc = "" ] # [ doc = "\\note supported Measu Units are: GAIA_KM, GAIA_M, GAIA_DM, GAIA_CM, GAIA_MM," ] # [ doc = "GAIA_KMI, GAIA_IN, GAIA_FT, GAIA_YD, GAIA_MI, GAIA_FATH, GAIC_CH, GAIA_LINK," ] # [ doc = "GAIA_US_IN, GAIA_US_FT, GAIA_US_YD, GAIA_US_CH, GAIA_US_MI, GAIA_IND_YD," ] # [ doc = "GAIA_IND_FT, GAIA_IND_CH" ] pub fn gaiaConvertLength ( value : f64 , unit_from : :: std :: os :: raw :: c_int , unit_to : :: std :: os :: raw :: c_int , cvt : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Creates a Circle (Linestring) Geometry" ] # [ doc = "" ] # [ doc = "\\param center_x center point X coordinate." ] # [ doc = "\\param center_y center point Y coordinate." ] # [ doc = "\\param radius the circle\'s radius." ] # [ doc = "\\param step angular distance (in degrees) between points on the circumference." ] # [ doc = "" ] # [ doc = "\\sa gaiaMakeArc, gaiaMakeEllipse, gaiaMakeEllipticArc" ] # [ doc = "" ] # [ doc = "\\note simply a convenience method defaulting to gaiaMakeEllipse" ] # [ doc = "with both axes set to radius value" ] pub fn gaiaMakeCircle ( center_x : f64 , center_y : f64 , radius : f64 , step : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates an Ellipse (Linestring) Geometry" ] # [ doc = "" ] # [ doc = "\\param center_x center point X coordinate." ] # [ doc = "\\param center_y center point Y coordinate." ] # [ doc = "\\param x_axis the ellipses\'s X axis." ] # [ doc = "\\param y_axis the ellipses\'s Y axis." ] # [ doc = "\\param step angular distance (in degrees) between points on the ellipse." ] # [ doc = "" ] # [ doc = "\\sa gaiaMakeEllipticArc, gaiaMakeCircle, gaiaMakeArc" ] pub fn gaiaMakeEllipse ( center_x : f64 , center_y : f64 , x_axis : f64 , y_axis : f64 , step : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates a Circular Arc (Linestring) Geometry" ] # [ doc = "" ] # [ doc = "\\param center_x center point X coordinate." ] # [ doc = "\\param center_y center point Y coordinate." ] # [ doc = "\\param radius the circle\'s radius." ] # [ doc = "\\param start the start angle (in degrees)." ] # [ doc = "\\param start the stop angle (in degrees)." ] # [ doc = "\\param step angular distance (in degrees) between points on the circumference." ] # [ doc = "" ] # [ doc = "\\sa gaiaMakeCircle, gaiaMakeEllipse, gaiaMakeEllipticArc" ] # [ doc = "" ] # [ doc = "\\note simply a convenience method defaulting to gaiaMakeEllipticArc" ] # [ doc = "with both axes set to radius value" ] pub fn gaiaMakeArc ( center_x : f64 , center_y : f64 , radius : f64 , start : f64 , stop : f64 , step : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates an Elliptic Arc (Linestring) Geometry" ] # [ doc = "" ] # [ doc = "\\param center_x center point X coordinate." ] # [ doc = "\\param center_y center point Y coordinate." ] # [ doc = "\\param x_axis the ellipses\'s X axis." ] # [ doc = "\\param y_axis the ellipses\'s Y axis." ] # [ doc = "\\param start the start angle (in degrees)." ] # [ doc = "\\param start the stop angle (in degrees)." ] # [ doc = "\\param step angular distance (in degrees) between points on the ellipse." ] # [ doc = "" ] # [ doc = "\\sa gaiaMakeCircle, gaiaMakeEllipse, gaiaMakeEllipticArc" ] pub fn gaiaMakeEllipticArc ( center_x : f64 , center_y : f64 , x_axis : f64 , y_axis : f64 , start : f64 , stop : f64 , step : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates a Polygon from closed Linestrings" ] # [ doc = "" ] # [ doc = "\\param exterior a closed Linestring assumed to represent the Exterior Ring." ] # [ doc = "\\param interiors one (or more than one) clsed Linestrings assumed to represent" ] # [ doc = "all Interior Rings (could be a Linstring or a MultiLinestring).\\n" ] # [ doc = "NULL if there are no Interior Rings at all." ] # [ doc = "" ] # [ doc = "\\sa gaiaPolygonize" ] # [ doc = "" ] # [ doc = "\\note this method will simply check if all the received Linestrings are" ] # [ doc = "closed, but it could possibly return an invalid Polygon if there is any" ] # [ doc = "topology inconsistency between the exterior and interior rings." ] # [ doc = "You are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaPolygonize()\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaMakePolygon ( exterior : gaiaGeomCollPtr , interiors : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Updates the actual MBR for a Linestring object" ] # [ doc = "" ] # [ doc = "\\param line pointer to the Linestring object" ] pub fn gaiaMbrLinestring ( line : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Updates the actual MBR for a Ring object" ] # [ doc = "" ] # [ doc = "\\param rng pointer to the Ring object" ] pub fn gaiaMbrRing ( rng : gaiaRingPtr ) ; } extern "C" { # [ doc = "Updates the actual MBR for a Polygon object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to the Polygon object" ] pub fn gaiaMbrPolygon ( polyg : gaiaPolygonPtr ) ; } extern "C" { # [ doc = "Updates the actual MBR for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object" ] pub fn gaiaMbrGeometry ( geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Retrieves the MBR (MinX) from a BLOB-Geometry object" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry." ] # [ doc = "\\param size the BLOB\'s size (in bytes)." ] # [ doc = "\\param minx on completion this variable will contain the MBR MinX coordinate." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetMbrMaxX, gaiaGetMbrMinY, gaiaGetMbrMaxY" ] pub fn gaiaGetMbrMinX ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint , minx : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Retrieves the MBR (MaxX) from a BLOB-Geometry object" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry." ] # [ doc = "\\param size the BLOB\'s size (in bytes)." ] # [ doc = "\\param maxx on completion this variable will contain the MBR MaxX coordinate." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetMbrMinX, gaiaGetMbrMinY, gaiaGetMbrMaxY" ] pub fn gaiaGetMbrMaxX ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint , maxx : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Retrieves the MBR (MinY) from a BLOB-Geometry object" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry." ] # [ doc = "\\param size the BLOB\'s size (in bytes)." ] # [ doc = "\\param miny on completion this variable will contain the MBR MinY coordinate." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetMbrMinX, gaiaGetMbrMaxX, gaiaGetMbrMaxY" ] pub fn gaiaGetMbrMinY ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint , miny : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Retrieves the MBR (MaxY) from a BLOB-Geometry object" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry." ] # [ doc = "\\param size the BLOB\'s size (in bytes)." ] # [ doc = "\\param maxy on completion this variable will contain the MBR MaxY coordinate." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetMbrMinX, gaiaGetMbrMaxX, gaiaGetMbrMinY" ] pub fn gaiaGetMbrMaxY ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint , maxy : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Creates a Geometry object corresponding to the Envelope [MBR] for a" ] # [ doc = "BLOB-Geometry" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry" ] # [ doc = "\\param size the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromSpatiaLiteBlobMbr ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "MBRs comparison: Contains" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 spatially \\e contains mbr2" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsDisjoint, gaiaMbrsEqual, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsTouches, gaiaMbrsWithin" ] pub fn gaiaMbrsContains ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Disjoint" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 and mbr2 are spatially \\e disjoint" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsEqual, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsTouches, gaiaMbrsWithin" ] pub fn gaiaMbrsDisjoint ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Equal" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 and mbr2 are spatially \\e equal" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsDisjoint, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsTouches, gaiaMbrsWithin" ] pub fn gaiaMbrsEqual ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Intersects" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 and mbr2 spatially \\e intersect" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsDisjoint, gaiaMbrsEqual," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsTouches, gaiaMbrsWithin" ] pub fn gaiaMbrsIntersects ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Overlaps" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 and mbr2 spatially \\e overlap" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsDisjoint, gaiaMbrsEqual, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsTouches, gaiaMbrsWithin" ] pub fn gaiaMbrsOverlaps ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Touches" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 and mbr2 spatially \\e touche" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsDisjoint, gaiaMbrsEqual, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsWithin" ] pub fn gaiaMbrsTouches ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "MBRs comparison: Within" ] # [ doc = "" ] # [ doc = "\\param mbr1 pointer to first Geometry object." ] # [ doc = "\\param mbr2 pointer to second Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if mbr1 is spatially \\e within mbr2" ] # [ doc = "" ] # [ doc = "\\sa gaiaMbrsContains, gaiaMbrsDisjoint, gaiaMbrsEqual, gaiaMbrsIntersects," ] # [ doc = "gaiaMbrsOverlaps, gaiaMbrsTouches" ] pub fn gaiaMbrsWithin ( mbr1 : gaiaGeomCollPtr , mbr2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing an Envelope [MBR]" ] # [ doc = "" ] # [ doc = "\\param x1 first X coordinate." ] # [ doc = "\\param y1 first Y coordinate." ] # [ doc = "\\param x2 second X coordinate." ] # [ doc = "\\param y2 second Y coordinate." ] # [ doc = "\\param srid the SRID associated to the Envelope" ] # [ doc = "\\param result on completion will contain a pointer to newly created" ] # [ doc = "BLOB-Geometry" ] # [ doc = "\\param size on completion this variabile will contain the BLOB\'s size (in" ] # [ doc = "bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaBuildCircleMbr" ] # [ doc = "" ] # [ doc = "\\note [XY] coords must define two extreme Points identifying a diagonal" ] # [ doc = "of the MBR [Envelope]" ] # [ doc = "\\n no special order is required for coords: MAX / MIN values will be" ] # [ doc = "internally arranged as appropriate." ] pub fn gaiaBuildMbr ( x1 : f64 , y1 : f64 , x2 : f64 , y2 : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing an Envelope [MBR]" ] # [ doc = "" ] # [ doc = "\\param x centre X coordinate." ] # [ doc = "\\param y centre Y coordinate." ] # [ doc = "\\param radius the radius of the circle" ] # [ doc = "\\param srid the SRID associated to the Envelope" ] # [ doc = "\\param result on completion will contain a pointer to newly created" ] # [ doc = "BLOB-Geometry" ] # [ doc = "\\param size on completion this variabile will contain the BLOB\'s size (in" ] # [ doc = "bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaBuildMbr" ] # [ doc = "" ] # [ doc = "\\note the \\e circle of givern \\e radius and \\e centre will be used so to" ] # [ doc = "determine the corresponding \\e square Envelope" ] pub fn gaiaBuildCircleMbr ( x : f64 , y : f64 , radius : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-FilterMBR" ] # [ doc = "" ] # [ doc = "\\param x1 first X coordinate." ] # [ doc = "\\param y1 first Y coordinate." ] # [ doc = "\\param x2 second X coordinate." ] # [ doc = "\\param y2 second Y coordinate." ] # [ doc = "\\param mode one of: GAIA_FILTER_MBR_WITHIN, GAIA_FILTER_MBR_CONTAINS," ] # [ doc = "GAIA_FILTER_MBR_INTERSECTS, GAIA_FILTER_MBR_DECLARE" ] # [ doc = "\\param result on completion will contain a pointer to newly created" ] # [ doc = "BLOB-FilterMBR" ] # [ doc = "\\param size on completion this variabile will contain the BLOB\'s size (in" ] # [ doc = "bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseFilterMbr" ] # [ doc = "" ] # [ doc = "\\note [XY] coords must define two extreme Points identifying a diagonal" ] # [ doc = "of the MBR [Envelope]" ] # [ doc = "\\n no special order is required for coords: MAX / MIN values will be" ] # [ doc = "internally arranged as appropriate." ] # [ doc = "" ] # [ doc = "\\remark internally used to implement Geometry Callback R*Tree filtering." ] pub fn gaiaBuildFilterMbr ( x1 : f64 , y1 : f64 , x2 : f64 , y2 : f64 , mode : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-FilterMBR" ] # [ doc = "" ] # [ doc = "\\param result pointer to BLOB-FilterMBR [previously created by" ] # [ doc = "gaiaBuildFilterMbr]" ] # [ doc = "BLOB-Geometry" ] # [ doc = "\\param size BLOB\'s size (in bytes)" ] # [ doc = "\\param minx on completion this variable will contain the MBR MinX coord." ] # [ doc = "\\param miny on completion this variable will contain the MBR MinY coord." ] # [ doc = "\\param maxx on completion this variable will contain the MBR MinY coord." ] # [ doc = "\\param maxy on completion this variable will contain the MBR MaxY coord." ] # [ doc = "\\param mode on completion this variable will contain the FilterMBR mode." ] # [ doc = "" ] # [ doc = "\\sa gaiaBuildFilterMbr" ] # [ doc = "" ] # [ doc = "\\remark internally used to implement Geometry Callback R*Tree filtering." ] pub fn gaiaParseFilterMbr ( result : * mut :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , minx : * mut f64 , miny : * mut f64 , maxx : * mut f64 , maxy : * mut f64 , mode : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Computes the Z-Range for a Linestring object" ] # [ doc = "" ] # [ doc = "\\param line pointer to the Linestring object" ] # [ doc = "\\param min on completion this variable will contain the min Z value found" ] # [ doc = "\\param max on completion this variable will contain the max Z value found" ] # [ doc = "" ] # [ doc = "\\note if the Linestring has XY or XYM dims, the Z-Range is meaningless" ] pub fn gaiaZRangeLinestring ( line : gaiaLinestringPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the Z-Range for a Ring object" ] # [ doc = "" ] # [ doc = "\\param rng pointer to the Ring object" ] # [ doc = "\\param min on completion this variable will contain the min Z value found" ] # [ doc = "\\param max on completion this variable will contain the max Z value found" ] # [ doc = "" ] # [ doc = "\\note if the Ring has XY or XYM dims, the Z-Range is meaningless" ] pub fn gaiaZRangeRing ( rng : gaiaRingPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the Z-Range for a Polygon object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to the Polygon object" ] # [ doc = "\\param min on completion this variable will contain the min Z value found" ] # [ doc = "\\param max on completion this variable will contain the max Z value found" ] # [ doc = "" ] # [ doc = "\\note if the Polygon has XY or XYM dims, the Z-Range is meaningless" ] pub fn gaiaZRangePolygon ( polyg : gaiaPolygonPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the Z-Range for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object" ] # [ doc = "\\param min on completion this variable will contain the min Z value found" ] # [ doc = "\\param max on completion this variable will contain the max Z value found" ] # [ doc = "" ] # [ doc = "\\note if the Geometry has XY or XYM dims, the Z-Range is meaningless" ] pub fn gaiaZRangeGeometry ( geom : gaiaGeomCollPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the M-Range for a Linestring object" ] # [ doc = "" ] # [ doc = "\\param line pointer to the Linestring object" ] # [ doc = "\\param min on completion this variable will contain the min M value found" ] # [ doc = "\\param max on completion this variable will contain the max M value found" ] # [ doc = "" ] # [ doc = "\\note if the Linestring has XY or XYZ dims, the M-Range is meaningless" ] pub fn gaiaMRangeLinestring ( line : gaiaLinestringPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the M-Range for a Ring object" ] # [ doc = "" ] # [ doc = "\\param rng pointer to the Ring object" ] # [ doc = "\\param min on completion this variable will contain the min M value found" ] # [ doc = "\\param max on completion this variable will contain the max M value found" ] # [ doc = "" ] # [ doc = "\\note if the Ring has XY or XYZ dims, the M-Range is meaningless" ] pub fn gaiaMRangeRing ( rng : gaiaRingPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the M-Range for a Polygon object" ] # [ doc = "" ] # [ doc = "\\param polyg pointer to the Polygon object" ] # [ doc = "\\param min on completion this variable will contain the min M value found" ] # [ doc = "\\param max on completion this variable will contain the max M value found" ] # [ doc = "" ] # [ doc = "\\note if the Polygon has XY or XYZ dims, the M-Range is meaningless" ] pub fn gaiaMRangePolygon ( polyg : gaiaPolygonPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Computes the Z-Range for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object" ] # [ doc = "\\param min on completion this variable will contain the min M value found" ] # [ doc = "\\param max on completion this variable will contain the max M value found" ] # [ doc = "" ] # [ doc = "\\note if the Geometry has XY or XYZ dims, the M-Range is meaningless" ] pub fn gaiaMRangeGeometry ( geom : gaiaGeomCollPtr , min : * mut f64 , max : * mut f64 ) ; } extern "C" { # [ doc = "Test CPU endianness" ] # [ doc = "" ] # [ doc = "\\return 0 if big-endian: any other value if little-endian" ] pub fn gaiaEndianArch ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Import an INT-16 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal SHORT value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExport16" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 2 bytes." ] pub fn gaiaImport16 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_short ; } extern "C" { # [ doc = "Import an INT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal INT value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExport32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaImport32 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Import an UINT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal UINT value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExportU32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaImportU32 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_uint ; } extern "C" { # [ doc = "Import a FLOAT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal FLOAT value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExportF32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaImportF32 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { # [ doc = "Import an DOUBLE-64 in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal DOUBLE value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExport64" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 8 bytes." ] pub fn gaiaImport64 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { # [ doc = "Import an INT-64 in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (input buffer)." ] # [ doc = "\\param little_endian 0 if the input buffer is big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\return the internal INT-64 value" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaExportI64" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an input buffer corresponding to an" ] # [ doc = "allocation size of (at least) 8 bytes." ] pub fn gaiaImportI64 ( p : * const :: std :: os :: raw :: c_uchar , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) -> sqlite3_int64 ; } extern "C" { # [ doc = "Export an INT-16 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImport16" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 2 bytes." ] pub fn gaiaExport16 ( p : * mut :: std :: os :: raw :: c_uchar , value : :: std :: os :: raw :: c_short , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Export an INT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImport32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaExport32 ( p : * mut :: std :: os :: raw :: c_uchar , value : :: std :: os :: raw :: c_int , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Export an UINT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImportU32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaExportU32 ( p : * mut :: std :: os :: raw :: c_uchar , value : :: std :: os :: raw :: c_uint , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Export a FLOAT-32 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImportF32" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 4 bytes." ] pub fn gaiaExportF32 ( p : * mut :: std :: os :: raw :: c_uchar , value : f32 , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Export a DOUBLE value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImport64" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 8 bytes." ] pub fn gaiaExport64 ( p : * mut :: std :: os :: raw :: c_uchar , value : f64 , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Export an INT-64 value in endian-aware fashion" ] # [ doc = "" ] # [ doc = "\\param p endian-dependent representation (output buffer)." ] # [ doc = "\\param value the internal value to be exported." ] # [ doc = "\\param little_endian 0 if the output buffer has to be big-endian: any other value" ] # [ doc = "for little-endian." ] # [ doc = "\\param little_endian_arch the value returned by gaiaEndianArch()" ] # [ doc = "" ] # [ doc = "\\sa gaiaEndianArch, gaiaImportI64" ] # [ doc = "" ] # [ doc = "\\note you are expected to pass an output buffer corresponding to an" ] # [ doc = "allocation size of (at least) 8 bytes." ] pub fn gaiaExportI64 ( p : * mut :: std :: os :: raw :: c_uchar , value : sqlite3_int64 , little_endian : :: std :: os :: raw :: c_int , little_endian_arch : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Initializes a dynamically growing Text output buffer" ] # [ doc = "" ] # [ doc = "\\param buf pointer to gaiaOutBufferStruct structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutBufferReset, gaiaAppendToOutBuffer" ] # [ doc = "" ] # [ doc = "\\note Text notations representing Geometry objects may easily require" ] # [ doc = "a huge storage amount: the gaiaOutBufferStruct automatically supports" ] # [ doc = "a dynamically growing output buffer." ] # [ doc = "\\n You are required to initialize this structure before attempting" ] # [ doc = "any further operation;" ] # [ doc = "and you are responsible to cleanup any related memory allocation" ] # [ doc = "when it\'s any longer required." ] pub fn gaiaOutBufferInitialize ( buf : gaiaOutBufferPtr ) ; } extern "C" { # [ doc = "Resets a dynamically growing Text output buffer to its initial (empty) state" ] # [ doc = "" ] # [ doc = "\\param buf pointer to gaiaOutBufferStruct structure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutBufferInitialize, gaiaAppendToOutBuffer" ] # [ doc = "" ] # [ doc = "\\note You are required to initialize this structure before attempting" ] # [ doc = "any further operation:" ] # [ doc = "this function will release any related memory allocation." ] pub fn gaiaOutBufferReset ( buf : gaiaOutBufferPtr ) ; } extern "C" { # [ doc = "Appends a text string at the end of Text output buffer" ] # [ doc = "" ] # [ doc = "\\param buf pointer to gaiaOutBufferStruct structure." ] # [ doc = "\\param text the text string to be appended." ] # [ doc = "" ] # [ doc = "\\sa gaiaOutBufferInitialize, gaiaOutBufferReset" ] # [ doc = "" ] # [ doc = "\\note You are required to initialize this structure before attempting" ] # [ doc = "any further operation:" ] # [ doc = "the dynamically growing Text buffer will be automatically allocated" ] # [ doc = "and/or extended as required." ] pub fn gaiaAppendToOutBuffer ( buf : gaiaOutBufferPtr , text : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing a Point" ] # [ doc = "" ] # [ doc = "\\param x Point X coordinate." ] # [ doc = "\\param y Point Y coordinate." ] # [ doc = "\\param srid the SRID to be set for the Point." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaMakePoint ( x : f64 , y : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing a PointZ" ] # [ doc = "" ] # [ doc = "\\param x Point X coordinate." ] # [ doc = "\\param y Point Y coordinate." ] # [ doc = "\\param z Point Z coordinate." ] # [ doc = "\\param srid the SRID to be set for the Point." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaMakePointZ ( x : f64 , y : f64 , z : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing a PointM" ] # [ doc = "" ] # [ doc = "\\param x Point X coordinate." ] # [ doc = "\\param y Point Y coordinate." ] # [ doc = "\\param m Point M coordinate." ] # [ doc = "\\param srid the SRID to be set for the Point." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaMakePointM ( x : f64 , y : f64 , m : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing a PointZM" ] # [ doc = "" ] # [ doc = "\\param x Point X coordinate." ] # [ doc = "\\param y Point Y coordinate." ] # [ doc = "\\param z Point Z coordinate." ] # [ doc = "\\param m Point M coordinate." ] # [ doc = "\\param srid the SRID to be set for the Point." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaMakePointZM ( x : f64 , y : f64 , z : f64 , m : f64 , srid : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry representing a Segment (2-Points Linestring)" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first Geometry object (expected to represent a Point)." ] # [ doc = "\\param geom2 pointer to second Geometry object (expected to represent a Point)." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaMakeLine ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from the corresponding BLOB-Geometry" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry" ] # [ doc = "\\param size the BLOB\'s size" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb," ] # [ doc = "gaiaFromSpatiaLiteBlobWkbEx" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromSpatiaLiteBlobWkb ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates a Geometry object from the corresponding BLOB-Geometry" ] # [ doc = "" ] # [ doc = "\\param blob pointer to BLOB-Geometry" ] # [ doc = "\\param size the BLOB\'s size" ] # [ doc = "\\param gpkg_mode is set to TRUE will accept only GPKG Geometry-BLOBs" ] # [ doc = "\\param gpkg_amphibious is set to TRUE will indifferenctly accept" ] # [ doc = "either SpatiaLite Geometry-BLOBs or GPKG Geometry-BLOBs" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromSpatiaLiteBlobWkbEx ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint , gpkg_mode : :: std :: os :: raw :: c_int , gpkg_amphibious : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates a BLOB-Geometry corresponding to a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToSpatiaLiteBlobWkb ( geom : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a BLOB-Geometry corresponding to a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object." ] # [ doc = "\\param result on completion will containt a pointer to BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "\\param gpkg_mode is set to TRUE will always return GPKG Geometry-BLOBs" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToSpatiaLiteBlobWkbEx ( geom : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int , gpkg_mode : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Compressed BLOB-Geometry corresponding to a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object." ] # [ doc = "\\param result on completion will containt a pointer to Compressed BLOB-Geometry:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromSpatiaLiteBlobWkb, gaiaToSpatiaLiteBlobWkb" ] # [ doc = "" ] # [ doc = "\\note this function will apply compression to any Linestring / Ring found" ] # [ doc = "within the Geometry to be encoded." ] # [ doc = "\\n the returned BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToCompressedBlobWkb ( geom : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from WKB notation" ] # [ doc = "" ] # [ doc = "\\param blob pointer to WKB buffer" ] # [ doc = "\\param size the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaToWkb, gaiaToHexWkb, gaiaFromEWKB, gaiaToEWKB" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromWkb ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into WKB notation" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param result on completion will containt a pointer to the WKB buffer [BLOB]:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromWkb, gaiaToHexWkb, gaiaFromEWKB, gaiaToEWKB" ] # [ doc = "" ] # [ doc = "\\note this function will apply 3D WKB encoding as internally intended by" ] # [ doc = "SpatiaLite: not necessarily intended by other OGC-like implementations." ] # [ doc = "\\n Anyway, 2D WKB is surely standard and safely interoperable." ] # [ doc = "\\n the returned BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToWkb ( geom : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a Geometry object into (hex) WKB notation" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to a text buffer containing WKB translated into plain" ] # [ doc = "hexadecimal: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaFromWkb, gaiaToWkb, gaiaFromEWKB, gaiaToEWKB" ] # [ doc = "" ] # [ doc = "\\note the returned buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToHexWkb ( geom : gaiaGeomCollPtr ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Encodes a Geometry object into EWKB notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromWkb, gaiaToWkb, gaiaToHexWkb, gaiaFromEWKB, gaiaToEWKB" ] # [ doc = "" ] # [ doc = "\\note this function will produce strictly conformat EWKB; you can" ] # [ doc = "safely use this for PostGIS data exchange." ] pub fn gaiaToEWKB ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Creates a Geometry object from EWKB notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to EWKB buffer" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaToWkb, gaiaToHexWkb, gaiaParseHexEWKB, gaiaToEWKB, gaiaEwkbGetPoint," ] # [ doc = "gaiaEwkbGetLinestring, gaiaEwkbGetPolygon, gaiaEwkbGetMultiGeometry" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromEWKB ( in_buffer : * const :: std :: os :: raw :: c_uchar ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Translates an EWKB notation from hexadecimal into binary" ] # [ doc = "" ] # [ doc = "\\param blob_hex pointer to EWKB input buffer (hexadecimal text string)" ] # [ doc = "\\param blob_size lenght (in bytes) of the input buffer; if succesfull will" ] # [ doc = "contain the lenght of the returned output buffer." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created EWKB binary buffer: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaToWkb, gaiaToHexWkb, gaiaFromEWKB, gaiaToEWKB" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any buffer allocated by" ] # [ doc = "gaiaParseHexEWKB()" ] pub fn gaiaParseHexEWKB ( blob_hex : * const :: std :: os :: raw :: c_uchar , blob_size : * mut :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_uchar ; } extern "C" { # [ doc = "Attempts to decode a Point from within an EWKB binary buffer" ] # [ doc = "" ] # [ doc = "\\param geom pointer to an existing Geometry object; if succesfull the parsed Point" ] # [ doc = "will be inserted into this Geometry" ] # [ doc = "\\param blob pointer to EWKB input buffer" ] # [ doc = "\\param offset the offset (in bytes) on the input buffer where the Point definition is expected to start." ] # [ doc = "\\param blob_size lenght (in bytes) of the input buffer." ] # [ doc = "\\param endian (boolean) states if the EWKB input buffer is little- or big-endian encode." ] # [ doc = "\\param endian_arch (boolean) states if the target CPU has a little- or big-endian architecture." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_Z_M" ] # [ doc = "" ] # [ doc = "\\return -1 on failure; otherwise the offset where the next object starts." ] # [ doc = "" ] # [ doc = "\\sa gaiaEwkbGetLinestring, gaiaEwkbGetPolygon, gaiaEwkbGetMultiGeometry" ] # [ doc = "" ] # [ doc = "\\note these functions are mainly intended for internal usage." ] pub fn gaiaEwkbGetPoint ( geom : gaiaGeomCollPtr , blob : * mut :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , blob_size : :: std :: os :: raw :: c_int , endian : :: std :: os :: raw :: c_int , endian_arch : :: std :: os :: raw :: c_int , dims : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Attempts to decode a Point from within an EWKB binary buffer" ] # [ doc = "" ] # [ doc = "\\param geom pointer to an existing Geometry object; if succesfull the parsed Linestring" ] # [ doc = "will be inserted into this Geometry" ] # [ doc = "\\param blob pointer to EWKB input buffer" ] # [ doc = "\\param offset the offset (in bytes) on the input buffer where the Point definition is expected to start." ] # [ doc = "\\param blob_size lenght (in bytes) of the input buffer." ] # [ doc = "\\param endian (boolean) states if the EWKB input buffer is little- or big-endian encode." ] # [ doc = "\\param endian_arch (boolean) states if the target CPU has a little- or big-endian architecture." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_Z_M" ] # [ doc = "" ] # [ doc = "\\return -1 on failure; otherwise the offset where the next object starts." ] # [ doc = "" ] # [ doc = "\\sa gaiaEwkbGetPoint, gaiaEwkbGetPolygon, gaiaEwkbGetMultiGeometry" ] # [ doc = "" ] # [ doc = "\\note these functions are mainly intended for internal usage." ] pub fn gaiaEwkbGetLinestring ( geom : gaiaGeomCollPtr , blob : * mut :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , blob_size : :: std :: os :: raw :: c_int , endian : :: std :: os :: raw :: c_int , endian_arch : :: std :: os :: raw :: c_int , dims : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Attempts to decode a Polygon from within an EWKB binary buffer" ] # [ doc = "" ] # [ doc = "\\param geom pointer to an existing Geometry object; if succesfull the parsed Polygon" ] # [ doc = "will be inserted into this Geometry" ] # [ doc = "\\param blob pointer to EWKB input buffer" ] # [ doc = "\\param offset the offset (in bytes) on the input buffer where the Point definition is expected to start." ] # [ doc = "\\param blob_size lenght (in bytes) of the input buffer." ] # [ doc = "\\param endian (boolean) states if the EWKB input buffer is little- or big-endian encode." ] # [ doc = "\\param endian_arch (boolean) states if the target CPU has a little- or big-endian architecture." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_Z_M" ] # [ doc = "" ] # [ doc = "\\return -1 on failure; otherwise the offset where the next object starts." ] # [ doc = "" ] # [ doc = "\\sa gaiaEwkbGetPoint, gaiaEwkbGetPolygon, gaiaEwkbGetMultiGeometry" ] pub fn gaiaEwkbGetPolygon ( geom : gaiaGeomCollPtr , blob : * mut :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , blob_size : :: std :: os :: raw :: c_int , endian : :: std :: os :: raw :: c_int , endian_arch : :: std :: os :: raw :: c_int , dims : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Attempts to decode a MultiGeometry from within an EWKB binary buffer" ] # [ doc = "" ] # [ doc = "\\param geom pointer to an existing Geometry object; if succesfull the parsed MultiGeometry" ] # [ doc = "will be inserted into this Geometry" ] # [ doc = "\\param blob pointer to EWKB input buffer" ] # [ doc = "\\param offset the offset (in bytes) on the input buffer where the Point definition is expected to start." ] # [ doc = "\\param blob_size lenght (in bytes) of the input buffer." ] # [ doc = "\\param endian (boolean) states if the EWKB input buffer is little- or big-endian encode." ] # [ doc = "\\param endian_arch (boolean) states if the target CPU has a little- or big-endian architecture." ] # [ doc = "\\param dims dimensions: one of GAIA_XY, GAIA_XY_Z, GAIA_XY_M or GAIA_XY_Z_M" ] # [ doc = "" ] # [ doc = "\\return -1 on failure; otherwise the offset where the next object starts." ] # [ doc = "" ] # [ doc = "\\sa gaiaEwkbGetPoint, gaiaEwkbGetLinestring, gaiaEwkbGetPolygon" ] # [ doc = "" ] # [ doc = "\\note these functions are mainly intended for internal usage." ] pub fn gaiaEwkbGetMultiGeometry ( geom : gaiaGeomCollPtr , blob : * mut :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , blob_size : :: std :: os :: raw :: c_int , endian : :: std :: os :: raw :: c_int , endian_arch : :: std :: os :: raw :: c_int , dims : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Creates a Geometry object from FGF notation" ] # [ doc = "" ] # [ doc = "\\param blob pointer to FGF buffer" ] # [ doc = "\\param size the BLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaToFgf" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaFromFgf ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_uint ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into FGF notation" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param result on completion will containt a pointer to the FGF buffer [BLOB]:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)" ] # [ doc = "\\param coord_dims one of: GAIA_XY, GAIA_XY_Z, GAIA_XY_M, GAIA_XY_ZM" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromFgf" ] # [ doc = "" ] # [ doc = "\\note the returned BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaToFgf ( geom : gaiaGeomCollPtr , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int , coord_dims : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from WKT notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to WKT buffer" ] # [ doc = "\\param type the expected Geometry Class Type" ] # [ doc = "\\n if actual type defined in WKT doesn\'t corresponds to this, an error will" ] # [ doc = "be raised." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaParseWkt ( in_buffer : * const :: std :: os :: raw :: c_uchar , type_ : :: std :: os :: raw :: c_short ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into WKT notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT," ] # [ doc = "gaiaOutWktEx" ] # [ doc = "" ] # [ doc = "\\note this function will apply 3D WKT encoding as internally intended by" ] # [ doc = "SpatiaLite: not necessarily intended by other OGC-like implementations." ] # [ doc = "\\n Anyway, 2D WKT is surely standard and safely interoperable." ] pub fn gaiaOutWkt ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Encodes a Geometry object into WKT notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT" ] # [ doc = "" ] # [ doc = "\\note this function will apply 3D WKT encoding as internally intended by" ] # [ doc = "SpatiaLite: not necessarily intended by other OGC-like implementations." ] # [ doc = "\\n Anyway, 2D WKT is surely standard and safely interoperable." ] pub fn gaiaOutWktEx ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a Geometry object into strict 2D WKT notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseWkt, gaiaOutWkt, gaiaParseEWKT, gaiaToEWKT" ] # [ doc = "" ] # [ doc = "\\note this function will apply strict 2D WKT encoding, so to be surely" ] # [ doc = "standard and safely interoperable." ] # [ doc = "\\n Dimensions will be automatically casted to 2D [XY] when required." ] pub fn gaiaOutWktStrict ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from EWKT notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to EWKT buffer" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseWkt, gaiaOutWkt, gaiaOutWktStrict, gaiaToEWKT" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaParseEWKT ( in_buffer : * const :: std :: os :: raw :: c_uchar ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into EWKT notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseWkt, gaiaOutWkt, gaiaOutWktStrict, gaiaParseEWKT" ] # [ doc = "" ] # [ doc = "\\note this function will apply PostGIS own EWKT encoding." ] pub fn gaiaToEWKT ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Point [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param point pointer to Point object" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutLinestringZ, gaiaOutPolygonZ, gaiaOutPointZex" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutPointZ ( out_buf : gaiaOutBufferPtr , point : gaiaPointPtr ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Point [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param point pointer to Point object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutLinestringZ, gaiaOutPolygonZ" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutPointZex ( out_buf : gaiaOutBufferPtr , point : gaiaPointPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Linestring [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param linestring pointer to Linestring object" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutPointZ, gaiaOutPolygonZ, gaiaOutLinestringZex" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutLinestringZ ( out_buf : gaiaOutBufferPtr , linestring : gaiaLinestringPtr ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Linestring [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param linestring pointer to Linestring object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutPointZ, gaiaOutPolygonZ" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutLinestringZex ( out_buf : gaiaOutBufferPtr , linestring : gaiaLinestringPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Polygon [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param polygon pointer to Point object" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutPointZ, gaiaOutLinestringZ, gaiaOutPolygonZex" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutPolygonZ ( out_buf : gaiaOutBufferPtr , polygon : gaiaPolygonPtr ) ; } extern "C" { # [ doc = "Encodes a WKT 3D Polygon [XYZ]" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param polygon pointer to Point object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutPointZ, gaiaOutLinestringZ" ] # [ doc = "" ] # [ doc = "\\remark mainly intended for internal usage." ] pub fn gaiaOutPolygonZex ( out_buf : gaiaOutBufferPtr , polygon : gaiaPolygonPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from KML notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to KML buffer" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutBareKml, gaiaOutFullKml" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaParseKml ( in_buffer : * const :: std :: os :: raw :: c_uchar ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into KML notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseKml, gaiaOutFullKml" ] # [ doc = "" ] # [ doc = "\\note this function will export the simplest KML notation (no descriptions)." ] pub fn gaiaOutBareKml ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a Geometry object into KML notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param name text string to be set as KML \\e name" ] # [ doc = "\\param desc text string to se set as KML \\e description" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseKml, gaiaOutBareKml" ] # [ doc = "" ] # [ doc = "\\note this function will export the simplest KML notation (no descriptions)." ] pub fn gaiaOutFullKml ( out_buf : gaiaOutBufferPtr , name : * const :: std :: os :: raw :: c_char , desc : * const :: std :: os :: raw :: c_char , geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a Geometry object from GML notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to GML buffer" ] # [ doc = "\\param sqlite_handle handle to current DB connection" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseGml_r, gaiaOutGml" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object.\\n" ] # [ doc = "not reentrant and thread unsafe." ] pub fn gaiaParseGml ( in_buffer : * const :: std :: os :: raw :: c_uchar , sqlite_handle : * mut sqlite3 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Creates a Geometry object from GML notation" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param in_buffer pointer to GML buffer" ] # [ doc = "\\param sqlite_handle handle to current DB connection" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseGml, gaiaOutGml" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object.\\n" ] # [ doc = "reentrant and thread-safe." ] pub fn gaiaParseGml_r ( p_cache : * const :: std :: os :: raw :: c_void , in_buffer : * const :: std :: os :: raw :: c_uchar , sqlite_handle : * mut sqlite3 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into GML notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param version GML version" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseGml" ] # [ doc = "" ] # [ doc = "\\note if \\e version is set to \\b 3, then GMLv3 will be used;" ] # [ doc = "in any other case GMLv2 will be assumed by default." ] pub fn gaiaOutGml ( out_buf : gaiaOutBufferPtr , version : :: std :: os :: raw :: c_int , precision : :: std :: os :: raw :: c_int , geom : gaiaGeomCollPtr ) ; } extern "C" { # [ doc = "Creates a Geometry object from GeoJSON notation" ] # [ doc = "" ] # [ doc = "\\param in_buffer pointer to GeoJSON buffer" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaOutGeoJSON" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "unless you\'ve passed ownership of the Geometry object to some further object:" ] # [ doc = "in this case destroying the higher order object will implicitly destroy any" ] # [ doc = "contained child object." ] pub fn gaiaParseGeoJSON ( in_buffer : * const :: std :: os :: raw :: c_uchar ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Encodes a Geometry object into GeoJSON notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "\\param options GeoJSON specific options" ] # [ doc = "" ] # [ doc = "\\sa gaiaParseGeoJSON" ] # [ doc = "" ] # [ doc = "\\note \\e options can assume the following values:" ] # [ doc = "\\li 1 = BBOX, no CRS" ] # [ doc = "\\li 2 = no BBOX, short form CRS" ] # [ doc = "\\li 3 = BBOX, short form CRS" ] # [ doc = "\\li 4 = no BBOX, long form CRS" ] # [ doc = "\\li 5 = BBOX, long form CRS" ] # [ doc = "\\li any other value: no BBOX and no CRS" ] pub fn gaiaOutGeoJSON ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int , options : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Encodes a Geometry object into SVG notation" ] # [ doc = "" ] # [ doc = "\\param out_buf pointer to dynamically growing Text buffer" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param relative flag: relative or absolute coordinates" ] # [ doc = "\\param precision decimal digits to be used for coordinates" ] # [ doc = "" ] # [ doc = "\\note if \\e relative is set to \\b 1, then SVG relative coords will be used:" ] # [ doc = "in any other case SVG absolute coords will be assumed by default." ] pub fn gaiaOutSvg ( out_buf : gaiaOutBufferPtr , geom : gaiaGeomCollPtr , relative : :: std :: os :: raw :: c_int , precision : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Allocates a new DBF Field Value object [duplicating an existing one]" ] # [ doc = "" ] # [ doc = "\\param org pointer to input DBF Field Value object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF Field object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField, gaiaCloneValue," ] # [ doc = "gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaCloneValue ( org : gaiaValuePtr ) -> gaiaValuePtr ; } extern "C" { # [ doc = "Resets a DBF Field Value object to its initial empty state" ] # [ doc = "" ] # [ doc = "\\param p pointer to DBF Field Value object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaCloneDbfField, gaiaCloneValue," ] # [ doc = "gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue, gaiaResetDbfEntity" ] pub fn gaiaFreeValue ( p : gaiaValuePtr ) ; } extern "C" { # [ doc = "Allocates a new DBF Field object" ] # [ doc = "" ] # [ doc = "\\param name text string: DBF Field name." ] # [ doc = "\\param type identifier of the corresponding DBF data type." ] # [ doc = "\\param offset corresponding offset into the DBF I/O buffer." ] # [ doc = "\\param length max field length (in bytes)." ] # [ doc = "\\param decimals precision: number of decimal digits." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF Field object." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeDbfField, gaiaCloneDbfField, gaiaFreeValue," ] # [ doc = "gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated DBF Field," ] # [ doc = "unless you\'ve passed ownership to some further object: in this case destroying  the higher order object will implicitly destroy any contained child object." ] # [ doc = "\\n supported DBF data types are:" ] # [ doc = "\\li \'C\' text string [default]" ] # [ doc = "\\li \'N\' numeric" ] # [ doc = "\\li \'D\' date" ] # [ doc = "\\li \'L\' boolean" ] pub fn gaiaAllocDbfField ( name : * mut :: std :: os :: raw :: c_char , type_ : :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_uchar , decimals : :: std :: os :: raw :: c_uchar ) -> gaiaDbfFieldPtr ; } extern "C" { # [ doc = "Destroys a DBF Field object" ] # [ doc = "" ] # [ doc = "\\param p pointer to DBF Field object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaCloneDbfField, gaiaCloneValue," ] # [ doc = "gaiaFreeValue, gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] pub fn gaiaFreeDbfField ( p : gaiaDbfFieldPtr ) ; } extern "C" { # [ doc = "Allocates a new DBF Field object [duplicating an existing one]" ] # [ doc = "" ] # [ doc = "\\param org pointer to input DBF Field object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF Field object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField," ] # [ doc = "gaiaFreeValue, gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one" ] # [ doc = "[this including an evantual Field Value]." ] pub fn gaiaCloneDbfField ( org : gaiaDbfFieldPtr ) -> gaiaDbfFieldPtr ; } extern "C" { # [ doc = "Sets a NULL current value for a DBF Field object" ] # [ doc = "" ] # [ doc = "\\param field pointer to DBF Field object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField," ] # [ doc = "gaiaFreeValue, gaiaSetIntValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] pub fn gaiaSetNullValue ( field : gaiaDbfFieldPtr ) ; } extern "C" { # [ doc = "Sets an INTEGER current value for a DBF Field object" ] # [ doc = "" ] # [ doc = "\\param field pointer to DBF Field object." ] # [ doc = "\\param value integer value to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField," ] # [ doc = "gaiaFreeValue, gaiaSetNullValue, gaiaSetDoubleValue," ] # [ doc = "gaiaSetStrValue" ] pub fn gaiaSetIntValue ( field : gaiaDbfFieldPtr , value : sqlite3_int64 ) ; } extern "C" { # [ doc = "Sets a DOUBLE current value for a DBF Field object" ] # [ doc = "" ] # [ doc = "\\param field pointer to DBF Field object." ] # [ doc = "\\param value double value to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField," ] # [ doc = "gaiaFreeValue, gaiaSetNullValue, gaiaSetIntValue, gaiaSetStrValue" ] pub fn gaiaSetDoubleValue ( field : gaiaDbfFieldPtr , value : f64 ) ; } extern "C" { # [ doc = "Sets a TEXT current value for a DBF Field object" ] # [ doc = "" ] # [ doc = "\\param field pointer to DBF Field object." ] # [ doc = "\\param str text string value to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField, gaiaFreeDbfField, gaiaCloneDbfField," ] # [ doc = "gaiaFreeValue, gaiaSetNullValue, gaiaSetIntValue, gaiaSetDoubleValue" ] pub fn gaiaSetStrValue ( field : gaiaDbfFieldPtr , str : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Creates an initially empty DBF List object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly allocated DBF List object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeDbfList, gaiaIsValidDbfList," ] # [ doc = "gaiaResetDbfEntity, gaiaCloneDbfEntity, gaiaAddDbfField" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated DBF List," ] # [ doc = "unless you\'ve passed ownership to some further object: in this case destroying" ] # [ doc = "the higher order object will implicitly destroy any contained child object." ] pub fn gaiaAllocDbfList ( ) -> gaiaDbfListPtr ; } extern "C" { # [ doc = "Destroys a DBF List object" ] # [ doc = "" ] # [ doc = "\\param list pointer to the DBF List object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfList, gaiaIsValidDbfList," ] # [ doc = "gaiaResetDbfEntity, gaiaCloneDbfEntity, gaiaAddDbfField" ] # [ doc = "" ] # [ doc = "\\note attempting to destroy any DBF List object whose ownnership has already" ] # [ doc = "been transferred to some other (higher order) object is a serious error," ] # [ doc = "and will easily cause severe memory corruption." ] pub fn gaiaFreeDbfList ( list : gaiaDbfListPtr ) ; } extern "C" { # [ doc = "Checks a DBF List object for validity" ] # [ doc = "" ] # [ doc = "\\param list pointer to the DBF List object." ] # [ doc = "" ] # [ doc = "\\return 0 if not valid: any other value if valid." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfList, gaiaFreeDbfList, gaiaIsValidDbfList," ] # [ doc = "gaiaResetDbfEntity, gaiaCloneDbfEntity, gaiaAddDbfField" ] pub fn gaiaIsValidDbfList ( list : gaiaDbfListPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Inserts a further DBF Field object into a DBF List object" ] # [ doc = "" ] # [ doc = "\\param list pointer to the DBF List object." ] # [ doc = "\\param name text string: DBF Field name." ] # [ doc = "\\param type identifier of the corresponding DBF data type." ] # [ doc = "\\param offset corresponding offset into the DBF I/O buffer." ] # [ doc = "\\param length max field length (in bytes)." ] # [ doc = "\\param decimals precision: number of decimal digits." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF Field object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbfField" ] # [ doc = "" ] # [ doc = "\\note supported DBF data types are:" ] # [ doc = "\\li \'C\' text string [default]" ] # [ doc = "\\li \'N\' numeric" ] # [ doc = "\\li \'D\' date" ] # [ doc = "\\li \'L\' boolean" ] pub fn gaiaAddDbfField ( list : gaiaDbfListPtr , name : * mut :: std :: os :: raw :: c_char , type_ : :: std :: os :: raw :: c_uchar , offset : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_uchar , decimals : :: std :: os :: raw :: c_uchar ) -> gaiaDbfFieldPtr ; } extern "C" { # [ doc = "Resets a DBF List object to its initial empty state" ] # [ doc = "" ] # [ doc = "\\param list pointer to the DBF List object." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeValue" ] # [ doc = "" ] # [ doc = "\\note any DBF Field associated to the List object will be reset to its" ] # [ doc = "initial empty state (i.e. \\e no \\e value at all)." ] pub fn gaiaResetDbfEntity ( list : gaiaDbfListPtr ) ; } extern "C" { # [ doc = "Allocates a new DBF List object [duplicating an existing one]" ] # [ doc = "" ] # [ doc = "\\param org pointer to input DBF List object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF List object." ] # [ doc = "" ] # [ doc = "\\sa gaiaCloneDbfField, gaiaCloneValue," ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] # [ doc = "\\n this including any currently set Field Value." ] pub fn gaiaCloneDbfEntity ( org : gaiaDbfListPtr ) -> gaiaDbfListPtr ; } extern "C" { # [ doc = "Allocates a new Shapefile object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Shapefile object." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Shapefile." ] # [ doc = "\\n you should phisically open the Shapefile in \\e read or \\e write mode" ] # [ doc = "before performing any actual I/O operation." ] pub fn gaiaAllocShapefile ( ) -> gaiaShapefilePtr ; } extern "C" { # [ doc = "Destroys a Shapefile object" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note destroying the Shapefile object will close any related file:" ] # [ doc = "anyway you a responsible to explicitly call gaiaFlushShpHeader" ] # [ doc = "before destroyng a Shapefile opened in \\e write mode." ] pub fn gaiaFreeShapefile ( shp : gaiaShapefilePtr ) ; } extern "C" { # [ doc = "Open a Shapefile in read mode" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "\\param path \\e abstract pathname to the corresponding file-system files." ] # [ doc = "\\param charFrom GNU ICONV name identifying the input charset encoding." ] # [ doc = "\\param charTo GNU ICONV name identifying the output charset encoding." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note on failure the object member \\e Valid will be set to 0; and the" ] # [ doc = "object member \\e LastError will contain the appropriate error message." ] # [ doc = "\\n the \\e abstract pathname should not contain any suffix at all." ] pub fn gaiaOpenShpRead ( shp : gaiaShapefilePtr , path : * const :: std :: os :: raw :: c_char , charFrom : * const :: std :: os :: raw :: c_char , charTo : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Open a Shapefile in read mode" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "\\param path \\e abstract pathname to the corresponding file-system files." ] # [ doc = "\\param shape the SHAPE code; expected to be one of GAIA_SHP_POINT," ] # [ doc = "GAIA_SHP_POLYLINE, GAIA_SHP_POLYGON, GAIA_SHP_MULTIPOINT, GAIA_SHP_POINTZ," ] # [ doc = "GAIA_SHP_POLYLINEZ, GAIA_SHP_POLYGONZ, GAIA_SHP_MULTIPOINTZ," ] # [ doc = "GAIA_SHP_POINTM, GAIA_SHP_POLYLINEM, GAIA_SHP_POLYGONM, GAIA_SHP_MULTIPOINTM" ] # [ doc = "\\param list pointer to DBF List object representing the corresponding" ] # [ doc = "data attributes." ] # [ doc = "\\param charFrom GNU ICONV name identifying the input charset encoding." ] # [ doc = "\\param charTo GNU ICONV name identifying the output charset encoding." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note on failure the object member \\e Valid will be set to 0; and the" ] # [ doc = "object member \\e LastError will contain the appropriate error message." ] # [ doc = "\\n the \\e abstract pathname should not contain any suffix at all." ] pub fn gaiaOpenShpWrite ( shp : gaiaShapefilePtr , path : * const :: std :: os :: raw :: c_char , shape : :: std :: os :: raw :: c_int , list : gaiaDbfListPtr , charFrom : * const :: std :: os :: raw :: c_char , charTo : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Reads a feature from a Shapefile object" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "\\param current_row the row number identifying the feature to be read." ] # [ doc = "\\param srid feature\'s SRID" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note on completion the Shapefile\'s \\e Dbf member will contain the feature" ] # [ doc = "read:" ] # [ doc = "\\li the \\e Dbf->Geometry member will contain the corresponding Geometry" ] # [ doc = "\\li and the \\e Dbf->First member will point to the linked list containing" ] # [ doc = "the corresponding data attributes [both data formats and values]." ] # [ doc = "" ] # [ doc = "\\remark the Shapefile object should be opened in \\e read mode." ] pub fn gaiaReadShpEntity ( shp : gaiaShapefilePtr , current_row : :: std :: os :: raw :: c_int , srid : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Reads a feature from a Shapefile object" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "\\param current_row the row number identifying the feature to be read." ] # [ doc = "\\param srid feature\'s SRID" ] # [ doc = "\\param text_dates is TRUE all DBF dates will be considered as TEXT" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note on completion the Shapefile\'s \\e Dbf member will contain the feature" ] # [ doc = "read:" ] # [ doc = "\\li the \\e Dbf->Geometry member will contain the corresponding Geometry" ] # [ doc = "\\li and the \\e Dbf->First member will point to the linked list containing" ] # [ doc = "the corresponding data attributes [both data formats and values]." ] # [ doc = "" ] # [ doc = "\\remark the Shapefile object should be opened in \\e read mode." ] pub fn gaiaReadShpEntity_ex ( shp : gaiaShapefilePtr , current_row : :: std :: os :: raw :: c_int , srid : :: std :: os :: raw :: c_int , text_dates : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Prescans a Shapefile object gathering informations" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaWriteShpEntity, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\note on completion the Shapefile\'s \\e EffectiveType will containt the" ] # [ doc = "Geometry type corresponding to features actually found." ] # [ doc = "" ] # [ doc = "\\remark the Shapefile object should be opened in \\e read mode." ] pub fn gaiaShpAnalyze ( shp : gaiaShapefilePtr ) ; } extern "C" { # [ doc = "Writes a feature into a Shapefile object" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "\\param entity pointer to DBF List object containing both Geometry and Field" ] # [ doc = "values." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaFlushShpHeaders" ] # [ doc = "" ] # [ doc = "\\remark the Shapefile object should be opened in \\e write mode." ] pub fn gaiaWriteShpEntity ( shp : gaiaShapefilePtr , entity : gaiaDbfListPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Writes into an output Shapefile any required header / footer" ] # [ doc = "" ] # [ doc = "\\param shp pointer to the Shapefile object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite," ] # [ doc = "gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity" ] # [ doc = "" ] # [ doc = "\\note forgetting to call gaiaFlushShpHeader for any Shapefile opened in" ] # [ doc = "\\e write mode immediately before destroying the object, will surely" ] # [ doc = "cause severe file corruption." ] pub fn gaiaFlushShpHeaders ( shp : gaiaShapefilePtr ) ; } extern "C" { # [ doc = "Allocates a new DBF File object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created DBF File object." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeDbf, gaiaOpenDbfRead, gaiaOpenDbfWrite," ] # [ doc = "gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated DBF File." ] # [ doc = "\\n you should phisically open the DBF File in \\e read or \\e write mode" ] # [ doc = "before performing any actual I/O operation." ] pub fn gaiaAllocDbf ( ) -> gaiaDbfPtr ; } extern "C" { # [ doc = "Destroys a DBF File object" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfWrite," ] # [ doc = "gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note destroying the Shapefile object will close any related file:" ] # [ doc = "anyway you a responsible to explicitly call gaiaFlushShpHeader" ] # [ doc = "before destroyng a Shapefile opened in \\e write mode." ] pub fn gaiaFreeDbf ( dbf : gaiaDbfPtr ) ; } extern "C" { # [ doc = "Open a DBF File in read mode" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "\\param path pathname to the corresponding file-system file." ] # [ doc = "\\param charFrom GNU ICONV name identifying the input charset encoding." ] # [ doc = "\\param charTo GNU ICONV name identifying the output charset encoding." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfWrite," ] # [ doc = "gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note on failure the object member \\e Valid will be set to 0; and the" ] # [ doc = "object member \\e LastError will contain the appropriate error message." ] pub fn gaiaOpenDbfRead ( dbf : gaiaDbfPtr , path : * const :: std :: os :: raw :: c_char , charFrom : * const :: std :: os :: raw :: c_char , charTo : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Open a DBF File in write mode" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "\\param path pathname to the corresponding file-system file." ] # [ doc = "\\param charFrom GNU ICONV name identifying the input charset encoding." ] # [ doc = "\\param charTo GNU ICONV name identifying the output charset encoding." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead," ] # [ doc = "gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note on failure the object member \\e Valid will be set to 0; and the" ] # [ doc = "object member \\e LastError will contain the appropriate error message." ] pub fn gaiaOpenDbfWrite ( dbf : gaiaDbfPtr , path : * const :: std :: os :: raw :: c_char , charFrom : * const :: std :: os :: raw :: c_char , charTo : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Reads a record from a DBF File object" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "\\param current_row the row number identifying the record to be read." ] # [ doc = "\\param deleted on completion this variable will contain 0 if the record" ] # [ doc = "just read is valid: any other value if the record just read is marked as" ] # [ doc = "\\e logically \\e deleted." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, gaiaOpenDbfWrite," ] # [ doc = "gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note on completion the DBF File \\e First member will point to the" ] # [ doc = "linked list containing the corresponding data attributes [both data" ] # [ doc = "formats and values]." ] # [ doc = "" ] # [ doc = "\\remark the DBF File object should be opened in \\e read mode." ] pub fn gaiaReadDbfEntity ( dbf : gaiaDbfPtr , current_row : :: std :: os :: raw :: c_int , deleted : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Reads a record from a DBF File object" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "\\param current_row the row number identifying the record to be read." ] # [ doc = "\\param deleted on completion this variable will contain 0 if the record" ] # [ doc = "\\param text_dates is TRUE all DBF dates will be considered as TEXT" ] # [ doc = "just read is valid: any other value if the record just read is marked as" ] # [ doc = "\\e logically \\e deleted." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, gaiaOpenDbfWrite," ] # [ doc = "gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\note on completion the DBF File \\e First member will point to the" ] # [ doc = "linked list containing the corresponding data attributes [both data" ] # [ doc = "formats and values]." ] # [ doc = "" ] # [ doc = "\\remark the DBF File object should be opened in \\e read mode." ] pub fn gaiaReadDbfEntity_ex ( dbf : gaiaDbfPtr , current_row : :: std :: os :: raw :: c_int , deleted : * mut :: std :: os :: raw :: c_int , text_dates : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Writes a record into a DBF File object" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "\\param entity pointer to DBF List object containing Fields and corresponding" ] # [ doc = "values." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, gaiaOpenDbfWrite," ] # [ doc = "gaiaReadDbfEntity, gaiaFlushDbfHeader" ] # [ doc = "" ] # [ doc = "\\remark the DBF File object should be opened in \\e write mode." ] pub fn gaiaWriteDbfEntity ( dbf : gaiaDbfPtr , entity : gaiaDbfListPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Writes into an output DBF File any required header / footer" ] # [ doc = "" ] # [ doc = "\\param dbf pointer to the DBF File object." ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, gaiaOpenDbfWrite," ] # [ doc = "gaiaReadDbfEntity, gaiaWriteDbfEntity" ] # [ doc = "" ] # [ doc = "\\note forgetting to call gaiaFlushDbfHeader for any DBF File opened in" ] # [ doc = "\\e write mode immediately before destroying the object, will surely" ] # [ doc = "cause severe file corruption." ] pub fn gaiaFlushDbfHeader ( dbf : gaiaDbfPtr ) ; } extern "C" { # [ doc = "Creates a Text Reader object" ] # [ doc = "" ] # [ doc = "\\param path to the corresponding file-system file." ] # [ doc = "\\param field_separator the character acting as a separator between adjacent" ] # [ doc = "fields." ] # [ doc = "\\param text_separator the character used to quote text strings." ] # [ doc = "\\param decimal_separator the character used as a separator between integer" ] # [ doc = "and decimal digits for real numeric values." ] # [ doc = "\\param first_line_titles 0 if the first line contains regular values:" ] # [ doc = "any other value if the first line contains column names." ] # [ doc = "\\param encoding GNU ICONV name identifying the input charset encoding." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Text Reader object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReaderDestroy, gaiaTextReaderParse," ] # [ doc = "gaiaTextReaderGetRow, gaiaTextReaderFetchField" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Text" ] # [ doc = "Reader object." ] pub fn gaiaTextReaderAlloc ( path : * const :: std :: os :: raw :: c_char , field_separator : :: std :: os :: raw :: c_char , text_separator : :: std :: os :: raw :: c_char , decimal_separator : :: std :: os :: raw :: c_char , first_line_titles : :: std :: os :: raw :: c_int , encoding : * const :: std :: os :: raw :: c_char ) -> gaiaTextReaderPtr ; } extern "C" { # [ doc = "Destroys a Text Reader object" ] # [ doc = "" ] # [ doc = "\\param reader pointer to Text Reader object." ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReaderAlloc, gaiaTextReaderParse," ] # [ doc = "gaiaTextReaderGetRow, gaiaTextReaderFetchField" ] pub fn gaiaTextReaderDestroy ( reader : gaiaTextReaderPtr ) ; } extern "C" { # [ doc = "Prescans the external file associated to a Text Reade object" ] # [ doc = "" ] # [ doc = "\\param reader pointer to Text Reader object." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReaderAlloc, gaiaTextReaderDestroy," ] # [ doc = "gaiaTextReaderGetRow, gaiaTextReaderFetchField" ] # [ doc = "" ] # [ doc = "\\note this preliminary step is required so to ensure:" ] # [ doc = "\\li file consistency: checking expected formatting rules." ] # [ doc = "\\li identifying the number / type / name of fields [aka columns]." ] # [ doc = "\\li identifying the actual number of lines within the file." ] pub fn gaiaTextReaderParse ( reader : gaiaTextReaderPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Reads a line from a Text Reader object" ] # [ doc = "" ] # [ doc = "\\param reader pointer to Text Reader object." ] # [ doc = "\\param row_num the Line Number identifying the Line to be read." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReaderAlloc, gaiaTextReaderDestroy, gaiaTextReaderParse," ] # [ doc = "gaiaTextReaderFetchField" ] # [ doc = "" ] # [ doc = "\\note this function will load the requested Line into the current buffer:" ] # [ doc = "you can then use gaiaTextReaderFetchField in order to retrieve" ] # [ doc = "any individual field [aka column] value." ] pub fn gaiaTextReaderGetRow ( reader : gaiaTextReaderPtr , row_num : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Retrieves an individual field value from the current Line" ] # [ doc = "" ] # [ doc = "\\param reader pointer to Text Reader object." ] # [ doc = "\\param field_num relative field [aka column] index: first field has index 0." ] # [ doc = "\\param type on completion this variable will contain the value type." ] # [ doc = "\\param value on completion this variable will contain the current field value." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaTextReaderAlloc, gaiaTextReaderDestroy, gaiaTextReaderParse," ] # [ doc = "gaiaTextReaderGetRow" ] pub fn gaiaTextReaderFetchField ( reader : gaiaTextReaderPtr , field_num : :: std :: os :: raw :: c_int , type_ : * mut :: std :: os :: raw :: c_int , value : * mut * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Creates a new dynamicly growing line/ring object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created object" ] # [ doc = "" ] # [ doc = "\\sa gaiaCreateDynamicLine, gaiaFreeDynamicLine" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "dynamically growing line/ring object." ] pub fn gaiaAllocDynamicLine ( ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Destroys a dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDynamicLine" ] pub fn gaiaFreeDynamicLine ( p : gaiaDynamicLinePtr ) ; } extern "C" { # [ doc = "Appends a new 2D Point [XY] at the end of a dynamically growing line/ring" ] # [ doc = "object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaAppendPointToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 3D Point [XYZ] at the end of a dynamically growing line/ring" ] # [ doc = "object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param z Z coordinate of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaAppendPointZToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , z : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 2D Point [XYM] at the end of a dynamically growing line/ring" ] # [ doc = "object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param m M measure of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaAppendPointMToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 3D Point [XYZM] at the end of a dynamically growing line/ring" ] # [ doc = "object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param z Z coordinate of the Point" ] # [ doc = "\\param m M measure of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaAppendPointZMToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , z : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 2D Point [XY] before the first one of a dynamically growing" ] # [ doc = "line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaPrependPointToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 3D Point [XYZ] before the first one of a dynamically growing" ] # [ doc = "line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param z Z coordinate of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaPrependPointZToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , z : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 2D Point [XYM] before the first one of a dynamically growing" ] # [ doc = "line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param m M measure of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaPrependPointMToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 3D Point [XYZM] before the first one of a dynamically growing" ] # [ doc = "line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param x X coordinate of the Point" ] # [ doc = "\\param y Y coordinate of the Point" ] # [ doc = "\\param z Z coordinate of the Point" ] # [ doc = "\\param m M measure of the Point" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaPrependPointZMToDynamicLine ( p : gaiaDynamicLinePtr , x : f64 , y : f64 , z : f64 , m : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 2D Point [XY] immediately after the given Point into a" ] # [ doc = "dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param pt pointer to the given Point." ] # [ doc = "\\param x X coordinate of the Point to be appended" ] # [ doc = "\\param y Y coordinate of the Point to be appended" ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLiceInsertBefore" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaDynamicLineInsertAfter ( p : gaiaDynamicLinePtr , pt : gaiaPointPtr , x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Appends a new 2D Point [XY] immediately before the given Point into a" ] # [ doc = "dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to the dynamically growing line/ring object." ] # [ doc = "\\param pt pointer to the given Point." ] # [ doc = "\\param x X coordinate of the Point to be appended" ] # [ doc = "\\param y Y coordinate of the Point to be appended" ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLiceInsertBeforeAfter" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Point" ] pub fn gaiaDynamicLineInsertBefore ( p : gaiaDynamicLinePtr , pt : gaiaPointPtr , x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Removes a given Point from a dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param p pointer to dynamically growing line/ring object." ] # [ doc = "\\param pt pointer to given Point." ] # [ doc = "" ] # [ doc = "\\note the given Point (referenced by its address) will be removed from" ] # [ doc = "the dynamically growin line/ring object." ] # [ doc = "\\n the given Point will be then implicitly destroyed." ] pub fn gaiaDynamicLineDeletePoint ( p : gaiaDynamicLinePtr , pt : gaiaPointPtr ) ; } extern "C" { # [ doc = "Duplicates a dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param org pointer to dynamically growing line/ring object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamic growing line/ring object:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the original one." ] pub fn gaiaCloneDynamicLine ( org : gaiaDynamicLinePtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Duplicates and reverts a dynamically growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param org pointer to dynamically growing line/ring object [origin]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamic growing line/ring object:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\note the newly created object is an exact copy of the origina one, except" ] # [ doc = "in that direction is reverted." ] # [ doc = "\\n i.e. first inpunt point becomes last output point, and last input point" ] # [ doc = "becomes first output point." ] pub fn gaiaReverseDynamicLine ( org : gaiaDynamicLinePtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Cuts a dynamically growing line/ring in two halves, using a given" ] # [ doc = "cut point" ] # [ doc = "" ] # [ doc = "\\param org pointer to the input object [the line to be split]." ] # [ doc = "\\param point pointer to given cut point." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamic growing line/ring object:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineSplitAfter" ] # [ doc = "" ] # [ doc = "\\note the newly created object will contain a line going from the orginal" ] # [ doc = "first point to the cut point [excluded]." ] # [ doc = "\\n on completion the orginal line will be reduced, going from the cut" ] # [ doc = "point [included] to the original last point." ] pub fn gaiaDynamicLineSplitBefore ( org : gaiaDynamicLinePtr , point : gaiaPointPtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Cuts a dynamically growing line/ring in two halves, using a given" ] # [ doc = "cut point" ] # [ doc = "" ] # [ doc = "\\param org pointer to the input object [the line to be split]." ] # [ doc = "\\param point pointer to given cut point." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamic growing line/ring object:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineSplitBefore" ] # [ doc = "" ] # [ doc = "\\note the newly created object will contain a line going from the orginal" ] # [ doc = "first point to the cut point [included]." ] # [ doc = "\\n on completion the orginal line will be reduced, going from the cut" ] # [ doc = "point [excluded] to the original last point." ] pub fn gaiaDynamicLineSplitAfter ( org : gaiaDynamicLinePtr , point : gaiaPointPtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Merges two dynamically growing line/ring object into a single one" ] # [ doc = "" ] # [ doc = "\\param org pointer to the first input object [first line]." ] # [ doc = "\\param point pointer to the reference Point object." ] # [ doc = "\\param toJoin pointer to the second input object [second line]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamically growing line/ring object" ] # [ doc = "[merged line]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineJoinBefore" ] # [ doc = "" ] # [ doc = "\\note the reference Point must exists into the first line: the second line" ] # [ doc = "will then be inserted immediately after the reference Point." ] # [ doc = "\\n The newly created object will represent the resulting merged line:" ] # [ doc = "\\n both input objects remain untouched." ] pub fn gaiaDynamicLineJoinAfter ( org : gaiaDynamicLinePtr , point : gaiaPointPtr , toJoin : gaiaDynamicLinePtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Merges two dynamically growing line/ring object into a single one" ] # [ doc = "" ] # [ doc = "\\param org pointer to the first input object [first line]." ] # [ doc = "\\param point pointer to the reference Point object." ] # [ doc = "\\param toJoin pointer to the second input object [second line]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created dynamically growing line/ring object" ] # [ doc = "[merged line]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineJoinAfter" ] # [ doc = "" ] # [ doc = "\\note the reference Point must exists into the first line: the second line" ] # [ doc = "will then be inserted immediately before the reference Point." ] # [ doc = "\\n The newly created object will represent the resulting merged line:" ] # [ doc = "\\n both input objects remain untouched." ] pub fn gaiaDynamicLineJoinBefore ( org : gaiaDynamicLinePtr , point : gaiaPointPtr , toJoin : gaiaDynamicLinePtr ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Finds a Point within a dymically growing line/ring object [by coords]" ] # [ doc = "" ] # [ doc = "\\param p pointer to dymamically line/ring object." ] # [ doc = "\\param x Point X coordinate." ] # [ doc = "\\param y Point Y coordinate." ] # [ doc = "" ] # [ doc = "\\return the pointer to the corresponding Point object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineFindByPos" ] # [ doc = "" ] # [ doc = "\\note if the line object contains more Points sharing the same coordinates," ] # [ doc = "a reference to the first one found will be returned." ] pub fn gaiaDynamicLineFindByCoords ( p : gaiaDynamicLinePtr , x : f64 , y : f64 ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Finds a Point within a dymically growing line/ring object [by position]" ] # [ doc = "" ] # [ doc = "\\param p pointer to dymamically line/ring object." ] # [ doc = "\\param pos relative position [first Point has index 0]." ] # [ doc = "" ] # [ doc = "\\return the pointer to the corresponding Point object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaDynamicLineFindByCoords" ] pub fn gaiaDynamicLineFindByPos ( p : gaiaDynamicLinePtr , pos : :: std :: os :: raw :: c_int ) -> gaiaPointPtr ; } extern "C" { # [ doc = "Creates a new dynamicly growing line/ring object" ] # [ doc = "" ] # [ doc = "\\param coords an array of COORDs, any dimension [XY, XYZ, XYM, XYZM]" ] # [ doc = "\\param points number of points [aka vertices] into the array" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created object" ] # [ doc = "" ] # [ doc = "\\sa gaiaAllocDynamicLine, gaiaFreeDynamicLine, gaiaLinestringStruct," ] # [ doc = "gaiaRingStruct" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "dynamically growing line/ring object." ] # [ doc = "\\n The COORDs array is usually expected to be one found within a" ] # [ doc = "gaiaLinestring or gaiaRing object." ] pub fn gaiaCreateDynamicLine ( coords : * mut f64 , points : :: std :: os :: raw :: c_int ) -> gaiaDynamicLinePtr ; } extern "C" { # [ doc = "Converts and angle from Radians into Degrees" ] # [ doc = "\\param rads the angle measured in Radians." ] # [ doc = "" ] # [ doc = "\\return the angle measured in Degrees." ] # [ doc = "" ] # [ doc = "\\sa gaiaDegsToRads" ] # [ doc = "" ] # [ doc = "\\remark \\b PROJ.4 support required" ] pub fn gaiaRadsToDegs ( rads : f64 ) -> f64 ; } extern "C" { # [ doc = "Converts and angle from Degrees into Radians" ] # [ doc = "\\param degs the angle measured in Degrees." ] # [ doc = "" ] # [ doc = "\\return the angle measured in Radians." ] # [ doc = "" ] # [ doc = "\\sa gaiaRadsToDegs" ] # [ doc = "" ] # [ doc = "\\remark \\b PROJ.4 support required" ] pub fn gaiaDegsToRads ( degs : f64 ) -> f64 ; } extern "C" { # [ doc = "Tansforms a Geometry object into a different Reference System" ] # [ doc = "[aka Reprojection]" ] # [ doc = "" ] # [ doc = "\\param org pointer to input Geometry object." ] # [ doc = "\\param proj_from geodetic parameters string [EPSG format] qualifying the" ] # [ doc = "input Reference System" ] # [ doc = "\\param proj_to geodetic parameters string [EPSG format] qualifying the" ] # [ doc = "output Reference System" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaTransform_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry,  this including any Geometry returned by gaiaGeometryTransform()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b PROJ.4 support required" ] pub fn gaiaTransform ( org : gaiaGeomCollPtr , proj_from : * mut :: std :: os :: raw :: c_char , proj_to : * mut :: std :: os :: raw :: c_char ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Tansforms a Geometry object into a different Reference System" ] # [ doc = "[aka Reprojection]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param org pointer to input Geometry object." ] # [ doc = "\\param proj_from geodetic parameters string [EPSG format] qualifying the" ] # [ doc = "input Reference System" ] # [ doc = "\\param proj_to geodetic parameters string [EPSG format] qualifying the" ] # [ doc = "output Reference System" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaTransform, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry,  this including any Geometry returned by gaiaGeometryTransform()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b PROJ.4 support required" ] pub fn gaiaTransform_r ( p_cache : * const :: std :: os :: raw :: c_void , org : gaiaGeomCollPtr , proj_from : * mut :: std :: os :: raw :: c_char , proj_to : * mut :: std :: os :: raw :: c_char ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Resets the GEOS error and warning messages to an empty state" ] # [ doc = "" ] # [ doc = "\\sa gaiaResetGeosMsg_r," ] # [ doc = "gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg, gaiaGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaResetGeosMsg ( ) ; } extern "C" { # [ doc = "Resets the GEOS error and warning messages to an empty state" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\sa gaiaResetGeosMsg," ] # [ doc = "gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg, gaiaGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaResetGeosMsg_r ( p_cache : * const :: std :: os :: raw :: c_void ) ; } extern "C" { # [ doc = "Return the latest GEOS error message (if any)" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS error message: an empty string if no error was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosErrorMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosWarningMsg, gaiaGetGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg," ] # [ doc = "gaiaCriticalPointFromGEOSmsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosErrorMsg ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest GEOS error message (if any)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS error message: an empty string if no error was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosErrorMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosWarningMsg, gaiaGetGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg," ] # [ doc = "gaiaCriticalPointFromGEOSmsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosErrorMsg_r ( p_cache : * const :: std :: os :: raw :: c_void ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest GEOS warning message (if any)" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS warning message: an empty string if no warning was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosWarningMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg," ] # [ doc = "gaiaCriticalPointFromGEOSmsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosWarningMsg ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest GEOS warning message (if any)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS warning message: an empty string if no warning was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosWarningMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosAuxErrorMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg," ] # [ doc = "gaiaCriticalPointFromGEOSmsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosWarningMsg_r ( p_cache : * const :: std :: os :: raw :: c_void ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest GEOS (auxiliary) error message (if any)" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS (auxiliary) error message: an empty string if no" ] # [ doc = "error was previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosAuxErrorMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosAuxErrorMsg ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest GEOS (auxiliary) error message (if any)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the latest GEOS (auxiliary) error message: an empty string if no" ] # [ doc = "error was previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaGetGeosAuxErrorMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetGeosAuxErrorMsg_r ( p_cache : * const :: std :: os :: raw :: c_void ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Attempts to (possibile) return a Point Geometry extracted from the latest" ] # [ doc = "GEOS error / warning message" ] # [ doc = "" ] # [ doc = "\\return a Point Geometry: NULL if no warning/error was previoysly found" ] # [ doc = "or if the current GEOS message doesn\'t contains a critical Point." ] # [ doc = "" ] # [ doc = "\\sa gaiaCriticalPointFromGEOSmsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaCriticalPointFromGEOSmsg ( ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Attempts to (possibile) return a Point Geometry extracted from the latest" ] # [ doc = "GEOS error / warning message" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return a Point Geometry: NULL if no warning/error was previoysly found" ] # [ doc = "or if the current GEOS message doesn\'t contains a critical Point." ] # [ doc = "" ] # [ doc = "\\sa gaiaCriticalPointFromGEOSmsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaSetGeosErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaCriticalPointFromGEOSmsg_r ( p_cache : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Set the current GEOS error message" ] # [ doc = "" ] # [ doc = "\\param msg the error message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetGeosErrorMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosErrorMsg ( msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current GEOS error message" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param msg the error message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetGeosErrorMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosErrorMsg_r ( p_cache : * const :: std :: os :: raw :: c_void , msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current GEOS warning message" ] # [ doc = "" ] # [ doc = "\\param msg the warning message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetGeosWarningMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosErrorMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosWarningMsg ( msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current GEOS warning message" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param msg the warning message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetGeosWarningMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosErrorMsg, gaiaSetGeosAuxErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosWarningMsg_r ( p_cache : * const :: std :: os :: raw :: c_void , msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current GEOS (auxiliary) error message" ] # [ doc = "" ] # [ doc = "\\param msg the error message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetAuxErrorMsg_r," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosAuxErrorMsg ( msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current GEOS (auxiliary) error message" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param msg the error message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaSetAuxErrorMsg," ] # [ doc = "gaiaResetGeosMsg, gaiaGetGeosErrorMsg, gaiaGetGeosWarningMsg," ] # [ doc = "gaiaGetGeosAuxErrorMsg, gaiaSetGeosWarningMsg, gaiaSetGeosErrorMsg" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaSetGeosAuxErrorMsg_r ( p_cache : * const :: std :: os :: raw :: c_void , msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Converts a Geometry object into a GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\param gaia pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\sa gaiaToGeos_r, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYM," ] # [ doc = "gaiaFromGeos_XYZM, gaiaToGeosSelective" ] # [ doc = "" ] # [ doc = "\\note convenience method, simply defaulting to gaiaToGeosSelective(geom, GAIA2GEOS_ALL)\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaToGeos ( gaia : gaiaGeomCollPtr ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Converts a Geometry object into a GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param gaia pointer to Geometry object" ] # [ doc = "" ] # [ doc = "\\return handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\sa gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYM," ] # [ doc = "gaiaFromGeos_XYZM, gaiaToGeosSelective_r" ] # [ doc = "" ] # [ doc = "\\note convenience method, simply defaulting to gaiaToGeosSelective_r(p_cache, geom, GAIA2GEOS_ALL)\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaToGeos_r ( p_cache : * const :: std :: os :: raw :: c_void , gaia : gaiaGeomCollPtr ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Converts a Geometry object into a GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\param gaia pointer to Geometry object" ] # [ doc = "\\param mode one of GAIA2GEOS_ALL, GAIA2GEOS_ONLY_POINTS," ] # [ doc = "GAIA2GEOS_ONLY_LINESTRINGS or GAIA2GEOS_ONLY_POLYGONS" ] # [ doc = "" ] # [ doc = "\\return handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\sa gaiaToGeosSelective_r, gaiaFromGeos_XY, gaiaFromGeos_XYZ," ] # [ doc = "gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note if the mode argument is not GAIA2GEOS_ALL only elementary geometries" ] # [ doc = "of the selected type will be passed to GEOS, ignoring any other.\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaToGeosSelective ( gaia : gaiaGeomCollPtr , mode : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Converts a Geometry object into a GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param gaia pointer to Geometry object" ] # [ doc = "\\param mode one of GAIA2GEOS_ALL, GAIA2GEOS_ONLY_POINTS," ] # [ doc = "GAIA2GEOS_ONLY_LINESTRINGS or GAIA2GEOS_ONLY_POLYGONS" ] # [ doc = "" ] # [ doc = "\\return handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\sa gaiaToGeosSelective, gaiaFromGeos_XY, gaiaFromGeos_XYZ," ] # [ doc = "gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note if the mode argument is not GAIA2GEOS_ALL only elementary geometries" ] # [ doc = "of the selected type will be passed to GEOS, ignoring any other.\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaToGeosSelective_r ( p_cache : * const :: std :: os :: raw :: c_void , gaia : gaiaGeomCollPtr , mode : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XY dims]" ] # [ doc = "" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XY_r," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XYZ, gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XY()\\n" ] # [ doc = "not reentrant and thread usafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XY ( geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XY dims]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XY," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XYZ, gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XY_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XY_r ( p_cache : * const :: std :: os :: raw :: c_void , geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYZ dims]" ] # [ doc = "" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYZ_r," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYZ()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYZ ( geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYZ dims]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYZ," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYM, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYZ_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYZ_r ( p_cache : * const :: std :: os :: raw :: c_void , geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYM dims]" ] # [ doc = "" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYM_r," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYM()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYM ( geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYM dims]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYM," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYZM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYM_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYM_r ( p_cache : * const :: std :: os :: raw :: c_void , geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYZM dims]" ] # [ doc = "" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYZM_r," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYZM()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYZM ( geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Converts a GEOS Geometry into a Geometry object [XYZM dims]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geos handle to GEOS Geometry" ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry object" ] # [ doc = "" ] # [ doc = "\\sa gaiaFromGeos_XYZM," ] # [ doc = "gaiaToGeos, gaiaFromGeos_XY, gaiaFromGeos_XYZ, gaiaFromGeos_XYM" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry, this including any Geometry returned by gaiaFromGeos_XYZM_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaFromGeos_XYZM_r ( p_cache : * const :: std :: os :: raw :: c_void , geos : * const :: std :: os :: raw :: c_void ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Simple Geometry" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsSimple_r," ] # [ doc = "gaiaIsClosed, gaiaIsRing, gaiaIsValid" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsSimple ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Simple Geometry" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsSimple," ] # [ doc = "gaiaIsClosed, gaiaIsRing, gaiaIsValid" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsSimple_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Linestring object represents an OGC Closed Geometry" ] # [ doc = "" ] # [ doc = "This function only works on a single linestring - if you pass in a multi-line" ] # [ doc = "linestring geometry, it will return 0 (false). See gaiaIsClosedGeom for an" ] # [ doc = "alternative." ] # [ doc = "" ] # [ doc = "\\param line pointer to Linestring object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsSimple, gaiaIsRing, gaiaIsValid, gaiaIsClosedGeom" ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsClosed ( line : gaiaLinestringPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Closed Linestring" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsClosedGeom_r," ] # [ doc = "gaiaIsSimple, gaiaIsRing, gaiaIsValid, gaiaIsClosed" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsClosedGeom ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Closed Linestring" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsClosedGeom," ] # [ doc = "gaiaIsSimple, gaiaIsRing, gaiaIsValid, gaiaIsClosed" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsClosedGeom_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Linestring object represents an OGC Ring Geometry" ] # [ doc = "" ] # [ doc = "\\param line pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsRing_r," ] # [ doc = "gaiaIsSimple, gaiaIsClosed, gaiaIsValid" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsRing ( line : gaiaLinestringPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Linestring object represents an OGC Ring Geometry" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param line pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsRing," ] # [ doc = "gaiaIsSimple, gaiaIsClosed, gaiaIsValid" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsRing_r ( p_cache : * const :: std :: os :: raw :: c_void , line : gaiaLinestringPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Valid Geometry" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid_r," ] # [ doc = "gaiaIsSimple, gaiaIsClosed, gaiaIsRing, gaiaIsValidReason" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValid ( geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "return a TEXT string stating if a Geometry is valid and if not" ] # [ doc = "valid, a reason why" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object to be validated." ] # [ doc = "" ] # [ doc = "\\return a text string." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid, gaiaIsValidReason_r, gaiaIsValidDetail" ] # [ doc = "" ] # [ doc = "\\note you are responsible to free() the returned text string\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValidReason ( geom : gaiaGeomCollPtr ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "return a TEXT string stating if a Geometry is valid and if not" ] # [ doc = "valid, a reason why" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to the Geometry object to be validated." ] # [ doc = "" ] # [ doc = "\\return a text string." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid_r, gaiaIsValidReason, gaiaIsValidDetail_r" ] # [ doc = "" ] # [ doc = "\\note you are responsible to free() the returned text string\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValidReason_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "return a Geometry detail causing a Geometry to be invalid" ] # [ doc = "" ] # [ doc = "\\param geom pointer to the Geometry object to be validated." ] # [ doc = "" ] # [ doc = "\\return pointer to a Geometry object causing invalidity, or NULL." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid, gaiaIsValidReason, gaiaIsValidDetail_r" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy the returned Geometry\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValidDetail ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "return a Geometry detail causing a Geometry to be invalid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to the Geometry object to be validated." ] # [ doc = "" ] # [ doc = "\\return pointer to a Geometry object causing invalidity, or NULL." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid_r, gaiaIsValidReason_r, gaiaIsValidDetail" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy the returned Geometry\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValidDetail_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Checks if a Geometry object represents an OGC Valid Geometry" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValid," ] # [ doc = "gaiaIsSimple, gaiaIsClosed, gaiaIsRing, gaiaIsValidReason_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaIsValid_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Length for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param length on completion this variable will contain the measured length" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLenght_r," ] # [ doc = "gaiaGeomCollArea, gaiaMeasureLength, gaiaGeomCollLengthOrPerimeter" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollLength ( geom : gaiaGeomCollPtr , length : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Length for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param length on completion this variable will contain the measured length" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLenght," ] # [ doc = "gaiaGeomCollArea, gaiaMeasureLength, gaiaGeomCollLengthOrPerimeter" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollLength_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , length : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Length or Perimeter for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param perimeter if TRUE only Polygons will be considered, ignoring any Linesting" ] # [ doc = "\\n the opposite if FALSE (considering only Linestrings and ignoring any Polygon)" ] # [ doc = "\\param length on completion this variable will contain the measured length" ] # [ doc = "or perimeter" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLengthOrPerimeter_r," ] # [ doc = "gaiaGeomCollArea, gaiaMeasureLength, gaiaGeomCollLength" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollLengthOrPerimeter ( geom : gaiaGeomCollPtr , perimeter : :: std :: os :: raw :: c_int , length : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Length or Perimeter for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param perimeter if TRUE only Polygons will be considered, ignoring any Linesting" ] # [ doc = "\\n the opposite if FALSE (considering only Linestrings and ignoring any Polygon)" ] # [ doc = "\\param length on completion this variable will contain the measured length" ] # [ doc = "or perimeter" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLengthOrPerimeter," ] # [ doc = "gaiaGeomCollArea, gaiaMeasureLength, gaiaGeomCollLength" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollLengthOrPerimeter_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , perimeter : :: std :: os :: raw :: c_int , length : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Area for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param area on completion this variable will contain the measured area" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeoCollArea_r," ] # [ doc = "gaiaGeomCollLength, gaiaMeasureArea, gaiaGeodesicArea" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollArea ( geom : gaiaGeomCollPtr , area : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Measures the total Area for a Geometry object" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param area on completion this variable will contain the measured area" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeoCollArea," ] # [ doc = "gaiaGeomCollLength, gaiaMeasureArea, gaiaGeodesicArea" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollArea_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , area : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Attempts to rearrange a generic Geometry object into a Polygon or MultiPolygon" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param force_multi if not set to 0, then an eventual Polygon will be" ] # [ doc = "returned casted to MultiPolygon" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a" ] # [ doc = "Polygon or MultiPolygon Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaPolygonize_r, gaiaMakePolygon, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaPolygonize()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaPolygonize ( geom : gaiaGeomCollPtr , force_multi : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Attempts to rearrange a generic Geometry object into a Polygon or MultiPolygon" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param force_multi if not set to 0, then an eventual Polygon will be" ] # [ doc = "returned casted to MultiPolygon" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a" ] # [ doc = "Polygon or MultiPolygon Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaPolygonize, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaPolygonize_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaPolygonize_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , force_multi : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial relationship evalution: Equals" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollEquals_r, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note Obsolete: not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollEquals ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Equals" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollEquals_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Disjoint" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDisjoint_r, gaiaGeomCollEquals, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note Obsolete: not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollDisjoint ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Disjoint" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDisjoint_r, gaiaGeomCollEquals, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollDisjoint_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Disjoint (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDisjoint, gaiaGeomCollDisjoint_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedDisjoint ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Intesects" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollIntersects_r, gaiaGeomCollPreparedIntersects," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollOverlaps," ] # [ doc = "gaiaGeomCollCrosses, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollIntersects ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Intersects" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollIntersects, gaiaGeomCollPreparedIntersects," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollOverlaps," ] # [ doc = "gaiaGeomCollCrosses, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollIntersects_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Intersects (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollIntersects, gaiaGeomCollIntersects_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedIntersects ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Overlaps" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollOverlaps_r, gaiaGeomCollPreparedOverlaps," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollCrosses, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollOverlaps ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Overlaps" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollOverlaps, gaiaGeomCollPreparedOverlaps," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollCrosses, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollOverlaps_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Overlaps (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollOverlaps, gaiaGeomCollOverlaps_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedOverlaps ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Crosses" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCrosses_r, gaiaGeomCollPreparedCrosses," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollCrosses ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Crosses" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCrosses, gaiaGeomCollPreparedCrosses," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollContains, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollCrosses_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Crosses (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCrosses, gaiaGeomCollCrosses_r" ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedCrosses ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Contains" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollContains_r, gaiaGeomCollPreparedContains," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollContains ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Contains" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollContains, gaiaGeomCollPreparedContains," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollWithin," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollContains_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Contains (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollContains, gaiaGeomCollContains_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedContains ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Within" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollWithin_r, gaiaGeomCollPreparedWithin," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollWithin ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Within" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollWithin, gaiaGeomCollPreparedWithin," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollTouches, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollWithin_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Within (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollWithin, gaiaGeomCollWithin_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedWithin ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Touches" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollTouches_r, gaiaGeomCollPreparedTouches," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollTouches ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Touches" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollTouches, gaiaGeomCollPreparedTouches," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollTouches_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Touches (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollTouches, gaiaGeomCollTouches_r" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollPreparedTouches ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Relate" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param pattern intersection matrix pattern [DE-9IM]" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollRelate_r," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollRelate ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , pattern : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial relationship evalution: Relate" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object to be evaluated" ] # [ doc = "\\param geom2 the second Geometry object to be evaluated" ] # [ doc = "\\param pattern intersection matrix pattern [DE-9IM]" ] # [ doc = "" ] # [ doc = "\\return 0 if false: any other value if true" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollRelate," ] # [ doc = "gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects," ] # [ doc = "gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains," ] # [ doc = "gaiaGeomCollWithin, gaiaGeomCollRelate" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollRelate_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , pattern : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the maximum distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDistance_r," ] # [ doc = "gaia3DDistance, gaiaMaxDistance, gaia3DMaxDistance" ] # [ doc = "" ] # [ doc = "\\note this function always computes the 2D cartesian distance.\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollDistance ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the maximum distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDistance," ] # [ doc = "gaia3DDistance, gaiaMaxDistance, gaia3DMaxDistance" ] # [ doc = "" ] # [ doc = "\\note this function always computes the 2D cartesian distance.\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollDistance_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: Intersection" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Intersection of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryIntersection_r," ] # [ doc = "gaiaFreeGeomColl, gaiaGeometryUnion, gaiaGeometryDifference," ] # [ doc = "gaiaGeometrySymDifference, gaiaBoundary" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryIntersection()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryIntersection ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Intersection" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Intersection of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryIntersection," ] # [ doc = "gaiaFreeGeomColl, gaiaGeometryUnion, gaiaGeometryDifference," ] # [ doc = "gaiaGeometrySymDifference, gaiaBoundary" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryIntersection_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryIntersection_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Union" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Union of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryUnion_r," ] # [ doc = "gaiaFreeGeomColl, gaiaUnaryUnion, gaiaUnionCascaded" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryUnion()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryUnion ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Union" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Union of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryUnion," ] # [ doc = "gaiaFreeGeomColl, gaiaUnaryUnion, gaiaUnionCascaded" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryUnion_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryUnion_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Union Cascaded" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function is similar to gaiaUnaryUnion, but it only accepts Polygons and" ] # [ doc = "MultiPolygons and it\'s now deprecated; anyway it\'s supported on older GEOS versions." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaUnionCascaded," ] # [ doc = "gaiaFreeGeomColl, gaiaGeometryUnion, gaiaUnionUnion" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaUnionCascaded()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaUnionCascaded ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Union Cascaded" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function is similar to gaiaUnaryUnion, but it only accepts Polygons and" ] # [ doc = "MultiPolygons and it\'s now deprecated; anyway it\'s supported on older GEOS versions." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaUnionCascaded," ] # [ doc = "gaiaFreeGeomColl, gaiaGeometryUnion, gaiaUnionUnion" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaUnionCascaded_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaUnionCascaded_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Difference" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Difference of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryDifference_r, gaiaGeometrySymDifference, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryDifference()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryDifference ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Difference" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Difference of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometryDifference, gaiaGeometrySymDifference, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometryDifference_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometryDifference_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: SymDifference" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry SymDifference of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometrySymDifference_r, gaiaGeometryDifference, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometrySymDifference()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometrySymDifference ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: SymDifference" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry SymDifference of both input Geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeometrySymDifference, gaiaGeometryDifference, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeometrySymDifference_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeometrySymDifference_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Boundary" ] # [ doc = "" ] # [ doc = "\\param geom the Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Boundary of the input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaBoudary_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaBoundary()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaBoundary ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Boundary" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the Geometry object to be evaluated" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "geometry Boundary of the input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaBoudary, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaBoundary_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaBoundary_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Centroid" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param x on completion this variable will contain the centroid X coordinate" ] # [ doc = "\\param y on completion this variable will contain the centroid Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCentroid_r, gaiaRingCentroid" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollCentroid ( geom : gaiaGeomCollPtr , x : * mut f64 , y : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: Centroid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param x on completion this variable will contain the centroid X coordinate" ] # [ doc = "\\param y on completion this variable will contain the centroid Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCentroid, gaiaRingCentroid" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollCentroid_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , x : * mut f64 , y : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: PointOnSurface" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param x on completion this variable will contain the Point X coordinate" ] # [ doc = "\\param y on completion this variable will contain the Point Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGetPointOnSurface_r" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetPointOnSurface ( geom : gaiaGeomCollPtr , x : * mut f64 , y : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: PointOnSurface" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to Geometry object." ] # [ doc = "\\param x on completion this variable will contain the Point X coordinate" ] # [ doc = "\\param y on completion this variable will contain the Point Y coordinate" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGetPointOnSurface" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGetPointOnSurface_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , x : * mut f64 , y : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: Simplify" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param tolerance approximation threshold" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "simplified Geometry [applying the Douglas-Peucker algorithm]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollSimplify_r," ] # [ doc = "gaiaFreeGeomColl, gaiaGeomCollSimplifyPreserveTopology" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollSimplify()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollSimplify ( geom : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Simplify" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param tolerance approximation threshold" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "simplified Geometry [applying the Douglas-Peucker algorithm]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollSimplify," ] # [ doc = "gaiaFreeGeomColl, gaiaGeomCollSimplifyPreserveTopology" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollSimplify_r()\\n" ] # [ doc = "reentrant and thread safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollSimplify_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Simplify [preserving topology]" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param tolerance approximation threshold" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "simplified Geometry [applying the Douglas-Peucker algorithm]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollSimplifyPreserveTopology_r," ] # [ doc = "gaiaFreeGeomColl, gaiaGeomCollSimplify" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollSimplify()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollSimplifyPreserveTopology ( geom : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Simplify [preserving topology]" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param tolerance approximation threshold" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "simplified Geometry [applying the Douglas-Peucker algorithm]: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollSimplifyPreserveTopology," ] # [ doc = "gaiaFreeGeomColl, gaiaGeomCollSimplify" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollSimplify_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollSimplifyPreserveTopology_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: ConvexHull" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "ConvexHull of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaConvexHull_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaConvexHull()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaConvexHull ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: ConvexHull" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "ConvexHull of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaConvexHull, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaConvexHull_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaConvexHull_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Buffer" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "Buffer of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollBuffer_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollBuffer()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollBuffer ( geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Buffer" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "Buffer of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollBuffer, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaGeomCollBuffer_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS support required." ] pub fn gaiaGeomCollBuffer_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Calculates the Hausdorff distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first Geometry object" ] # [ doc = "\\param geom2 pointer to second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated Hausdorff" ] # [ doc = "distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaHausdorffDistance_r" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaHausdorffDistance ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the Hausdorff distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first Geometry object" ] # [ doc = "\\param geom2 pointer to second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated Hausdorff" ] # [ doc = "distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaHausdorffDistance" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaHausdorffDistance_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Spatial operator: Offset Curve" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "\\param left_right if set to 1 the left-sided OffsetCurve will be returned;" ] # [ doc = "otherwise the right-sided one." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "OffsetCurve of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaOffsetCurve_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaOffsetCurve()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaOffsetCurve ( geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int , left_right : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Offset Curve" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "\\param left_right if set to 1 the left-sided OffsetCurve will be returned;" ] # [ doc = "otherwise the right-sided one." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "OffsetCurve of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaOffsetCurve, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaOffsetCurve_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaOffsetCurve_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int , left_right : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Single Sided Buffer" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "\\param left_right if set to 1 the left-sided Buffer will be returned;" ] # [ doc = "otherwise the right-sided one." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "single-sided Buffer of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaSingleSidedBuffer_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSingleSidedBuffer()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSingleSidedBuffer ( geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int , left_right : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Single Sided Buffer" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object" ] # [ doc = "\\param radius the buffer\'s radius" ] # [ doc = "\\param points number of points (aka vertices) to be used in order to" ] # [ doc = "approximate a circular arc." ] # [ doc = "\\param left_right if set to 1 the left-sided Buffer will be returned;" ] # [ doc = "otherwise the right-sided one." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing the" ] # [ doc = "single-sided Buffer of input Geometry: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaSingleSidedBuffer, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSingleSidedBuffer_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSingleSidedBuffer_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , radius : f64 , points : :: std :: os :: raw :: c_int , left_right : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Shared Paths" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first Geometry object" ] # [ doc = "\\param geom2 pointer to second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing any" ] # [ doc = "Share Path common to both input geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaSharedPaths_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSharedPaths()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSharedPaths ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Shared Paths" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first Geometry object" ] # [ doc = "\\param geom2 pointer to second Geometry object" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing any" ] # [ doc = "Share Path common to both input geometries: NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaSharedPaths, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSharedPaths_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSharedPaths_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Interpolate Point" ] # [ doc = "" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param fraction total length fraction [in the range 0.0 / 1.0]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Point" ] # [ doc = "laying on the input Geometry and positioned at the given length fraction:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineInterpolatePoint_r," ] # [ doc = "gaiaLineInterpolateEquidistantPoints, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineInterpolatePoint()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineInterpolatePoint ( ln_geom : gaiaGeomCollPtr , fraction : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Interpolate Point" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param fraction total length fraction [in the range 0.0 / 1.0]" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Point" ] # [ doc = "laying on the input Geometry and positioned at the given length fraction:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineInterpolatePoint," ] # [ doc = "gaiaLineInterpolateEquidistantPoints, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineInterpolatePoint_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineInterpolatePoint_r ( p_cache : * const :: std :: os :: raw :: c_void , ln_geom : gaiaGeomCollPtr , fraction : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Interpolate Equidistant Points" ] # [ doc = "" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param distance regular distance between interpolated points" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a MultiPoint;" ] # [ doc = "such MultiPoint always supports the M coordinate (the corresponding value" ] # [ doc = "representing the progressive distance for each interpolated Point)." ] # [ doc = "individual Points will be regularly spaced by the given distance:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineInterpolateEquidistantPoints_r," ] # [ doc = "gaiaLineInterpolatePoint, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineInterpolateEquidistantPoints()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineInterpolateEquidistantPoints ( ln_geom : gaiaGeomCollPtr , distance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Interpolate Equidistant Points" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param distance regular distance between interpolated points" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a MultiPoint;" ] # [ doc = "such MultiPoint always supports the M coordinate (the corresponding value" ] # [ doc = "representing the progressive distance for each interpolated Point)." ] # [ doc = "individual Points will be regularly spaced by the given distance:" ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineInterpolateEquidistantPoints," ] # [ doc = "gaiaLineInterpolatePoint, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineInterpolateEquidistantPoints_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineInterpolateEquidistantPoints_r ( p_cache : * const :: std :: os :: raw :: c_void , ln_geom : gaiaGeomCollPtr , distance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Substring" ] # [ doc = "" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param start_fraction substring start, expressed as total length fraction" ] # [ doc = "[in the range 0.0 / 1.0]" ] # [ doc = "\\param end_fraction substring end, expressed as total length fraction" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Linestring" ] # [ doc = "laying on the input Geometry." ] # [ doc = "\\n this Linestring will begin (and stop) at given total length fractions." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineSubstring_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineSubstring()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineSubstring ( ln_geom : gaiaGeomCollPtr , start_fraction : f64 , end_fraction : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Substring" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param ln_geom the input Geometry object [expected to be of lineal type]" ] # [ doc = "\\param start_fraction substring start, expressed as total length fraction" ] # [ doc = "[in the range 0.0 / 1.0]" ] # [ doc = "\\param end_fraction substring end, expressed as total length fraction" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Linestring" ] # [ doc = "laying on the input Geometry." ] # [ doc = "\\n this Linestring will begin (and stop) at given total length fractions." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineSubstring, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineSubstring_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineSubstring_r ( p_cache : * const :: std :: os :: raw :: c_void , ln_geom : gaiaGeomCollPtr , start_fraction : f64 , end_fraction : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Shortest Line" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to the first Geometry object." ] # [ doc = "\\param geom2 pointer to the second Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Linestring;" ] # [ doc = "NULL on failure." ] # [ doc = "\\n the returned Linestring graphically represents the minimum distance" ] # [ doc = "intercurrinng between both input geometries." ] # [ doc = "" ] # [ doc = "\\sa gaiaShortestLine_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaShortestLine()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaShortestLine ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Shortest Line" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to the first Geometry object." ] # [ doc = "\\param geom2 pointer to the second Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object representing a Linestring;" ] # [ doc = "NULL on failure." ] # [ doc = "\\n the returned Linestring graphically represents the minimum distance" ] # [ doc = "intercurrinng between both input geometries." ] # [ doc = "" ] # [ doc = "\\sa gaiaShortestLine, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaShortestLine_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaShortestLine_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Snap" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to the first Geometry object." ] # [ doc = "\\param geom2 pointer to the second Geometry object." ] # [ doc = "\\param tolerance approximation factor" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object; NULL on failure." ] # [ doc = "\\n the returned Geometry represents the first input Geometry (nicely" ] # [ doc = "\\e snapped to the second input Geometry, whenever is possible)." ] # [ doc = "" ] # [ doc = "\\sa gaiaSnap_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSnap()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSnap ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Snap" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to the first Geometry object." ] # [ doc = "\\param geom2 pointer to the second Geometry object." ] # [ doc = "\\param tolerance approximation factor" ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object; NULL on failure." ] # [ doc = "\\n the returned Geometry represents the first input Geometry (nicely" ] # [ doc = "\\e snapped to the second input Geometry, whenever is possible)." ] # [ doc = "" ] # [ doc = "\\sa gaiaSnap, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSnap_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaSnap_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , tolerance : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Merge" ] # [ doc = "" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object; NULL on failure." ] # [ doc = "\\n if possible, this representing a reassembled Linestring or MultiLinestring." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineMerge_r, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineMerge()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineMerge ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Merge" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object; NULL on failure." ] # [ doc = "\\n if possible, this representing a reassembled Linestring or MultiLinestring." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineMerge, gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLineMerge_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineMerge_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Line Cut At Nodes" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to input Geometry object [Linestring or MultiLinestring]." ] # [ doc = "\\param geom2 pointer to input Geometry object [Point or MultiPoint]." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object; NULL on failure." ] # [ doc = "\\n if possible, any input Linestring will be split accordingly to given Node(s):" ] # [ doc = "no point will be interpolated, existing Linestring Vertices will be evaluated." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaLinesCutAtNodes()" ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLinesCutAtNodes ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Unary Union" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function is the same as gaiaGeometryUnion, except in that this" ] # [ doc = "works internally to the input Geometry itself." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaUnaryUnion_r, gaiaFreeGeomColl, gaiaGeometryUnion, gaiaUnionCascaded" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaUnaryUnion()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaUnaryUnion ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Spatial operator: Unary Union" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function is the same as gaiaGeometryUnion, except in that this" ] # [ doc = "works internally to the input Geometry itself." ] # [ doc = "NULL on failure." ] # [ doc = "" ] # [ doc = "\\sa gaiaUnaryUnion, gaiaFreeGeomColl, gaiaGeometryUnion, gaiaUnionCascaded" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaUnaryUnion_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaUnaryUnion_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Determines the location of the closest Point on Linestring to the given Point" ] # [ doc = "" ] # [ doc = "\\param ln_geom pointer to first input Geometry object [expected to be of" ] # [ doc = "the lineal type]." ] # [ doc = "\\param pt_geom pointer to second input Geometry object [expected to be a" ] # [ doc = "Point]." ] # [ doc = "" ] # [ doc = "\\return the fraction [in the range 0.0 / 1.0] of ln_geom total length" ] # [ doc = "where the closest Point to pt_geom lays." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineLocatePoint_r" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineLocatePoint ( ln_geom : gaiaGeomCollPtr , pt_geom : gaiaGeomCollPtr ) -> f64 ; } extern "C" { # [ doc = "Determines the location of the closest Point on Linestring to the given Point" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param ln_geom pointer to first input Geometry object [expected to be of" ] # [ doc = "the lineal type]." ] # [ doc = "\\param pt_geom pointer to second input Geometry object [expected to be a" ] # [ doc = "Point]." ] # [ doc = "" ] # [ doc = "\\return the fraction [in the range 0.0 / 1.0] of ln_geom total length" ] # [ doc = "where the closest Point to pt_geom lays." ] # [ doc = "" ] # [ doc = "\\sa gaiaLineLocatePoint" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaLineLocatePoint_r ( p_cache : * const :: std :: os :: raw :: c_void , ln_geom : gaiaGeomCollPtr , pt_geom : gaiaGeomCollPtr ) -> f64 ; } extern "C" { # [ doc = "Topology check: test if a Geometry covers another one" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom1 \\e spatially \\e covers geom2." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCovers_r, gaiaGeomCollPreparedCovers, gaiaGeomCollCoveredBy" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thead unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollCovers ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Topology check: test if a Geometry covers another one" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom1 \\e spatially \\e covers geom2." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCovers, gaiaGeomCollPreparedCovers, gaiaGeomCollCoveredBy" ] # [ doc = "" ] # [ doc = "\\note reentrant and thead-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollCovers_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Topology check: test if a Geometry covers another one (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom1 \\e spatially \\e covers geom2." ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCovers, gaiaGeomCollCovers_r" ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollPreparedCovers ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Topology check: test if a Geometry is covered by another one" ] # [ doc = "" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom2 is \\e spatially \\e covered \\e by" ] # [ doc = "geom1." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCoveredBy_r, gaiaGeomCollPreparedCoveredBy, gaiaGeomCollCovers" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollCoveredBy ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Topology check: test if a Geometry is covered by another one" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom2 is \\e spatially \\e covered \\e by" ] # [ doc = "geom1." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCoveredBy, gaiaGeomCollPreparedCoveredBy, gaiaGeomCollCovers" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollCoveredBy_r ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Topology check: test if a Geometry is covered by another one (GEOSPreparedGeometry)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom1 pointer to first input Geometry object." ] # [ doc = "\\param blob1 the BLOB corresponding to the first Geometry" ] # [ doc = "\\param size1 the size (in bytes) of the first BLOB" ] # [ doc = "\\param geom2 pointer to second input Geometry object." ] # [ doc = "\\param blob2 the BLOB corresponding to the second Geometry" ] # [ doc = "\\param size2 the size (in bytes) of the second BLOB" ] # [ doc = "" ] # [ doc = "\\return 0 if false; any other value if geom2 is \\e spatially \\e covered \\e by" ] # [ doc = "geom1." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollCoveredBy, gaiaGeomCollCoveredBy_r, gaiaGeomCollCovers" ] # [ doc = "" ] # [ doc = "\\note reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-ADVANCED support required." ] pub fn gaiaGeomCollPreparedCoveredBy ( p_cache : * const :: std :: os :: raw :: c_void , geom1 : gaiaGeomCollPtr , blob1 : * mut :: std :: os :: raw :: c_uchar , size1 : :: std :: os :: raw :: c_int , geom2 : gaiaGeomCollPtr , blob2 : * mut :: std :: os :: raw :: c_uchar , size2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: SquareGrid" ] # [ doc = "" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing square POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaSquareGrid_r, gaiaFreeGeomColl, gaiaTriangularGrid, gaiaHexagonalGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSquareGrid()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] pub fn gaiaSquareGrid ( geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: SquareGrid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing square POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaSquareGrid, gaiaFreeGeomColl, gaiaTriangularGrid, gaiaHexagonalGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSquareGrid_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] pub fn gaiaSquareGrid_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: TriangularGrid" ] # [ doc = "" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing triangular POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaTriangularGrid_r, gaiaFreeGeomColl, gaiaSquareGrid, gaiaHexagonalGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaTriangularGrid()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] pub fn gaiaTriangularGrid ( geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: TriangularGrid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing triangular POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaTriangularGrid, gaiaFreeGeomColl, gaiaSquareGrid, gaiaHexagonalGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaTriangularGrid_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] pub fn gaiaTriangularGrid_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: HexagonalGrid" ] # [ doc = "" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing hexagonal POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaGexagonalGrid_r, gaiaFreeGeomColl, gaiaSquareGrid, gaiaTriangularGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaHexagonalGrid()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] pub fn gaiaHexagonalGrid ( geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: HexagonalGrid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom the Geometry to be covered by the Grid." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param size the Grid cell-side size." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing hexagonal POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will always return a MultiPolygon" ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaGexagonalGrid, gaiaFreeGeomColl, gaiaSquareGrid, gaiaTriangularGrid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaHexagonalGrid_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] pub fn gaiaHexagonalGrid_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , size : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Delaunay Triangulation" ] # [ doc = "" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing triangular POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaDelaunatTriangulation_r," ] # [ doc = "gaiaFreeGeomColl, gaiaVoronojDiagram, gaiaConcaveHull" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaDelaunayTriangulation()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaDelaunayTriangulation ( geom : gaiaGeomCollPtr , tolerance : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Delaunay Triangulation" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON containing triangular POLYGONs." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaDelaunatTriangulation," ] # [ doc = "gaiaFreeGeomColl, gaiaVoronojDiagram, gaiaConcaveHull" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaDelaunayTriangulation_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaDelaunayTriangulation_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , tolerance : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Voronoj Diagram" ] # [ doc = "" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param extra_frame_size percent factor expanding the BBOX of input Geometry" ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaVoronojDiagram_r, gaiaFreeGeomColl, gaiaDelaunayTriangulation" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaVoronojDiagram()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaVoronojDiagram ( geom : gaiaGeomCollPtr , extra_frame_size : f64 , tolerance : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Voronoj Diagram" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param extra_frame_size percent factor expanding the BBOX of input Geometry" ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param only_edges if non-zero will return a MULTILINESTRING, otherwise it will" ] # [ doc = "return a MULTIPOLYGON." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaVoronojDiagram, gaiaFreeGeomColl, gaiaDelaunayTriangulation" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaVoronojDiagram_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaVoronojDiagram_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , extra_frame_size : f64 , tolerance : f64 , only_edges : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Concave Hull" ] # [ doc = "" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param factor multiplier used for filtering Delaunay triangles: please read the note." ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param allow_holes if FALSE any interior hole will be suppressed." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object (always of the Polygon type):" ] # [ doc = "NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaConcaveHull_r, gaiaFreeGeomColl, gaiaDelaunayTriangulation" ] # [ doc = "" ] # [ doc = "\\note This function will first create the Delauany Triangulation corresponding" ] # [ doc = "to input Geometry, determining at the same time the \\b standard \\b deviation" ] # [ doc = "for all edge\'s lengths." ] # [ doc = "\\n Then in a second pass all Delaunay\'s triangles will be filtered, and all" ] # [ doc = "triangles presenting at least one edge longer than \\b standard \\b deviation" ] # [ doc = "\\b * \\b factor will be discarded." ] # [ doc = "\\n All filtered triangles will then be merged altogether so to create the Concave Hull." ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaConcaveHull()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaConcaveHull ( geom : gaiaGeomCollPtr , factor : f64 , tolerance : f64 , allow_holes : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Concave Hull" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param geom pointer to input Geometry object." ] # [ doc = "\\param factor multiplier used for filtering Delaunay triangles: please read the note." ] # [ doc = "\\param tolerance optional snapping tolerance." ] # [ doc = "\\param allow_holes if FALSE any interior hole will be suppressed." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object (always of the Polygon type):" ] # [ doc = "NULL on failure." ] # [ doc = "\\n NULL will be returned if any argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaConcaveHull, gaiaFreeGeomColl, gaiaDelaunayTriangulation" ] # [ doc = "" ] # [ doc = "\\note This function will first create the Delauany Triangulation corresponding" ] # [ doc = "to input Geometry, determining at the same time the \\b standard \\b deviation" ] # [ doc = "for all edge\'s lengths." ] # [ doc = "\\n Then in a second pass all Delaunay\'s triangles will be filtered, and all" ] # [ doc = "triangles presenting at least one edge longer than \\b standard \\b deviation" ] # [ doc = "\\b * \\b factor will be discarded." ] # [ doc = "\\n All filtered triangles will then be merged altogether so to create the Concave Hull." ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaConcaveHull_r()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\remark \\b GEOS-TRUNK support required." ] pub fn gaiaConcaveHull_r ( p_cache : * const :: std :: os :: raw :: c_void , geom : gaiaGeomCollPtr , factor : f64 , tolerance : f64 , allow_holes : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Resets the LWGEOM error and warning messages to an empty state" ] # [ doc = "" ] # [ doc = "\\sa gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg, gaiaSetLwGeomErrorMsg," ] # [ doc = "gaiaSetLwGeomWarningMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaResetLwGeomMsg ( ) ; } extern "C" { # [ doc = "Return the latest LWGEOM error message (if any)" ] # [ doc = "" ] # [ doc = "\\return the latest LWGEOM error message: an empty string if no error was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\sa gaiaResetLwGeomMsg, gaiaGetLwGeomWarningMsg, gaiaSetLwGeomErrorMsg," ] # [ doc = "gaiaSetLwGeomWarningMsg" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaGetLwGeomErrorMsg ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the latest LWGEOM warning message (if any)" ] # [ doc = "" ] # [ doc = "\\return the latest LWGEOM warning message: an empty string if no warning was" ] # [ doc = "previoysly found." ] # [ doc = "" ] # [ doc = "\\sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaSetLwGeomErrorMsg," ] # [ doc = "gaiaSetLwGeomWarningMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaGetLwGeomWarningMsg ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Set the current LWGEOM error message" ] # [ doc = "" ] # [ doc = "\\param msg the error message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg," ] # [ doc = "gaiaSetLwGeomWarningMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSetLwGeomErrorMsg ( msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Set the current LWGEOM warning message" ] # [ doc = "" ] # [ doc = "\\param msg the warning message to be set." ] # [ doc = "" ] # [ doc = "\\sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg," ] # [ doc = "gaiaSetLwGeomErrorMsg" ] # [ doc = "" ] # [ doc = "\\note not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSetLwGeomWarningMsg ( msg : * const :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Utility function: MakeValid" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will attempt to create a valid representation of a given" ] # [ doc = "invalid geometry without loosing any of the input vertices." ] # [ doc = "\\n Already-valid geometries are returned without further intervention." ] # [ doc = "\\n NULL will be returned if the passed argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaMakeValidDiscarded" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaMakeValid()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaMakeValid ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: MakeValidDiscarded" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will attempt to collect any invalid item (offending" ] # [ doc = "geometries) discarded by gaiaMakeValid while building a valid Geometry." ] # [ doc = "\\n Saving any discarded item could be useful for a finer (manual) adjustment." ] # [ doc = "\\n NULL will be returned if gaiaMakeValid hasn\'t identified any offending item" ] # [ doc = "to be discarded during the validation." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaMakeValid" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaMakeValidDiscarded()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaMakeValidDiscarded ( geom : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: Segmentize" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "\\param dist the meximum segment length." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will return a modified geometry having no segment longer than the given distance." ] # [ doc = "\\n Distance computation is performed in 2d only." ] # [ doc = "\\n all Points or segments shorter than \'dist\' will be returned without further intervention." ] # [ doc = "\\n NULL will be returned if the passed argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSegmentize()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSegmentize ( geom : gaiaGeomCollPtr , dist : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: Azimuth" ] # [ doc = "" ] # [ doc = "\\param xa the X coordinate of PointA." ] # [ doc = "\\param ya the Y coordinate of PointA." ] # [ doc = "\\param xb the X ccordinate of PointB." ] # [ doc = "\\param yb the Y coordinate of PointB." ] # [ doc = "\\param azimuth on completion this variable will contain the angle in radians from" ] # [ doc = "the horizontal of the vector defined by pointA and pointB." ] # [ doc = "\\n Angle is computed clockwise from down-to-up: on the clock: 12=0; 3=PI/2; 6=PI; 9=3PI/2." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaProjectedPoint" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaAzimuth ( xa : f64 , ya : f64 , xb : f64 , yb : f64 , azimuth : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: EllipsoidAzimuth" ] # [ doc = "" ] # [ doc = "\\param xa the X coordinate of PointA." ] # [ doc = "\\param ya the Y coordinate of PointA." ] # [ doc = "\\param xb the X ccordinate of PointB." ] # [ doc = "\\param yb the Y coordinate of PointB." ] # [ doc = "\\param a major axis of the reference spheroid." ] # [ doc = "\\param b minor axis of the reference spheroid." ] # [ doc = "\\param azimuth on completion this variable will contain the angle in radians from" ] # [ doc = "the horizontal of the vector defined by pointA and pointB." ] # [ doc = "\\n Angle is computed clockwise from down-to-up: on the clock: 12=0; 3=PI/2; 6=PI; 9=3PI/2." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaAzimuth" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaEllipsoidAzimuth ( xa : f64 , ya : f64 , xb : f64 , yb : f64 , a : f64 , b : f64 , azimuth : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: ProjectedPoint" ] # [ doc = "" ] # [ doc = "\\param x1 the X coordinate of the Start Point." ] # [ doc = "\\param y1 the Y coordinate of the Start Point." ] # [ doc = "\\param a major axis of the reference spheroid." ] # [ doc = "\\param b minor axis of the reference spheroid." ] # [ doc = "\\param distance a distance expressed in Meters" ] # [ doc = "\\param azimuth (aka bearing aka heading) expressed in radians;" ] # [ doc = "on the clock: 12=0; 3=PI/2; 6=PI; 9=3PI/2." ] # [ doc = "\\param x2 on completion this variable will contain the the X coordinate" ] # [ doc = "of the Projected Point." ] # [ doc = "\\param y2 on completion this variable will contain the the Y coordinate" ] # [ doc = "of the Projected Point." ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaProjectedPoint ( x1 : f64 , y1 : f64 , a : f64 , b : f64 , distance : f64 , azimuth : f64 , x2 : * mut f64 , y2 : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: GeoHash" ] # [ doc = "" ] # [ doc = "\\param geom the input geometry." ] # [ doc = "\\param precision the expected precision: if <= 0 will be automatically determined." ] # [ doc = "" ] # [ doc = "\\return NULL on failure: a null-terminated text string on success" ] # [ doc = "" ] # [ doc = "\\note you are responsible to free (before or after) any text string returned" ] # [ doc = "by gaiaGeoHash()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaGeoHash ( geom : gaiaGeomCollPtr , precision : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Utility function: AsX3D" ] # [ doc = "" ] # [ doc = "\\param geom the input geometry." ] # [ doc = "\\param srs the WKT SRS definition." ] # [ doc = "\\param precision the expected precision (coord decimal digits)." ] # [ doc = "\\param options" ] # [ doc = "\\param refid the X3D namespace" ] # [ doc = "" ] # [ doc = "\\return NULL on failure: a null-terminated text string on success" ] # [ doc = "" ] # [ doc = "\\note you are responsible to free (before or after) any text string returned" ] # [ doc = "by gaiaAsX3D()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaAsX3D ( geom : gaiaGeomCollPtr , srs : * const :: std :: os :: raw :: c_char , precision : :: std :: os :: raw :: c_int , options : :: std :: os :: raw :: c_int , refid : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Calculates the minimum 3D distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDistance, gaiaMaxDistance, gaia3DMaxDisance" ] # [ doc = "" ] # [ doc = "\\note this function computes the 3D cartesian distance (if Z is supported)" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaia3DDistance ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the maximum 2D distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDistance, gaia3DDistance, gaia3DMaxDistance" ] # [ doc = "" ] # [ doc = "\\note this function computes the 2D maximum cartesian distance (Z is always ignored)" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaMaxDistance ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Calculates the maximum 3D distance intercurring between two Geometry objects" ] # [ doc = "" ] # [ doc = "\\param geom1 the first Geometry object" ] # [ doc = "\\param geom2 the second Geometry object" ] # [ doc = "\\param dist on completion this variable will contain the calculated distance" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success." ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollDistance, gaia3DDistance, gaiaMaxDistance" ] # [ doc = "" ] # [ doc = "\\note this function computes the 3D maximum cartesian distance (if Z is supported)" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaia3DMaxDistance ( geom1 : gaiaGeomCollPtr , geom2 : gaiaGeomCollPtr , dist : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: Split" ] # [ doc = "" ] # [ doc = "\\param input the input Geometry object." ] # [ doc = "\\param blade the blade Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n The function supports splitting a line by point, a line by line, a polygon by line." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaSplitLeft, gaiaSplitRight" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSplit()" ] # [ doc = "" ] # [ doc = "\\note gaiaSplit will return both the \\b left and the \\b right split halves at the same time." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSplit ( input : gaiaGeomCollPtr , blade : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: SplitLeft" ] # [ doc = "" ] # [ doc = "\\param input the input Geometry object." ] # [ doc = "\\param blade the blade Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n The function supports splitting a line by point, a line by line, a polygon by line." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaSplit, gaiaSplitRight" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSplitLeft()" ] # [ doc = "" ] # [ doc = "\\note gaiaSplitLeft will only return the \\b left split half; NULL may be eventually" ] # [ doc = "returned if empty." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSplitLeft ( input : gaiaGeomCollPtr , blade : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: SplitRight" ] # [ doc = "" ] # [ doc = "\\param input the input Geometry object." ] # [ doc = "\\param blade the blade Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n The function supports splitting a line by point, a line by line, a polygon by line." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl, gaiaSplit, gaiaSplitLeft" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSplitRight()" ] # [ doc = "" ] # [ doc = "\\note gaiaSplitLeft will only return the \\b right split half; NULL may be eventually" ] # [ doc = "returned if empty." ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaSplitRight ( input : gaiaGeomCollPtr , blade : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Measures the total Area for a Geometry object (geodesic)" ] # [ doc = "" ] # [ doc = "\\param geom pointer to Geometry object" ] # [ doc = "\\param a major axis of the reference spheroid." ] # [ doc = "\\param b minor axis of the reference spheroid." ] # [ doc = "\\param use_ellipsoid if TRUE will measure the Area on the Ellipsoid," ] # [ doc = "otherwise on the Sphere" ] # [ doc = "\\param area on completion this variable will contain the measured area" ] # [ doc = "" ] # [ doc = "\\return 0 on failure: any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaGeomCollLength, gaiaMeasureArea, gaiaGeomCollArea" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaGeodesicArea ( geom : gaiaGeomCollPtr , a : f64 , b : f64 , use_ellipsoid : :: std :: os :: raw :: c_int , area : * mut f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Utility function: re-noding lines" ] # [ doc = "" ] # [ doc = "\\param input the input Geometry object." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n The function fully nodes a set of linestrings, using the least nodes" ] # [ doc = "preserving all the input ones." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaNode()" ] # [ doc = "" ] # [ doc = "\\remark \\b LWGEOM support required." ] pub fn gaiaNodeLines ( input : gaiaGeomCollPtr ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Utility function: SnapToGrid" ] # [ doc = "" ] # [ doc = "\\param geom the input Geometry object." ] # [ doc = "\\param origin_x the X ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_y the Y coordinate identifiying the Grid Origin." ] # [ doc = "\\param origin_z the Z ccordinate identifying the Grid Origin." ] # [ doc = "\\param origin_m the M coordinate identifiying the Grid Origin." ] # [ doc = "\\param size_x Grid cell size (X axis)." ] # [ doc = "\\param size_y Grid cell size (Y axis)." ] # [ doc = "\\param size_z Grid cell size (Z axis)." ] # [ doc = "\\param size_m Grid cell size (M axis)." ] # [ doc = "" ] # [ doc = "\\return the pointer to newly created Geometry object: NULL on failure." ] # [ doc = "\\n this function will return a modified geometry having all points snapped to a regular Grid" ] # [ doc = "defined by its origin and cell size." ] # [ doc = "\\n Consecutive points falling on the same cell will be removed, eventually returning NULL if" ] # [ doc = "\\n output points are not enough to define a geometry of the given type." ] # [ doc = "\\n Collapsed geometries in a collection are stripped from it." ] # [ doc = "\\n Specify 0 as size for any dimension you don\'t want to snap to a grid." ] # [ doc = "\\n NULL will be returned if the passed argument is invalid." ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeGeomColl" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated Geometry," ] # [ doc = "this including any Geometry returned by gaiaSnapToGrid()" ] # [ doc = "" ] pub fn gaiaSnapToGrid ( geom : gaiaGeomCollPtr , origin_x : f64 , origin_y : f64 , origin_z : f64 , origin_m : f64 , size_x : f64 , size_y : f64 , size_z : f64 , size_m : f64 ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "return the LIBXML2 version string" ] # [ doc = "" ] # [ doc = "\\return a text string identifying the current LIBXML2 version" ] # [ doc = "" ] # [ doc = "\\note the version string corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaia_libxml2_version ( ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Creates an XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param xml pointer to the XML document (XmlBLOB payload)." ] # [ doc = "\\param xml_len lenght of the XML document (in bytes)." ] # [ doc = "\\param compressed if TRUE the returned XmlBLOB will be zip-compressed." ] # [ doc = "\\param schemaURI if not NULL the XML document will be assumed to be valid" ] # [ doc = "only if it successfully passes a formal Schema valitadion." ] # [ doc = "\\param result on completion will containt a pointer to XmlBLOB:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the XmlBLOB\'s size (in bytes)" ] # [ doc = "\\param parsing_errors on completion this variable will contain all error/warning" ] # [ doc = "messages emitted during the XML Parsing step. Can be set to NULL so to ignore any message." ] # [ doc = "\\param schema_validation_errors on completion this variable will contain all error/warning" ] # [ doc = "messages emitted during the XML Schema Validation step. Can be set to NULL so to ignore any message." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlFromBlob, gaiaXmlTextFromBlob, gaiaXmlBlobGetLastParseError," ] # [ doc = "gaiaXmlBlobGetLastValidateError" ] # [ doc = "" ] # [ doc = "\\note the XmlBLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaXmlToBlob ( p_cache : * const :: std :: os :: raw :: c_void , xml : * const :: std :: os :: raw :: c_uchar , xml_len : :: std :: os :: raw :: c_int , compressed : :: std :: os :: raw :: c_int , schemaURI : * const :: std :: os :: raw :: c_char , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int , parsing_errors : * mut * mut :: std :: os :: raw :: c_char , schema_validation_errors : * mut * mut :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Extract an XMLDocument from within an XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param indent if a negative value is passed the XMLDocument will" ] # [ doc = "be extracted exactly as it was when loaded. Otherwise it will be" ] # [ doc = "properly formatted using the required intenting (max. 8); ZERO" ] # [ doc = "means that the whole XML Document will consist of a single line." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created XMLDocument buffer: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlToBlob, gaiaXmlFromBlob" ] # [ doc = "" ] # [ doc = "\\note the returned XMLDocument will always be encoded as UTF-8 (irrespectively" ] # [ doc = "from the internal encoding declaration), so to allow any further processing as" ] # [ doc = "SQLite TEXT." ] # [ doc = "" ] # [ doc = "\\note the XMLDocument buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlTextFromBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , indent : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Extract an XMLDocument from within an XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param indent if a negative value is passed the XMLDocument will" ] # [ doc = "be extracted exactly as it was when loaded. Otherwise it will be" ] # [ doc = "properly formatted using the required intenting (max. 8); ZERO" ] # [ doc = "means that the whole XML Document will consist of a single line." ] # [ doc = "\\param result pointer to the memory buffer containing the XML Document" ] # [ doc = "\\param res_size dimension (in bytes) of the XML Document memory buffer" ] # [ doc = "(both values will be passed back after successful completion)." ] # [ doc = "" ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlToBlob, gaiaXmlTextFromBlob" ] # [ doc = "" ] # [ doc = "\\note the returned XMLDocument will always respect the internal encoding declaration," ] # [ doc = "and may not support any further processing as SQLite TEXT if it\'s not UTF-8." ] # [ doc = "" ] # [ doc = "\\note the XMLDocument buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlFromBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , indent : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , res_size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Checks if a BLOB actually is a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsCompressedXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob," ] # [ doc = "gaiaIsSvgXmlBlob" ] pub fn gaiaIsValidXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer is compressed or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob," ] # [ doc = "gaiaIsSvgXmlBlob" ] pub fn gaiaIsCompressedXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer does contain an ISO Metadata or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob," ] # [ doc = "gaiaIsSvgXmlBlob" ] pub fn gaiaIsIsoMetadataXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB of the" ] # [ doc = "Vector type; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSvgXmlBlob" ] pub fn gaiaIsSldSeVectorStyleXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB of the" ] # [ doc = "Raster type; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob," ] # [ doc = "gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldStyleXmlBlob," ] # [ doc = "gaiaIsSvgXmlBlob" ] pub fn gaiaIsSldSeRasterStyleXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer does contain an SLD Style or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB of the" ] # [ doc = "SLD type; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob," ] # [ doc = "gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterXmlBlob," ] # [ doc = "gaiaIsSvgXmlBlob" ] pub fn gaiaIsSldStyleXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer does contain an SVG Symbol or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob," ] # [ doc = "gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob" ] pub fn gaiaIsSvgXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return another XmlBLOB buffer compressed / uncompressed" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the input XmlBLOB buffer." ] # [ doc = "\\param in_size input XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param compressed if TRUE the returned XmlBLOB will be zip-compressed." ] # [ doc = "\\param result on completion will containt a pointer to the output XmlBLOB:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param out_size on completion this variable will contain the output XmlBLOB\'s size (in bytes)" ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlToBlob, gaiaIsCompressedXmlBlob" ] # [ doc = "" ] # [ doc = "\\note the XmlBLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaXmlBlobCompression ( blob : * const :: std :: os :: raw :: c_uchar , in_size : :: std :: os :: raw :: c_int , compressed : :: std :: os :: raw :: c_int , result : * mut * mut :: std :: os :: raw :: c_uchar , out_size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Checks if a valid XmlBLOB buffer has successfully passed a formal Schema validation or not" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the BLOB actually is a valid XmlBLOB but not schema-validated;" ] # [ doc = "-1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsValidXmlBlob, gaiaIsSvgXmlBlob," ] # [ doc = "gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob," ] # [ doc = "gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterStyleXmlBlob," ] # [ doc = "gaiaIsSldStyleXmlBlob" ] pub fn gaiaIsSchemaValidatedXmlBlob ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return the XMLDocument size (in bytes) from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the XMLDocument size (in bytes) for any valid XmlBLOB;" ] # [ doc = "-1 if the BLOB isn\'t a valid XmlBLOB." ] pub fn gaiaXmlBlobGetDocumentSize ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return the SchemaURI from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the SchemaURI for any valid XmlBLOB containing a SchemaURI;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlGetInternalSchemaURI" ] # [ doc = "" ] # [ doc = "\\note the returned SchemaURI corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetSchemaURI ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the Internal SchemaURI from a valid XmlDocument" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param xml pointer to the XML document" ] # [ doc = "\\param xml_len lenght of the XML document (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the SchemaURI eventually defined within a valid XMLDocument;" ] # [ doc = "NULL if the XMLDocument is invalid, or if it doesn\'t contain any SchemaURI." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlBlobGetSchemaURI" ] # [ doc = "" ] # [ doc = "\\note the returned SchemaURI corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlGetInternalSchemaURI ( p_cache : * const :: std :: os :: raw :: c_void , xml : * const :: std :: os :: raw :: c_uchar , xml_len : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the FileIdentifier from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the FileIdentifier for any valid XmlBLOB containing a FileIdentifier;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobSetFileId, gaiaXmlBlobAddFileId" ] # [ doc = "" ] # [ doc = "\\note the returned FileIdentifier corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetFileId ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the ParentIdentifier from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the ParentIdentifier for any valid XmlBLOB containing a ParentIdentifier;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobSetParentId, gaiaXmlBlobAddParentId" ] # [ doc = "" ] # [ doc = "\\note the returned ParentIdentifier corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetParentId ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return a new XmlBLOB (ISO Metadata) by replacing the FileId value" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param blob pointer to the input XmlBLOB buffer." ] # [ doc = "\\param size input XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param identifier the new FileId value to be set." ] # [ doc = "\\param new_blob on completion will contain a pointer to the output XmlBLOB buffer." ] # [ doc = "\\param new_size on completion will containg the output XmlBlob\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE for success; FALSE for any failure cause." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobGetFileId, gaiaXmlBlobAddFileId" ] # [ doc = "" ] # [ doc = "\\note the output XmlBLOB corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobSetFileId ( p_cache : * const :: std :: os :: raw :: c_void , blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , identifier : * const :: std :: os :: raw :: c_char , new_blob : * mut * mut :: std :: os :: raw :: c_uchar , new_size : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return a new XmlBLOB (ISO Metadata) by replacing the ParentId value" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param blob pointer to the inputXmlBLOB buffer." ] # [ doc = "\\param size input XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param identifier the new ParentId value to be set." ] # [ doc = "\\param new_blob on completion will contain a pointer to the output XmlBLOB buffer." ] # [ doc = "\\param new_size on completion will containg the output XmlBlob\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE for success; FALSE for any failure cause." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobGetParentId, gaiaXmlBlobAddParentId" ] # [ doc = "" ] # [ doc = "\\note the returned XmlBLOB corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobSetParentId ( p_cache : * const :: std :: os :: raw :: c_void , blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , identifier : * const :: std :: os :: raw :: c_char , new_blob : * mut * mut :: std :: os :: raw :: c_uchar , new_size : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return a new XmlBLOB (ISO Metadata) by inserting a FileId value" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param blob pointer to the input XmlBLOB buffer." ] # [ doc = "\\param size input XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param identifier the new FileId value to be inserted." ] # [ doc = "\\param ns_id prefix corresponding to FileIdentifier NameSpace (may be NULL)" ] # [ doc = "\\param uri_id URI corresponding to the FileIdentifier NameSpace (may be NULL)" ] # [ doc = "\\param ns_charstr prefix corresponding to CharacterString NameSpace (may be NULL)" ] # [ doc = "\\param uri_charstr URI corresponding to CharacterString NameSpace (may be NULL)" ] # [ doc = "\\param new_blob on completion will contain a pointer to the output XmlBLOB buffer." ] # [ doc = "\\param new_size on completion will containg the output XmlBlob\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE for success; FALSE for any failure cause." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobGetFileId, gaiaXmlBlobSetFileId" ] # [ doc = "" ] # [ doc = "\\note the output XmlBLOB corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobAddFileId ( p_cache : * const :: std :: os :: raw :: c_void , blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , identifier : * const :: std :: os :: raw :: c_char , ns_id : * const :: std :: os :: raw :: c_char , uri_id : * const :: std :: os :: raw :: c_char , ns_charstr : * const :: std :: os :: raw :: c_char , uri_charstr : * const :: std :: os :: raw :: c_char , new_blob : * mut * mut :: std :: os :: raw :: c_uchar , new_size : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return a new XmlBLOB (ISO Metadata) by inserting a ParentId value" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param blob pointer to the inputXmlBLOB buffer." ] # [ doc = "\\param size input XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param identifier the new ParentId value to be inserted." ] # [ doc = "\\param ns_id prefix corresponding to FileIdentifier NameSpace (may be NULL)" ] # [ doc = "\\param uri_id URI corresponding to the FileIdentifier NameSpace (may be NULL)" ] # [ doc = "\\param ns_charstr prefix corresponding to CharacterString NameSpace (may be NULL)" ] # [ doc = "\\param uri_charstr URI corresponding to CharacterString NameSpace (may be NULL)" ] # [ doc = "\\param new_blob on completion will contain a pointer to the output XmlBLOB buffer." ] # [ doc = "\\param new_size on completion will containg the output XmlBlob\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return TRUE for success; FALSE for any failure cause." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaXmlBlobGetParentId, gaiaXmlBlobSetParentId" ] # [ doc = "" ] # [ doc = "\\note the returned XmlBLOB corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobAddParentId ( p_cache : * const :: std :: os :: raw :: c_void , blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , identifier : * const :: std :: os :: raw :: c_char , ns_id : * const :: std :: os :: raw :: c_char , uri_id : * const :: std :: os :: raw :: c_char , ns_charstr : * const :: std :: os :: raw :: c_char , uri_charstr : * const :: std :: os :: raw :: c_char , new_blob : * mut * mut :: std :: os :: raw :: c_uchar , new_size : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return the Name from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the Name for any valid XmlBLOB containing a Name;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob" ] # [ doc = "" ] # [ doc = "\\note the returned Name corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetName ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the Title from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the Title for any valid XmlBLOB containing a Title;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob" ] # [ doc = "" ] # [ doc = "\\note the returned Title corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetTitle ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the Abstract from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the Abstract for any valid XmlBLOB containing an Abstract;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob," ] # [ doc = "gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob" ] # [ doc = "" ] # [ doc = "\\note the returned Abstract corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetAbstract ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the Geometry Buffer from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param blob_geom on completion this variable will contain" ] # [ doc = "a pointer to the returned Geometry Buffer (NULL if no Geometry" ] # [ doc = "was defined within the XmlBLOB)" ] # [ doc = "\\param blob_size on completion this variable will contain" ] # [ doc = "the size (in bytes) of the returned Geometry Buffer" ] # [ doc = "" ] # [ doc = "\\sa gaiaIsIsoMetadataXmlBlob" ] # [ doc = "" ] # [ doc = "\\note the returned Geometry Buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetGeometry ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , blob_geom : * mut * mut :: std :: os :: raw :: c_uchar , blob_size : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Return the Charset Encoding from a valid XmlBLOB buffer" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "" ] # [ doc = "\\return the Charset Encoding for any valid XmlBLOB explicitly defining an Encoding;" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\note the returned Encoding corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetEncoding ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the most recent XML Parse error/warning (if any)" ] # [ doc = "" ] # [ doc = "\\param ptr a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the most recent XML Parse error/warning message (if any);" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlBlobGetLastValidateError, gaiaIsValidXPathExpression," ] # [ doc = "gaiaXmlBlobGetLastXPathError" ] # [ doc = "" ] # [ doc = "\\note the returned error/warning message corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetLastParseError ( p_cache : * const :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the most recent XML Validate error/warning (if any)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the most recent XML Validate error/warning message (if any);" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlBlobGetLastParseError, gaiaIsValidXPathExpression," ] # [ doc = "gaiaXmlBlobGetLastXPathError" ] # [ doc = "" ] # [ doc = "\\note the returned error/warning message corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetLastValidateError ( p_cache : * const :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Checks if a Text string could be a valid XPathExpression" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param xpath_expr pointer to the XPathExpression to be checked." ] # [ doc = "" ] # [ doc = "\\return TRUE or FALSE if the Text string actually is a valid XPathExpression;" ] # [ doc = "-1 in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlBlobGetLastXPathError" ] pub fn gaiaIsValidXPathExpression ( p_cache : * const :: std :: os :: raw :: c_void , xpath_expr : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Return the most recent XPath error/warning (if any)" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\return the most recent XPath error/warning message (if any);" ] # [ doc = "NULL in any other case." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlBlobGetLastParseError, gaiaXmlBlobGetLastValidateError," ] # [ doc = "gaiaIsValidXPathExpression" ] # [ doc = "" ] # [ doc = "\\note the returned error/warning message corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] pub fn gaiaXmlBlobGetLastXPathError ( p_cache : * const :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Load an external XML Document" ] # [ doc = "" ] # [ doc = "\\param path_or_url pointer to the external XML Document (could be a pathname or an URL)." ] # [ doc = "\\param result on completion will containt a pointer to a BLOB:" ] # [ doc = "NULL on failure." ] # [ doc = "\\param size on completion this variable will contain the BLOB\'s size (in bytes)." ] # [ doc = "\\param parsing_errors on completion this variable will contain all error/warning" ] # [ doc = "messages emitted during the XML Parsing step. Can be set to NULL so to ignore any message." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlFromBlob, gaiaXmlStore" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaXmlLoad ( p_cache : * const :: std :: os :: raw :: c_void , path_or_url : * const :: std :: os :: raw :: c_char , result : * mut * mut :: std :: os :: raw :: c_uchar , size : * mut :: std :: os :: raw :: c_int , parsing_errors : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Stores an external XML Document" ] # [ doc = "" ] # [ doc = "\\param blob pointer to the XmlBLOB buffer." ] # [ doc = "\\param size XmlBLOB\'s size (in bytes)." ] # [ doc = "\\param path pathname of the export file" ] # [ doc = "\\param indent if a negative value is passed the XMLDocument will" ] # [ doc = "be extracted exactly as it was when loaded. Otherwise it will be" ] # [ doc = "properly formatted using the required intenting (max. 8); ZERO" ] # [ doc = "means that the whole XML Document will consist of a single line." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlToBlob, gaiaXmlTextFromBlob" ] # [ doc = "" ] # [ doc = "\\note the returned XMLDocument will always respect the internal encoding declaration," ] # [ doc = "and may not support any further processing as SQLite TEXT if it\'s not UTF-8." ] # [ doc = "" ] # [ doc = "\\note the XMLDocument buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it before or after." ] # [ doc = "" ] # [ doc = "\\sa gaiaXmlFromBlob, gaiaXmlLoad" ] # [ doc = "" ] # [ doc = "\\note the BLOB buffer corresponds to dynamically allocated memory:" ] # [ doc = "so you are responsible to free() it [unless SQLite will take care" ] # [ doc = "of memory cleanup via buffer binding]." ] pub fn gaiaXmlStore ( blob : * const :: std :: os :: raw :: c_uchar , size : :: std :: os :: raw :: c_int , path : * const :: std :: os :: raw :: c_char , indent : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Initializes the library" ] # [ doc = "" ] # [ doc = "\\note you are always expected to explicitly call this function" ] # [ doc = "before attempting to call any SpatiaLite own function." ] pub fn spatialite_initialize ( ) ; } extern "C" { # [ doc = "Finalizes the library" ] # [ doc = "" ] # [ doc = "\\note you are always expected to explicitly call this function" ] # [ doc = "immediately before exiting the main application.\\n" ] # [ doc = "This function will free any memory allocation and will release" ] # [ doc = "any system resource internally used by the library.\\n" ] pub fn spatialite_shutdown ( ) ; } extern "C" { # [ doc = "Return the current library version." ] # [ doc = "" ] # [ doc = "\\return the version string." ] pub fn spatialite_version ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Return the target CPU name." ] # [ doc = "" ] # [ doc = "\\return the target CPU string." ] pub fn spatialite_target_cpu ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Initializes the internal memory block supporting each connection" ] # [ doc = "" ] # [ doc = "\\sa spatialite_init_ex, spatialite_cleanup_ex" ] # [ doc = "" ] pub fn spatialite_alloc_connection ( ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Initializes a SpatiaLite connection." ] # [ doc = "" ] # [ doc = "This function is now \\b DEPRECATED because is not reentrant (not thread safe);" ] # [ doc = "use spatialite_init_ex() for all new development." ] # [ doc = "" ] # [ doc = "\\param verbose if TRUE a short start-up message is shown on stderr" ] # [ doc = "" ] # [ doc = "\\sa spatialite_cleanup, spatialite_init_ex" ] # [ doc = "" ] # [ doc = "\\note You absolutely must invoke this function before attempting to perform" ] # [ doc = "any other SpatiaLite\'s call." ] # [ doc = "" ] pub fn spatialite_init ( verbose : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Initializes a SpatiaLite connection." ] # [ doc = "" ] # [ doc = "\\param db_handle handle to the current SQLite connection" ] # [ doc = "\\param ptr a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param verbose if TRUE a short start-up message is shown on stderr" ] # [ doc = "" ] # [ doc = "\\sa spatialite_alloc_connection, spatialite_cleanup_ex, spatialite_init" ] # [ doc = "" ] # [ doc = "\\note You absolutely must invoke this function before attempting to perform" ] # [ doc = "any other SpatiaLite\'s call." ] # [ doc = "" ] pub fn spatialite_init_ex ( db_handle : * mut sqlite3 , ptr : * const :: std :: os :: raw :: c_void , verbose : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Initializes the GEOS library." ] # [ doc = "" ] # [ doc = "\\note You are never supposed to invoke this function (internally handled)." ] # [ doc = "" ] pub fn spatialite_init_geos ( ) ; } extern "C" { # [ doc = "Cleanup a SpatiaLite connection" ] # [ doc = "" ] # [ doc = "This function is now \\b DEPRECATED; use spatialite_cleanup_ex() for all new development." ] # [ doc = "" ] # [ doc = "This function performs general cleanup, essentially undoing the effect" ] # [ doc = "of spatialite_init()." ] # [ doc = "" ] # [ doc = "\\sa spatialite_init" ] pub fn spatialite_cleanup ( ) ; } extern "C" { # [ doc = "Cleanup a SpatiaLite connection" ] # [ doc = "" ] # [ doc = "This function performs general cleanup, essentially undoing the effect" ] # [ doc = "of spatialite_init_ex()." ] # [ doc = "" ] # [ doc = "\\param ptr the same memory pointer passed to the corresponding call to" ] # [ doc = "spatialite_init_ex() and returned by spatialite_alloc_connection()" ] # [ doc = "" ] # [ doc = "\\sa spatialite_init_ex, spatialite_alloc_connection" ] pub fn spatialite_cleanup_ex ( ptr : * const :: std :: os :: raw :: c_void ) ; } extern "C" { # [ doc = "Dumps a full geometry-table into an external Shapefile" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param column the name of the geometry column" ] # [ doc = "\\param shp_path pathname of the Shapefile to be exported (no suffix)" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param geom_type \"POINT\", \"LINESTRING\", \"POLYGON\", \"MULTIPOLYGON\" or NULL" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param rows on completion will contain the total number of exported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_shapefile ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , column : * mut :: std :: os :: raw :: c_char , shp_path : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , geom_type : * mut :: std :: os :: raw :: c_char , verbose : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external Shapefile into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param shp_path pathname of the Shapefile to be imported (no suffix)" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param srid the SRID to be set for Geometries" ] # [ doc = "\\param column the name of the geometry column" ] # [ doc = "\\param coerce2d if TRUE any Geometry will be casted to 2D [XY]" ] # [ doc = "\\param compressed if TRUE compressed Geometries will be created" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param spatial_index if TRUE an R*Tree Spatial Index will be created" ] # [ doc = "\\param rows on completion will contain the total number of imported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa load_shapefile_ex, load_shapefile_ex2" ] # [ doc = "" ] # [ doc = "\\note this function simply calls load_shapefile_ex by passing" ] # [ doc = "implicit gype=\"AUTO\" and pk_column=NULL arguments" ] pub fn load_shapefile ( sqlite : * mut sqlite3 , shp_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , srid : :: std :: os :: raw :: c_int , column : * mut :: std :: os :: raw :: c_char , coerce2d : :: std :: os :: raw :: c_int , compressed : :: std :: os :: raw :: c_int , verbose : :: std :: os :: raw :: c_int , spatial_index : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external Shapefile into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param shp_path pathname of the Shapefile to be imported (no suffix)" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param srid the SRID to be set for Geometries" ] # [ doc = "\\param geo_column the name of the geometry column" ] # [ doc = "\\param gtype expected to be one of: \"LINESTRING\", \"LINESTRINGZ\"," ] # [ doc = "\"LINESTRINGM\", \"LINESTRINGZM\", \"MULTILINESTRING\", \"MULTILINESTRINGZ\"," ] # [ doc = "\"MULTILINESTRINGM\", \"MULTILINESTRINGZM\", \"POLYGON\", \"POLYGONZ\", \"POLYGONM\"," ] # [ doc = "\"POLYGONZM\", \"MULTIPOLYGON\", \"MULTIPOLYGONZ\", \"MULTIPOLYGONM\"," ] # [ doc = "\"MULTIPOLYGONZM\" or \"AUTO\"." ] # [ doc = "\\param pk_column name of the Primary Key column; if NULL or mismatching" ] # [ doc = "then \"PK_UID\" will be assumed by default." ] # [ doc = "\\param coerce2d if TRUE any Geometry will be casted to 2D [XY]" ] # [ doc = "\\param compressed if TRUE compressed Geometries will be created" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param spatial_index if TRUE an R*Tree Spatial Index will be created" ] # [ doc = "\\param rows on completion will contain the total number of imported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa load_shapefile, load_shapefile_ex2" ] # [ doc = "" ] # [ doc = "\\note the Shapefile format doesn\'t supports any distinction between" ] # [ doc = "LINESTRINGs and MULTILINESTRINGs, or between POLYGONs and MULTIPOLYGONs;" ] # [ doc = "as does not allows to clearly distinguish if the M-measure is required." ] # [ doc = "\\n So a first preliminary scan of the Shapefile is required in order to" ] # [ doc = "correctly identify the actual payload (gtype = \"AUTO\", default case)." ] # [ doc = "\\n By explicitly specifying some expected geometry type this first scan" ] # [ doc = "will be skipped at all thus introducing a noticeable performance gain." ] # [ doc = "\\n Anyway, declaring a mismatching geometry type will surely cause a failure." ] pub fn load_shapefile_ex ( sqlite : * mut sqlite3 , shp_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , srid : :: std :: os :: raw :: c_int , geo_column : * mut :: std :: os :: raw :: c_char , gtype : * mut :: std :: os :: raw :: c_char , pk_column : * mut :: std :: os :: raw :: c_char , coerce2d : :: std :: os :: raw :: c_int , compressed : :: std :: os :: raw :: c_int , verbose : :: std :: os :: raw :: c_int , spatial_index : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external Shapefile into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param shp_path pathname of the Shapefile to be imported (no suffix)" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param srid the SRID to be set for Geometries" ] # [ doc = "\\param geo_column the name of the geometry column" ] # [ doc = "\\param gtype expected to be one of: \"LINESTRING\", \"LINESTRINGZ\"," ] # [ doc = "\"LINESTRINGM\", \"LINESTRINGZM\", \"MULTILINESTRING\", \"MULTILINESTRINGZ\"," ] # [ doc = "\"MULTILINESTRINGM\", \"MULTILINESTRINGZM\", \"POLYGON\", \"POLYGONZ\", \"POLYGONM\"," ] # [ doc = "\"POLYGONZM\", \"MULTIPOLYGON\", \"MULTIPOLYGONZ\", \"MULTIPOLYGONM\"," ] # [ doc = "\"MULTIPOLYGONZM\" or \"AUTO\"." ] # [ doc = "\\param pk_column name of the Primary Key column; if NULL or mismatching" ] # [ doc = "then \"PK_UID\" will be assumed by default." ] # [ doc = "\\param coerce2d if TRUE any Geometry will be casted to 2D [XY]" ] # [ doc = "\\param compressed if TRUE compressed Geometries will be created" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param spatial_index if TRUE an R*Tree Spatial Index will be created" ] # [ doc = "\\param text_dates is TRUE all DBF dates will be considered as TEXT" ] # [ doc = "\\param rows on completion will contain the total number of imported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa load_shapefile, load_shapefile_ex" ] # [ doc = "" ] # [ doc = "\\note the Shapefile format doesn\'t supports any distinction between" ] # [ doc = "LINESTRINGs and MULTILINESTRINGs, or between POLYGONs and MULTIPOLYGONs;" ] # [ doc = "as does not allows to clearly distinguish if the M-measure is required." ] # [ doc = "\\n So a first preliminary scan of the Shapefile is required in order to" ] # [ doc = "correctly identify the actual payload (gtype = \"AUTO\", default case)." ] # [ doc = "\\n By explicitly specifying some expected geometry type this first scan" ] # [ doc = "will be skipped at all thus introducing a noticeable performance gain." ] # [ doc = "\\n Anyway, declaring a mismatching geometry type will surely cause a failure." ] pub fn load_shapefile_ex2 ( sqlite : * mut sqlite3 , shp_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , srid : :: std :: os :: raw :: c_int , geo_column : * mut :: std :: os :: raw :: c_char , gtype : * mut :: std :: os :: raw :: c_char , pk_column : * mut :: std :: os :: raw :: c_char , coerce2d : :: std :: os :: raw :: c_int , compressed : :: std :: os :: raw :: c_int , verbose : :: std :: os :: raw :: c_int , spatial_index : :: std :: os :: raw :: c_int , text_date : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external DBF file into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param dbf_path pathname of the DBF file to be imported" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param rows on completion will contain the total number of actually exported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\sa load_dbf_ex, load_dbf_ex2" ] # [ doc = "" ] # [ doc = "\\note this function simply calls load_dbf_ex by passing an" ] # [ doc = "implicit pk_column=NULL argument" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn load_dbf ( sqlite : * mut sqlite3 , dbf_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , verbose : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external DBF file into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param dbf_path pathname of the DBF file to be imported" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param pk_column name of the Primary Key column; if NULL or mismatching" ] # [ doc = "then \"PK_UID\" will be assumed by default." ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param rows on completion will contain the total number of actually exported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\sa load_dbf, load_dbf_ex2" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn load_dbf_ex ( sqlite : * mut sqlite3 , dbf_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , pk_column : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , verbose : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external DBF file into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param dbf_path pathname of the DBF file to be imported" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param pk_column name of the Primary Key column; if NULL or mismatching" ] # [ doc = "then \"PK_UID\" will be assumed by default." ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "\\param text_dates is TRUE all DBF dates will be considered as TEXT" ] # [ doc = "\\param rows on completion will contain the total number of imported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\sa load_dbf, load_dbf_ex" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn load_dbf_ex2 ( sqlite : * mut sqlite3 , dbf_path : * mut :: std :: os :: raw :: c_char , table : * mut :: std :: os :: raw :: c_char , pk_column : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , verbose : :: std :: os :: raw :: c_int , text_date : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Dumps a full table into an external DBF file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param dbf_path pathname of the DBF to be exported" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\sa dump_dbf_ex" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_dbf ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , dbf_path : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Dumps a full table into an external DBF file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param dbf_path pathname of the DBF to be exported" ] # [ doc = "\\param charset a valid GNU ICONV charset to be used for DBF text strings" ] # [ doc = "\\param rows on completion will contain the total number of exported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\sa dump_dbf" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_dbf_ex ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , dbf_path : * mut :: std :: os :: raw :: c_char , charset : * mut :: std :: os :: raw :: c_char , rows : * mut :: std :: os :: raw :: c_int , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Loads an external spreadsheet (.xls) file into a newly created table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param path pathname of the spreadsheet file to be imported" ] # [ doc = "\\param table the name of the table to be created" ] # [ doc = "\\param worksheetIndex the index identifying the worksheet to be imported" ] # [ doc = "\\param first_titles if TRUE the first line is assumed to contain column names" ] # [ doc = "\\param rows on completion will contain the total number of actually exported rows" ] # [ doc = "\\param err_msg on completion will contain an error message (if any)" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn load_XL ( sqlite : * mut sqlite3 , path : * const :: std :: os :: raw :: c_char , table : * const :: std :: os :: raw :: c_char , worksheetIndex : :: std :: os :: raw :: c_uint , first_titles : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_uint , err_msg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "A portable replacement for C99 round()" ] # [ doc = "" ] # [ doc = "\\param value a double value" ] # [ doc = "" ] # [ doc = "\\return the nearest integeral value" ] pub fn math_round ( value : f64 ) -> f64 ; } extern "C" { # [ doc = "A portable replacement for C99 llabs()" ] # [ doc = "" ] # [ doc = "\\param value a 64 bit integer value" ] # [ doc = "" ] # [ doc = "\\return the corresponding absolute value" ] pub fn math_llabs ( value : sqlite3_int64 ) -> sqlite3_int64 ; } extern "C" { # [ doc = "Inserts the inlined EPSG dataset into the \"spatial_ref_sys\" table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa spatial_ref_sys_init2" ] # [ doc = "" ] # [ doc = "\\note this function is internally invoked by the SQL function" ] # [ doc = "InitSpatialMetadata(), and is not usually intended for direct use." ] # [ doc = "This functions is now deprecated, and will simply call" ] # [ doc = "spatial_ref_sys_init2(sqlite, GAIA_EPSG_ANY, verbose)." ] pub fn spatial_ref_sys_init ( sqlite : * mut sqlite3 , verbose : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Inserts the inlined EPSG dataset into the \"spatial_ref_sys\" table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param mode can be one of GAIA_EPSG_ANY, GAIA_EPSG_NONE or GAIA_EPSG_WGS84_ONLY" ] # [ doc = "\\param verbose if TRUE a short report is shown on stderr" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\note this function is internally invoked by the SQL function" ] # [ doc = "InitSpatialMetadata(), and is not usually intended for direct use." ] pub fn spatial_ref_sys_init2 ( sqlite : * mut sqlite3 , mode : :: std :: os :: raw :: c_int , verbose : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Inserts some inlined EPSG definition into the \"spatial_ref_sys\" table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn insert_epsg_srid ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "determining if it is of the geographic type" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "\\param geographic on successful completion will contain TRUE or FALSE" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn srid_is_geographic ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int , geographic : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "determining if it is of the projected type" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "\\param projected on successful completion will contain TRUE or FALSE" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn srid_is_projected ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int , projected : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "determining if the axes order is X-Y or Y-X" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "\\param flipped on successful completion will contain 0 (FALSE) if axes order" ] # [ doc = "is X-Y, any other value (TRUE) if axes order is Y-X." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn srid_has_flipped_axes ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int , flipped : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning the corresponding Spheroid name" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return the Spheroid name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_spheroid ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning the corresponding Prime Meridian name" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return the Prime Meridian name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_prime_meridian ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning the corresponding Projection name" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return the Projection name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_projection ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning the corresponding Datum name" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return the Datum name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_datum ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning the corresponding Unit name" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "" ] # [ doc = "\\return the Unit name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_unit ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "checks a SRID definition from the \"spatial_ref_sys\" table" ] # [ doc = "then returning an Axis definition" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param srid the SRID value uniquely identifying the required EPSG definition" ] # [ doc = "\\param axis should be one of SPLITE_AXIS_1 or SPLITE_AXIS_2" ] # [ doc = "\\param mode should be one of SPLITE_AXIS_NAME or SPLITE_AXIS_ORIENTATION" ] # [ doc = "" ] # [ doc = "\\return the reqested name on succes, NULL on failure" ] # [ doc = "" ] # [ doc = "\\note you are responsible for freeing the returned name." ] pub fn srid_get_axis ( sqlite : * mut sqlite3 , srid : :: std :: os :: raw :: c_int , axis : :: std :: os :: raw :: c_char , mode : :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ doc = "Checks if a column is actually defined into the given table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the table to be checked" ] # [ doc = "\\param column the column to be checked" ] # [ doc = "" ] # [ doc = "\\return 0 on success, any other value on success" ] # [ doc = "" ] # [ doc = "\\note internally used to detect if some KML attribute defaults to a constant value" ] pub fn is_kml_constant ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , column : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Dumps a full geometry-table into an external KML file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param geom_col the name of the geometry column" ] # [ doc = "\\param kml_path pathname of the KML file to be exported" ] # [ doc = "\\param name_col column to be used for KML \"name\" (may be null)" ] # [ doc = "\\param desc_col column to be used for KML \"description\" (may be null)" ] # [ doc = "\\param precision number of decimal digits for coordinates" ] # [ doc = "" ] # [ doc = "\\sa dump_kml_ex" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_kml ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , geom_col : * mut :: std :: os :: raw :: c_char , kml_path : * mut :: std :: os :: raw :: c_char , name_col : * mut :: std :: os :: raw :: c_char , desc_col : * mut :: std :: os :: raw :: c_char , precision : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Dumps a full geometry-table into an external KML file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param geom_col the name of the geometry column" ] # [ doc = "\\param kml_path pathname of the KML file to be exported" ] # [ doc = "\\param name_col column to be used for KML \"name\" (may be null)" ] # [ doc = "\\param desc_col column to be used for KML \"description\" (may be null)" ] # [ doc = "\\param precision number of decimal digits for coordinates" ] # [ doc = "\\param rows on completion will contain the total number of exported rows" ] # [ doc = "" ] # [ doc = "\\sa dump_kml" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_kml_ex ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , geom_col : * mut :: std :: os :: raw :: c_char , kml_path : * mut :: std :: os :: raw :: c_char , name_col : * mut :: std :: os :: raw :: c_char , desc_col : * mut :: std :: os :: raw :: c_char , precision : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks for duplicated rows into the same table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be checked" ] # [ doc = "\\param dupl_count on completion will contain the number of duplicated rows found" ] # [ doc = "" ] # [ doc = "\\sa remove_duplicated_rows" ] # [ doc = "\\note two (or more) rows are assumed to be duplicated if any column" ] # [ doc = "" ] # [ doc = "value (excluding any Primary Key column) is exacly the same" ] pub fn check_duplicated_rows ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , dupl_count : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Remove duplicated rows from a table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be cleaned" ] # [ doc = "" ] # [ doc = "\\sa check_duplicated_rows, remove_duplicated_rows_ex" ] # [ doc = "" ] # [ doc = "\\note when two (or more) duplicated rows exist, only the first occurence" ] # [ doc = "will be preserved, then deleting any further occurrence." ] pub fn remove_duplicated_rows ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Remove duplicated rows from a table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be cleaned" ] # [ doc = "\\param removed on successful completion will contain the total" ] # [ doc = "count of removed duplicate rows" ] # [ doc = "" ] # [ doc = "\\sa check_duplicated_rows, remove_duplicated_rows_ex2" ] # [ doc = "" ] # [ doc = "\\note when two (or more) duplicated rows exist, only the first occurence" ] # [ doc = "will be preserved, then deleting any further occurrence." ] pub fn remove_duplicated_rows_ex ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , removed : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Remove duplicated rows from a table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be cleaned" ] # [ doc = "\\param removed on successful completion will contain the total" ] # [ doc = "count of removed duplicate rows" ] # [ doc = "\\param transaction boolena; if set to TRUE will internally handle" ] # [ doc = "a SQL Transaction" ] # [ doc = "" ] # [ doc = "\\sa check_duplicated_rows, remove_duplicated_rows" ] # [ doc = "" ] # [ doc = "\\note when two (or more) duplicated rows exist, only the first occurence" ] # [ doc = "will be preserved, then deleting any further occurrence." ] pub fn remove_duplicated_rows_ex2 ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , removed : * mut :: std :: os :: raw :: c_int , transaction : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a derived table surely containing elementary Geometries" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param inTable name of the input table" ] # [ doc = "\\param geometry name of the Geometry column" ] # [ doc = "\\param outTable name of the output table to be created" ] # [ doc = "\\param pKey name of the Primary Key column in the output table" ] # [ doc = "\\param multiId name of the column identifying origins in the output table" ] # [ doc = "" ] # [ doc = "\\sa elementary_geometries_ex" ] # [ doc = "" ] # [ doc = "\\note if the input table contains some kind of complex Geometry" ] # [ doc = "(MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION)," ] # [ doc = "then many rows are inserted into the output table: each single" ] # [ doc = "row will contain the same attributes and an elementaty Geometry." ] # [ doc = "All the rows created by expanding the same input row will expose" ] # [ doc = "the same value in the \"multiId\" column." ] pub fn elementary_geometries ( sqlite : * mut sqlite3 , inTable : * mut :: std :: os :: raw :: c_char , geometry : * mut :: std :: os :: raw :: c_char , outTable : * mut :: std :: os :: raw :: c_char , pKey : * mut :: std :: os :: raw :: c_char , multiId : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { # [ doc = "Creates a derived table surely containing elementary Geometries" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param inTable name of the input table" ] # [ doc = "\\param geometry name of the Geometry column" ] # [ doc = "\\param outTable name of the output table to be created" ] # [ doc = "\\param pKey name of the Primary Key column in the output table" ] # [ doc = "\\param multiId name of the column identifying origins in the output table" ] # [ doc = "\\param rows on completion will contain the total number of inserted rows" ] # [ doc = "" ] # [ doc = "\\sa elementary_geometries_ex2" ] # [ doc = "" ] # [ doc = "\\note if the input table contains some kind of complex Geometry" ] # [ doc = "(MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION)," ] # [ doc = "then many rows are inserted into the output table: each single" ] # [ doc = "row will contain the same attributes and an elementaty Geometry." ] # [ doc = "All the rows created by expanding the same input row will expose" ] # [ doc = "the same value in the \"multiId\" column." ] pub fn elementary_geometries_ex ( sqlite : * mut sqlite3 , inTable : * mut :: std :: os :: raw :: c_char , geometry : * mut :: std :: os :: raw :: c_char , outTable : * mut :: std :: os :: raw :: c_char , pKey : * mut :: std :: os :: raw :: c_char , multiId : * mut :: std :: os :: raw :: c_char , rows : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Creates a derived table surely containing elementary Geometries" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param inTable name of the input table" ] # [ doc = "\\param geometry name of the Geometry column" ] # [ doc = "\\param outTable name of the output table to be created" ] # [ doc = "\\param pKey name of the Primary Key column in the output table" ] # [ doc = "\\param multiId name of the column identifying origins in the output table" ] # [ doc = "\\param rows on completion will contain the total number of inserted rows" ] # [ doc = "\\param transaction boolena; if set to TRUE will internally handle" ] # [ doc = "a SQL Transaction" ] # [ doc = "" ] # [ doc = "\\sa elementary_geometries" ] # [ doc = "" ] # [ doc = "\\note if the input table contains some kind of complex Geometry" ] # [ doc = "(MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION)," ] # [ doc = "then many rows are inserted into the output table: each single" ] # [ doc = "row will contain the same attributes and an elementaty Geometry." ] # [ doc = "All the rows created by expanding the same input row will expose" ] # [ doc = "the same value in the \"multiId\" column." ] pub fn elementary_geometries_ex2 ( sqlite : * mut sqlite3 , inTable : * mut :: std :: os :: raw :: c_char , geometry : * mut :: std :: os :: raw :: c_char , outTable : * mut :: std :: os :: raw :: c_char , pKey : * mut :: std :: os :: raw :: c_char , multiId : * mut :: std :: os :: raw :: c_char , rows : * mut :: std :: os :: raw :: c_int , transaction : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ doc = "Dumps a full geometry-table into an external GeoJSON file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param geom_col the name of the geometry column" ] # [ doc = "\\param outfile_path pathname for the GeoJSON file to be written to" ] # [ doc = "\\param precision number of decimal digits for coordinates" ] # [ doc = "\\param option the format to use for output" ] # [ doc = "" ] # [ doc = "\\sa dump_geojson_rx" ] # [ doc = "" ] # [ doc = "\\note valid values for option are:" ] # [ doc = "- 0 no option" ] # [ doc = "- 1 GeoJSON MBR" ] # [ doc = "- 2 GeoJSON Short CRS (e.g EPSG:4326)" ] # [ doc = "- 3 MBR + Short CRS" ] # [ doc = "- 4 GeoJSON Long CRS (e.g urn:ogc:def:crs:EPSG::4326)" ] # [ doc = "- 5 MBR + Long CRS" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_geojson ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , geom_col : * mut :: std :: os :: raw :: c_char , outfile_path : * mut :: std :: os :: raw :: c_char , precision : :: std :: os :: raw :: c_int , option : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Dumps a full geometry-table into an external GeoJSON file" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table the name of the table to be exported" ] # [ doc = "\\param geom_col the name of the geometry column" ] # [ doc = "\\param outfile_path pathname for the GeoJSON file to be written to" ] # [ doc = "\\param precision number of decimal digits for coordinates" ] # [ doc = "\\param option the format to use for output" ] # [ doc = "\\param rows on completion will contain the total number of exported rows" ] # [ doc = "" ] # [ doc = "\\sa dump_geojson" ] # [ doc = "" ] # [ doc = "\\note valid values for option are:" ] # [ doc = "- 0 no option" ] # [ doc = "- 1 GeoJSON MBR" ] # [ doc = "- 2 GeoJSON Short CRS (e.g EPSG:4326)" ] # [ doc = "- 3 MBR + Short CRS" ] # [ doc = "- 4 GeoJSON Long CRS (e.g urn:ogc:def:crs:EPSG::4326)" ] # [ doc = "- 5 MBR + Long CRS" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn dump_geojson_ex ( sqlite : * mut sqlite3 , table : * mut :: std :: os :: raw :: c_char , geom_col : * mut :: std :: os :: raw :: c_char , outfile_path : * mut :: std :: os :: raw :: c_char , precision : :: std :: os :: raw :: c_int , option : :: std :: os :: raw :: c_int , rows : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Updates the LAYER_STATICS metadata table" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be processed" ] # [ doc = "\\param column name of the geometry to be processed" ] # [ doc = "" ] # [ doc = "\\note this function will explore the given table/geometry determining" ] # [ doc = "the number of rows and the full layer extent; a corresponding table/geometry" ] # [ doc = "entry is expected to be already declared in the GEOMETRY_COLUMNS table." ] # [ doc = "These informations will be permanently stored into the LAYER_STATISTICS" ] # [ doc = "table; if such table does not yet exists will be implicitly created." ] # [ doc = "- if table is NULL, any entry found within GEOMETRY_COLUMNS" ] # [ doc = "will be processed." ] # [ doc = "- if table is not NULL and column is NULL, any geometry" ] # [ doc = "belonging to the given table will be processed." ] # [ doc = "- if both table and column are not NULL, then only the" ] # [ doc = "given entry will be processed." ] # [ doc = "" ] # [ doc = "\\sa gaiaStatisticsInvalidate, gaiaGetLayerExtent, gaiaGetVectorLayersList" ] # [ doc = "" ] # [ doc = "\\return 0 on failure, the total count of processed entries on success" ] pub fn update_layer_statistics ( sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , column : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Immediately and unconditionally invalidates the already existing Statistics" ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "\\param table VectorLayer Table (or View, or VirtualShape)." ] # [ doc = "\\param geometry Geometry Column name." ] # [ doc = "" ] # [ doc = "\\return 0 on success, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa update_layer_statistics, gaiaGetLayerExtent, gaiaGetVectorLayersList" ] # [ doc = "" ] # [ doc = "\\note if the table arg is NULL all Statistics for any VectorLayer defined within" ] # [ doc = "the DB will be invalidated; otherwise only a single Layer will be affectedd (if existing)." ] # [ doc = "\\n By defining the geometry arg (not NULL) you can further restrict your selection." ] pub fn gaiaStatisticsInvalidate ( handle : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geometry : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Queries the Metadata tables returning the Layer Full Extent" ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "\\param table VectorLayer Table (or View, or VirtualShape)." ] # [ doc = "\\param geometry Geometry Column name." ] # [ doc = "\\param mode if TRUE a PESSIMISTIC statistics update will be implied," ] # [ doc = "otherwise OPTIMISTIC." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created Geometry (Envelope): NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa update_layer_statistic, gaiaStatisticsInvalidate, gaiaGetVectorLayersList" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "Geometry returned by gaiaGetLayerExtent()." ] # [ doc = "\\n The geometry arg is optional when the table simply has a single Geometry Column," ] # [ doc = "and can be NULL in this case." ] # [ doc = "\\n When the mode arg is set to FALSE (default) then the returned infos" ] # [ doc = "will be simply retrieved from the staticized statistic tables (faster, but could be inaccurate)." ] # [ doc = "\\n If the mode arg is set to TRUE a preliminary attempt to update the" ] # [ doc = "statistic tables will be always performed (probably slower, but surely accurate)." ] # [ doc = "\\n If the named Layer doesn\'t exist, or if it\'s completely empty (not containing" ] # [ doc = "any valid Geometry) NULL will be returned." ] pub fn gaiaGetLayerExtent ( handle : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geometry : * const :: std :: os :: raw :: c_char , mode : :: std :: os :: raw :: c_int ) -> gaiaGeomCollPtr ; } extern "C" { # [ doc = "Queries the Metadata tables supporting Vector Layers" ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "\\param table VectorLayer Table (or View, or VirtualShape)." ] # [ doc = "\\param geometry Geometry Column name." ] # [ doc = "\\param mode one of GAIA_VECTORS_LIST_OPTIMISTIC or GAIA_VECTORS_LIST_PESSIMISTIC." ] # [ doc = "" ] # [ doc = "\\return the pointer to the newly created VectorLayersList object: NULL on failure" ] # [ doc = "" ] # [ doc = "\\sa gaiaFreeVectorLayersList, update_layer_statistics, gaiaStatisticsInvalidate," ] # [ doc = "gaiaGetLayerExtent, gaiaGetVectorLayersList" ] # [ doc = "" ] # [ doc = "\\note you are responsible to destroy (before or after) any allocated" ] # [ doc = "VectorLayersList returned by gaiaGetVectorLayersList()." ] # [ doc = "\\n If the table arg is NULL all VectorLayers defined within the DB will be reported;" ] # [ doc = "otherwise only a single Layer will be reported (if existing)." ] # [ doc = "\\n By defining the geometry arg (not NULL) you can further restrict the returned report." ] # [ doc = "\\n When the mode arg is set to GAIA_VECTORS_LIST_OPTIMISTIC (default) then the returned infos" ] # [ doc = "will be simply retrieved from the staticized statistic tables (faster, but could be inaccurate)." ] # [ doc = "\\n If the mode arg is set to GAIA_VECTORS_LIST_PESSIMISTIC a preliminary attempt to update the" ] # [ doc = "statistic tables will be always performed (probably slower, but surely accurate)." ] pub fn gaiaGetVectorLayersList ( handle : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geometry : * const :: std :: os :: raw :: c_char , mode : :: std :: os :: raw :: c_int ) -> gaiaVectorLayersListPtr ; } extern "C" { # [ doc = "Creates (or re-creates) the \"splite_metacatalog\" and" ] # [ doc = "\"splite_metacalog_statistics\" tables." ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "" ] # [ doc = "\\return 0 (FALSE) on failure, any other value (TRUE) on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaUpdateMetaCatalogStatistics, gaiaUpdateMetaCatalogStatisticsFromMaster" ] pub fn gaiaCreateMetaCatalogTables ( handle : * mut sqlite3 ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Updates the \"splite_metacatalog_statistics\" table." ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "\\param table name of the table to be processed." ] # [ doc = "\\param column name of the column to be processed." ] # [ doc = "" ] # [ doc = "\\return 0 (FALSE) on failure, any other value (TRUE) on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaCreateMetaCatalogTables, gaiaUpdateMetaCatalogStatisticsFromMaster" ] pub fn gaiaUpdateMetaCatalogStatistics ( handle : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , column : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Updates the \"splite_metacatalog_statistics\" table (using a Master Table)." ] # [ doc = "" ] # [ doc = "\\param handle SQLite handle to current DB connection." ] # [ doc = "\\param master_table name of the master-table controlling the whole process." ] # [ doc = "\\param table_name name of the column into the master-table containing table-names." ] # [ doc = "\\param column_name name of the column into the master-table containing column-names." ] # [ doc = "" ] # [ doc = "\\return 0 (FALSE) on failure, any other value (TRUE) on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaCreateMetaCatalogTables, gaiaUpdateMetaCatalogStatistics" ] pub fn gaiaUpdateMetaCatalogStatisticsFromMaster ( handle : * mut sqlite3 , master_table : * const :: std :: os :: raw :: c_char , table_name : * const :: std :: os :: raw :: c_char , column_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Destroys a VectorLayersList object" ] # [ doc = "" ] # [ doc = "\\param ptr pointer to the VectorLayersList object to be destroyed" ] # [ doc = "" ] # [ doc = "\\sa gaiaGetVectorLayersList" ] pub fn gaiaFreeVectorLayersList ( ptr : gaiaVectorLayersListPtr ) ; } extern "C" { # [ doc = "Drops a layer-table, removing any related dependency" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table to be removed" ] # [ doc = "" ] # [ doc = "\\note this function will drop a SpatialTable, SpatialView or VirtualShape being" ] # [ doc = "properly registered within the Metadata tables." ] # [ doc = "\\n an eventual Spatial Index will be dropped as well, and any row referring the" ] # [ doc = "selected table will be removed from the Metadata tables." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaDropTableEx" ] # [ doc = "" ] # [ doc = "\\note this one simply is a convenience method alway defaulting to" ] # [ doc = "gaiaDropTableEx(sqlite, \"main\", table);" ] pub fn gaiaDropTable ( sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Drops a layer-table, removing any related dependency" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param prefix schema prefix identifying the target DB\\n" ] # [ doc = "\"main\" always identifies the main DB (primary, not Attached)." ] # [ doc = "\\param table name of the table to be removed" ] # [ doc = "" ] # [ doc = "\\note this function will drop a SpatialTable, SpatialView or VirtualShape being" ] # [ doc = "properly registered within the Metadata tables." ] # [ doc = "\\n an eventual Spatial Index will be dropped as well, and any row referring the" ] # [ doc = "selected table will be removed from the Metadata tables." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaDropTableEx2" ] pub fn gaiaDropTableEx ( sqlite : * mut sqlite3 , prefix : * const :: std :: os :: raw :: c_char , table : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Drops a layer-table, removing any related dependency" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param prefix schema prefix identifying the target DB\\n" ] # [ doc = "\"main\" always identifies the main DB (primary, not Attached)." ] # [ doc = "\\param table name of the table to be removed" ] # [ doc = "\\param transaction boolena; if set to TRUE will internally handle" ] # [ doc = "a SQL Transaction" ] # [ doc = "" ] # [ doc = "\\note this function will drop a SpatialTable, SpatialView or VirtualShape being" ] # [ doc = "properly registered within the Metadata tables." ] # [ doc = "\\n an eventual Spatial Index will be dropped as well, and any row referring the" ] # [ doc = "selected table will be removed from the Metadata tables." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] # [ doc = "" ] # [ doc = "\\sa gaiaDropTable" ] pub fn gaiaDropTableEx2 ( sqlite : * mut sqlite3 , prefix : * const :: std :: os :: raw :: c_char , table : * const :: std :: os :: raw :: c_char , transaction : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks a Geometry Column for validity" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table" ] # [ doc = "\\param geometry name of the column to be checked" ] # [ doc = "\\param report_path pathname of the report-file" ] # [ doc = "\\param n_rows if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of rows found into the checkeck table" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found into the checkeck table" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa check_geometry_column_r, check_all_geometry_columns," ] # [ doc = "sanitize_geometry_column, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will check a Geometry Column (layer) for validity;" ] # [ doc = "a HTML report will be produced." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn check_geometry_column ( sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geom : * const :: std :: os :: raw :: c_char , report_path : * const :: std :: os :: raw :: c_char , n_rows : * mut :: std :: os :: raw :: c_int , n_invalids : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks a Geometry Column for validity" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table" ] # [ doc = "\\param geometry name of the column to be checked" ] # [ doc = "\\param report_path pathname of the report-file" ] # [ doc = "\\param n_rows if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of rows found into the checkeck table" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found into the checkeck table" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa check_geometry_column, check_all_geometry_columns," ] # [ doc = "sanitize_geometry_column, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will check a Geometry Column (layer) for validity;" ] # [ doc = "a HTML report will be produced." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn check_geometry_column_r ( p_cache : * const :: std :: os :: raw :: c_void , sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geom : * const :: std :: os :: raw :: c_char , report_path : * const :: std :: os :: raw :: c_char , n_rows : * mut :: std :: os :: raw :: c_int , n_invalids : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks all Geometry Columns for validity" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param output_dir pathname of the directory to be created for report-files" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa check_all_geometry_columns_r, check_geometry_column," ] # [ doc = "sanitize_geometry_column, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will check all Geometry Columns (vector layers) for validity;" ] # [ doc = "a HTML report will be produced." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn check_all_geometry_columns ( sqlite : * mut sqlite3 , output_dir : * const :: std :: os :: raw :: c_char , n_invalids : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Checks all Geometry Columns for validity" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param output_dir pathname of the directory to be created for report-files" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa check_all_geometry_columns, check_geometry_column," ] # [ doc = "sanitize_geometry_column, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will check all Geometry Columns (vector layers) for validity;" ] # [ doc = "a HTML report will be produced." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn check_all_geometry_columns_r ( p_cache : * const :: std :: os :: raw :: c_void , sqlite : * mut sqlite3 , output_dir : * const :: std :: os :: raw :: c_char , n_invalids : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sanitizes a Geometry Column making all invalid geometries to be valid" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table" ] # [ doc = "\\param geometry name of the column to be checked" ] # [ doc = "\\param tmp_table name of the temporary table" ] # [ doc = "\\param report_path pathname of the report-file" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found into the sanitize table" ] # [ doc = "\\param n_repaired if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repaired Geometries" ] # [ doc = "\\param n_discarded if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repaired Geometries (by discarding fragments)" ] # [ doc = "\\param n_failures if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repair failures (i.e. Geometries beyond possible repair)" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa sanitize_geometry_column_r, check_geometry_column," ] # [ doc = "check_all_geometry_columns, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will attempt to make valid all invalid geometries" ] # [ doc = "found within a Geometry Column (layer); a temporary table is required." ] # [ doc = "\\n if the process has full success the temprary table will be deleted;" ] # [ doc = "otherwise it will be preserved for further inspection." ] # [ doc = "a HTML report will be produced as well." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn sanitize_geometry_column ( sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geom : * const :: std :: os :: raw :: c_char , tmp_table : * const :: std :: os :: raw :: c_char , report_path : * const :: std :: os :: raw :: c_char , n_invalids : * mut :: std :: os :: raw :: c_int , n_repaired : * mut :: std :: os :: raw :: c_int , n_discarded : * mut :: std :: os :: raw :: c_int , n_failures : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sanitizes a Geometry Column making all invalid geometries to be valid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param table name of the table" ] # [ doc = "\\param geometry name of the column to be checked" ] # [ doc = "\\param tmp_table name of the temporary table" ] # [ doc = "\\param report_path pathname of the report-file" ] # [ doc = "\\param n_invalids if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of invalid Geometries found into the sanitize table" ] # [ doc = "\\param n_repaired if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repaired Geometries" ] # [ doc = "\\param n_discarded if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repaired Geometries (by discarding fragments)" ] # [ doc = "\\param n_failures if this variable is not NULL on successful completion will" ] # [ doc = "contain the total number of repair failures (i.e. Geometries beyond possible repair)" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa sanitize_geometry_column, check_geometry_column," ] # [ doc = "check_all_geometry_columns, sanitize_all_geometry_columns" ] # [ doc = "" ] # [ doc = "\\note this function will attempt to make valid all invalid geometries" ] # [ doc = "found within a Geometry Column (layer); a temporary table is required." ] # [ doc = "\\n if the process has full success the temprary table will be deleted;" ] # [ doc = "otherwise it will be preserved for further inspection." ] # [ doc = "a HTML report will be produced as well." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn sanitize_geometry_column_r ( p_cache : * const :: std :: os :: raw :: c_void , sqlite : * mut sqlite3 , table : * const :: std :: os :: raw :: c_char , geom : * const :: std :: os :: raw :: c_char , tmp_table : * const :: std :: os :: raw :: c_char , report_path : * const :: std :: os :: raw :: c_char , n_invalids : * mut :: std :: os :: raw :: c_int , n_repaired : * mut :: std :: os :: raw :: c_int , n_discarded : * mut :: std :: os :: raw :: c_int , n_failures : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sanitizes all Geometry Columns making all invalid geometries to be valid" ] # [ doc = "" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param tmp_prefix name-prefix for temporary tables" ] # [ doc = "\\param output_dir pathname of the directory to be created for report-files" ] # [ doc = "\\param not_repaired if this variable is not NULL on successful completion will" ] # [ doc = "contain the total count of repair failures (i.e. Geometries beyond possible repair)" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa sanitize_all_geometry_columns_r, check_geometry_column," ] # [ doc = "check_all_geometry_columns, sanitize_geometry_column" ] # [ doc = "" ] # [ doc = "\\note this function will attempt to make valid all invalid geometries" ] # [ doc = "found within all Geometry Columns (vector layers); a temporary table is" ] # [ doc = "required so to support each input table." ] # [ doc = "\\n if the process has full success the temprary table will be deleted;" ] # [ doc = "otherwise it will be preserved for further inspection." ] # [ doc = "a HTML report will be produced as well." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "not reentrant and thread unsafe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn sanitize_all_geometry_columns ( sqlite : * mut sqlite3 , tmp_prefix : * const :: std :: os :: raw :: c_char , output_dir : * const :: std :: os :: raw :: c_char , not_repaired : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = "Sanitizes all Geometry Columns making all invalid geometries to be valid" ] # [ doc = "" ] # [ doc = "\\param p_cache a memory pointer returned by spatialite_alloc_connection()" ] # [ doc = "\\param sqlite handle to current DB connection" ] # [ doc = "\\param tmp_prefix name-prefix for temporary tables" ] # [ doc = "\\param output_dir pathname of the directory to be created for report-files" ] # [ doc = "\\param not_repaired if this variable is not NULL on successful completion will" ] # [ doc = "contain the total count of repair failures (i.e. Geometries beyond possible repair)" ] # [ doc = "\\param err_msg if this variable is not NULL and the return status is ZERO" ] # [ doc = "(failure), an appropriate error message will be returned" ] # [ doc = "" ] # [ doc = "\\sa sanitize_all_geometry_columns, check_geometry_column," ] # [ doc = "check_all_geometry_columns, sanitize_geometry_column" ] # [ doc = "" ] # [ doc = "\\note this function will attempt to make valid all invalid geometries" ] # [ doc = "found within all Geometry Columns (vector layers); a temporary table is" ] # [ doc = "required so to support each input table." ] # [ doc = "\\n if the process has full success the temprary table will be deleted;" ] # [ doc = "otherwise it will be preserved for further inspection." ] # [ doc = "a HTML report will be produced as well." ] # [ doc = "\\n an eventual error message returned via err_msg requires to be deallocated" ] # [ doc = "by invoking free()\\n" ] # [ doc = "reentrant and thread-safe." ] # [ doc = "" ] # [ doc = "\\return 0 on failure, any other value on success" ] pub fn sanitize_all_geometry_columns_r ( p_cache : * const :: std :: os :: raw :: c_void , sqlite : * mut sqlite3 , tmp_prefix : * const :: std :: os :: raw :: c_char , output_dir : * const :: std :: os :: raw :: c_char , not_repaired : * mut :: std :: os :: raw :: c_int , err_msg : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn gaiaGPKG2Spatialite ( handle_in : * mut sqlite3 , gpkg_in_path : * const :: std :: os :: raw :: c_char , handle_out : * mut sqlite3 , splite_out_path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn gaiaSpatialite2GPKG ( handle_in : * mut sqlite3 , splite_in_path : * const :: std :: os :: raw :: c_char , handle_out : * mut sqlite3 , gpkg_out_path : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [ __va_list_tag ; 1usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout___va_list_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __va_list_tag > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __va_list_tag > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . gp_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( gp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . fp_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( fp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . overflow_arg_area as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( overflow_arg_area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . reg_save_area as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( reg_save_area ) ) ) ; }