#define VT_POINT 1 #define VT_LINE 2 #define VT_POLYGON 3 #define VT_END 0 #define VT_MOVETO 1 #define VT_LINETO 2 #define VT_CLOSEPATH 7 #define VT_STRING 1 #define VT_NUMBER 2 #define VT_BOOLEAN 7 struct pool_val { char *s; int type; int n; struct pool_val *next; }; struct pool { struct pool_val *vals; int n; }; void deserialize_int(char **f, int *n); struct pool_val *deserialize_string(char **f, struct pool *p, int type); void pool_free(struct pool *p); struct index { unsigned long long index; long long fpos; struct index *next; }; void write_tile(char *name, struct pool *keys); void check_range(struct index *start, struct index *end, char *metabase, unsigned *file_bbox);