/usr/include/ossim/vpfutil/vpftidx.h is in libossim-dev 1.7.21-3ubuntu2.
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 | /* 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>
typedef struct { /* Total of 40 bytes */
long int 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 */
long int 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(long int)*2)
#define MAX_ID 32767 /* Threshold between S and I ids */
typedef struct { /* length = sizeof (datatype) + */
union { /* 8 * nbins */
char cval ,
*strval ;
long int ival ;
short int sval ;
float fval ;
double dval ;
} value ;
long int 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 ) ;
long int read_gazetteer_index_directory (
ThematicIndexDirectory ** gid,
ThematicIndexHeader * gi,
FILE * idx_fp);
long int write_thematic_index_header ( ThematicIndexHeader h ,
FILE *fp ) ;
long int read_thematic_index_header ( ThematicIndexHeader *h ,
FILE *fp ) ;
long int write_thematic_index_directory (
ThematicIndexHeader h ,
ThematicIndexDirectory *d,
long int size,
FILE *fp ) ;
long int write_gazetteer_index_directory (
ThematicIndexHeader h ,
ThematicIndexDirectory *d,
long int size,
FILE *fp ) ;
long int create_thematic_index ( char indextype,
char *tablename,
char *idxname ,
char *columnname,
char *idx_set );
long int create_gazetteer_index (char *tablename,
char *idx_fname ,
char *columnname,
char *idx_set);
#ifdef __cplusplus
}
#endif
#endif
|