/usr/include/ossim/vpfutil/vpftidx.h is in libossim-dev 1.8.16-3+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | /* static char SCCS_ID[] = "@(#) vpftidx.h 1.5 10/9/91" ; */
/*************************************************************************
*
* Environmental Systems Research Institute (ESRI) Applications Programming
*
*N Module VPFTIDX
*
*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
*P
* Purpose: To create a thematic index on a VPF table column.
*E
*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
* Parameters:
*A
* N/A
*E
*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
* History:
*H
* Dave Flinn September 1991
*E
*
*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
*
* Portability:
*O
* This module should be ANSI C compatible
*E
*************************************************************************/
#ifndef _VPFTIDX_
#define _VPFTIDX_
#ifdef __cplusplus
extern "C" {
#endif
#include <ossim/vpfutil/set.h>
#include <ossim/base/ossimConstants.h>
typedef struct { /* Total of 40 bytes */
ossim_int32 nbytes , /* 40 + directory length */
nbins , /* Directory size */
table_nrows ; /* Num rows in original table */
char index_type , /* T = thematic, G = gazetteer */
column_type ; /* T, I, R, S, F, K */
ossim_int32 type_count ; /* usually 1, but more for T */
char id_data_type , /* I if > 32767, else S */
vpf_table_name[12] ,
vpf_column_name[25] , /* 16 bytes + 9 for TILE_ID */
padding[4] ; /* To make it a nice 60 bytes */
} ThematicIndexHeader ;
#define THEMATIC_INDEX_HEADER_SIZE 60
#define DIRECTORY_SIZE (sizeof(ossim_int32)*2)
#define MAX_ID 32767 /* Threshold between S and I ids */
typedef struct { /* length = sizeof (datatype) + */
union { /* 8 * nbins */
char cval ,
*strval ;
ossim_int32 ival ;
short int sval ;
float fval ;
double dval ;
} value ;
ossim_int32 start_offset ,
num_items ; /* For each value, count the ids */
/* Store the row ids here */
/* char *ids ;*/ /* depending on id_data_type, this */
set_type idset;
} ThematicIndexDirectory ;
typedef struct {
ThematicIndexHeader h;
ThematicIndexDirectory *d, *gid;
FILE *fp;
} ThematicIndex;
/* PROTOTYPES */
/*char* strupr(char*);*/
set_type read_thematic_index ( char *tablename,
char *value ) ;
ThematicIndex open_thematic_index ( char *tablename );
set_type search_thematic_index ( ThematicIndex *themindex,
char *value ) ;
void close_thematic_index ( ThematicIndex *themindex );
set_type read_gazetteer_index (char * vpfname, char * query_str ) ;
set_type search_gazetteer_index (ThematicIndex *idx,
char * query_str ) ;
ossim_int32 read_gazetteer_index_directory (
ThematicIndexDirectory ** gid,
ThematicIndexHeader * gi,
FILE * idx_fp);
ossim_int32 write_thematic_index_header ( ThematicIndexHeader h ,
FILE *fp ) ;
ossim_int32 read_thematic_index_header ( ThematicIndexHeader *h ,
FILE *fp ) ;
ossim_int32 write_thematic_index_directory (
ThematicIndexHeader h ,
ThematicIndexDirectory *d,
ossim_int32 size,
FILE *fp ) ;
ossim_int32 write_gazetteer_index_directory (
ThematicIndexHeader h ,
ThematicIndexDirectory *d,
ossim_int32 size,
FILE *fp ) ;
ossim_int32 create_thematic_index ( char indextype,
char *tablename,
char *idxname ,
char *columnname,
char *idx_set );
ossim_int32 create_gazetteer_index (char *tablename,
char *idx_fname ,
char *columnname,
char *idx_set);
#ifdef __cplusplus
}
#endif
#endif
|