navit  0.5.3-trunk
mg.h
Go to the documentation of this file.
1 
20 #include <glib.h>
21 #include "item.h"
22 #include "attr.h"
23 #include "coord.h"
24 #include "data.h"
25 #include "projection.h"
26 #include "map.h"
27 #include "file.h"
28 
29 struct block_data {
30  struct file *file;
31 };
32 
33 struct block {
34 /* int blocks;
35  int size;
36  int next;
37  struct coord_rect r;
38  int count;*/
39  unsigned char p[32];
40 };
41 static inline int block_get_blocks(struct block * blk) { unsigned char *p = blk->p; return get_u32(&p); }
42 static inline int block_get_size(struct block * blk) { unsigned char *p = blk->p+4; return get_u32(&p); }
43 static inline int block_get_next(struct block * blk) { unsigned char *p = blk->p+8; return get_u32(&p); }
44 static inline int block_get_count(struct block * blk) { unsigned char *p = blk->p+28; return get_u32(&p); }
45 static inline void block_get_r(struct block * blk, struct coord_rect * r) { unsigned char *p = blk->p+12; r ->lu.x = get_u32(&p); r ->lu.y = get_u32(&p); r ->rl.x = get_u32(&p); r ->rl.y = get_u32(&p); }
46 
47 struct item_priv {
48  int cidx;
49  int aidx;
50  unsigned char *cstart,*cp,*cend;
51  unsigned char *astart,*ap,*aend;
52  enum attr_type attr_last;
53  enum attr_type attr_next;
54  struct item item;
55 };
56 
57 struct town_priv {
58  unsigned int id;
59  struct coord c;
60  char *name;
61  char *district;
62  char *postal_code1;
63  unsigned char order;
64  unsigned char type;
65  unsigned short country;
66  unsigned int unknown2;
67  unsigned char size;
68  unsigned int street_assoc;
69  unsigned char unknown3;
70  char *postal_code2;
71  unsigned int unknown4;
73  int cidx;
74  int aidx;
75  enum attr_type attr_next;
76  char debug[256];
77  char postal[32];
78  struct item town_attr_item;
79 };
80 
81 struct poly_priv {
82  int poly_num;
83  unsigned char *poly_next;
86  unsigned char *subpoly_next;
87  unsigned char *subpoly_start;
88  unsigned char *p;
89  struct coord c[2];
90  char *name;
91  unsigned char order;
92  unsigned char type;
93  unsigned int polys;
94  unsigned int *count;
95  unsigned int count_sum;
96 
97  int aidx;
98  enum attr_type attr_next;
99 };
100 
102  /*unsigned char order;
103  int count;*/
104  unsigned char p[5];
105 } __attribute__((packed));
106 static inline unsigned char street_header_get_order(struct street_header * str) { return *str->p; }
107 static inline int street_header_get_count(struct street_header * str) { unsigned char *p = str->p+1; return get_u32_unal(&p); }
108 
109 struct street_type {
110  /*unsigned char order;
111  unsigned short country;*/
112  unsigned char p[3];
113 } __attribute__((packed));
114 static inline unsigned char street_type_get_order(struct street_type * str) { return *str->p; }
115 static inline unsigned short street_type_get_country(struct street_type * str) { unsigned char *p = str->p+1; return get_u16_unal(&p); }
116 
120  struct street_type *type;
121 };
122 
123 struct street_str {
124  /*int segid;
125  unsigned char limit;*/ /* 0x03,0x30=One Way,0x33=No Passing */
126  /*unsigned char unknown2;
127  unsigned char unknown3;
128  unsigned char type;
129  unsigned int nameid;*/
130  unsigned char p[12];
131 };
132 static inline int street_str_get_segid(struct street_str * str) { unsigned char *p = str->p; return get_u32_unal(&p); }
133 static inline unsigned char street_str_get_limit(struct street_str * str) { return str->p[4]; }
134 static inline unsigned char street_str_get_unknown2(struct street_str * str) { return str->p[5]; }
135 static inline unsigned char street_str_get_unknown3(struct street_str * str) { return str->p[6]; }
136 static inline unsigned char street_str_get_type(struct street_str * str) { return str->p[7]; }
137 static inline unsigned int street_str_get_nameid(struct street_str * str) { unsigned char *p = str->p+8; return get_u32_unal(&p); }
138 
140  int segid;
141  int country;
142 };
143 
144 struct street_name {
145  int len;
146  int country;
148  char *name1;
149  char *name2;
152  int aux_len;
153  unsigned char *aux_data;
154  int tmp_len;
155  unsigned char *tmp_data;
156 };
157 
158 struct housenumber {
159  int number;
160  char *suffix;
161 };
162 
164  int len;
165  int tag;
166  int dist;
167  int country;
168  struct coord *c;
169  struct housenumber first;
170  struct housenumber last;
173  int aux_len;
174  unsigned char *aux_data;
175  int tmp_len;
176  unsigned char *tmp_data;
177 };
178 static inline void street_name_numbers_get_coord(struct street_name_numbers * str, struct coord * c) {
179  unsigned char *p=(unsigned char *)str->c;
180  c->x=get_u32_unal(&p);
181  c->y=get_u32_unal(&p);
182 }
183 
185  int len;
186  int tag;
187  struct coord *c;
188  struct housenumber first;
189  struct housenumber last;
191 };
192 
193 
194 
195 struct street_priv {
196  struct file *name_file;
199  struct street_type *type;
200  struct street_str *str;
202  unsigned char *coord_begin;
203  unsigned char *p;
204  unsigned char *p_rewind;
205  unsigned char *end;
206  unsigned char *next;
207  int status;
209  struct coord_rect ref;
210  int bytes;
211  int more;
212  int flags;
214  int cidx;
215  struct coord hnc[100];
216  struct housenumber hn[100];
217  int hn_count;
218  struct street_name name;
221  enum attr_type attr_next;
222  char debug[256];
223  char first_number[32];
224  char last_number[32];
225  char current_number[32];
226  GHashTable *streetname_hash;
227 };
228 
254 };
255 
256 struct map_priv {
257  int id;
258  struct file *file[file_end];
259  char *dirname;
260 };
261 
262 #define BT_STACK_SIZE 32
263 
265  struct block *b;
266  struct coord_rect r, r_curr;
267  int next;
270  int stackp;
271  int order;
272  unsigned char *p;
273  unsigned char *end;
274 };
275 
276 struct block_priv {
278  struct coord_rect b_rect;
279  unsigned char *block_start;
280  struct block *b;
281  unsigned char *p;
282  unsigned char *end;
283  unsigned char *p_start;
285  struct block_bt_priv bt;
286 };
287 
288 struct block_offset {
289 /* unsigned short offset;
290  unsigned short block;*/
291  unsigned char p[4];
292 };
293 static inline unsigned short block_offset_get_offset(struct block_offset * blk) { unsigned char *p = blk->p; return get_u16_unal(&p); }
294 static inline unsigned short block_offset_get_block(struct block_offset * blk) { unsigned char *p = blk->p+2; return get_u16_unal(&p); }
295 
297  struct tree_hdr *hdr;
298  unsigned char *p;
299  unsigned char *last;
300  unsigned char *end;
301  int low;
302  int high;
303  int last_low;
305  };
306 
307 struct tree_search {
308  struct file *f;
311  struct tree_search_node nodes[5];
312 };
313 
314 
315 struct map_rect_priv {
318 
319  struct map_priv *m;
321  struct file *file;
322  struct block_priv b;
323  struct item item;
324  struct town_priv town;
325  struct poly_priv poly;
326  struct street_priv street;
327  struct tree_search ts;
329  struct item search_item;
330  struct attr *search_attr;
331  char *search_str;
334  unsigned char *search_p;
336  enum attr_type search_type,search_type_next;
341  GHashTable *block_hash[file_end];
342  struct item_priv item3;
343 };
344 
345 int mg_country_from_isonum(int isonum);
348 
349 int block_init(struct map_rect_priv *mr);
350 int block_next(struct map_rect_priv *mr);
351 int block_get_byindex(struct file *file, int idx, struct block_priv *blk);
352 int block_next_lin(struct map_rect_priv *mr);
353 
354 int tree_search_hv(char *dirname, char *filename, unsigned int search1, unsigned int search2, int *result);
355 int town_get(struct map_rect_priv *mr, struct town_priv *poly, struct item *item);
356 int town_get_byid(struct map_rect_priv *mr, struct town_priv *twn, int id_hi, int id_lo, struct item *item);
357 struct item * town_search_get_item(struct map_rect_priv *mr);
358 int poly_get(struct map_rect_priv *mr, struct poly_priv *poly, struct item *item);
359 int poly_get_byid(struct map_rect_priv *mr, struct poly_priv *poly, int id_hi, int id_lo, struct item *item);
360 int street_get(struct map_rect_priv *mr, struct street_priv *street, struct item *item);
361 int street_get_byid(struct map_rect_priv *mr, struct street_priv *street, int id_hi, int id_lo, struct item *item);
362 int street_name_get_byid(struct map_rect_priv *mr, struct street_priv *street, int id_hi, int id_lo, struct item *item);
363 struct item * street_search_get_item(struct map_rect_priv *mr);
364 void tree_search_init(char *dirname, char *filename, struct tree_search *ts, int offset);
365 void tree_search_free(struct tree_search *ts);
366 int tree_search_next(struct tree_search *ts, unsigned char **p, int dir);
367 int tree_search_next_lin(struct tree_search *ts, unsigned char **p);
368 struct item * housenumber_search_get_item(struct map_rect_priv *mr);
369 struct map_rect_priv * map_rect_new_mg(struct map_priv *map, struct map_selection *sel);
370 void map_rect_destroy_mg(struct map_rect_priv *mr);
371 struct item *map_rect_get_item_byid_mg(struct map_rect_priv *mr, int id_hi, int id_lo);
attr_type
Definition: attr.h:34
static unsigned int get_u32(unsigned char **p)
Definition: data.h:75
static unsigned int get_u32_unal(unsigned char **p)
Definition: data.h:87
static unsigned short get_u16_unal(unsigned char **p)
Definition: data.h:48
struct timestamp ts
Definition: garmin_img.c:13
char filename[8]
Definition: garmin_img.c:1
int offset
Definition: garmin_img.c:0
Contains exported functions / structures for map.c.
struct street_header_type __attribute__
static unsigned int street_str_get_nameid(struct street_str *str)
Definition: mg.h:137
int poly_get(struct map_rect_priv *mr, struct poly_priv *poly, struct item *item)
Definition: poly.c:101
#define BT_STACK_SIZE
Definition: mg.h:262
static unsigned char street_str_get_unknown3(struct street_str *str)
Definition: mg.h:135
static void block_get_r(struct block *blk, struct coord_rect *r)
Definition: mg.h:45
int block_get_byindex(struct file *file, int idx, struct block_priv *blk)
Definition: block.c:90
void tree_search_free(struct tree_search *ts)
Definition: tree.c:304
static unsigned char street_str_get_limit(struct street_str *str)
Definition: mg.h:133
static int block_get_blocks(struct block *blk)
Definition: mg.h:41
int street_name_get_byid(struct map_rect_priv *mr, struct street_priv *street, int id_hi, int id_lo, struct item *item)
Definition: street.c:730
static int street_header_get_count(struct street_header *str)
Definition: mg.h:107
static unsigned char street_str_get_unknown2(struct street_str *str)
Definition: mg.h:134
int town_get(struct map_rect_priv *mr, struct town_priv *poly, struct item *item)
Definition: town.c:136
int mg_country_from_isonum(int isonum)
Definition: map.c:125
int poly_get_byid(struct map_rect_priv *mr, struct poly_priv *poly, int id_hi, int id_lo, struct item *item)
Definition: poly.c:243
static unsigned char street_str_get_type(struct street_str *str)
Definition: mg.h:136
int mg_country_to_isonum(int country)
Definition: map.c:133
struct map_rect_priv * map_rect_new_mg(struct map_priv *map, struct map_selection *sel)
Definition: map.c:222
file_index
Definition: mg.h:229
@ file_border_ply
Definition: mg.h:230
@ file_street_bti
Definition: mg.h:240
@ file_build_ply
Definition: mg.h:232
@ file_tunnel_ply
Definition: mg.h:244
@ file_town_twn_alt2
Definition: mg.h:249
@ file_natpark_ply
Definition: mg.h:235
@ file_water_ply
Definition: mg.h:245
@ file_rail_ply
Definition: mg.h:238
@ file_town_twn
Definition: mg.h:243
@ file_nature_ply
Definition: mg.h:236
@ file_street_str_alt3
Definition: mg.h:252
@ file_street_str_alt4
Definition: mg.h:253
@ file_sea_ply
Definition: mg.h:239
@ file_street_str
Definition: mg.h:241
@ file_end
Definition: mg.h:247
@ file_golf_ply
Definition: mg.h:233
@ file_town_twn_alt1
Definition: mg.h:248
@ file_bridge_ply
Definition: mg.h:231
@ file_height_ply
Definition: mg.h:234
@ file_woodland_ply
Definition: mg.h:246
@ file_street_str_alt2
Definition: mg.h:251
@ file_strname_stn
Definition: mg.h:242
@ file_street_str_alt1
Definition: mg.h:250
@ file_other_ply
Definition: mg.h:237
static void street_name_numbers_get_coord(struct street_name_numbers *str, struct coord *c)
Definition: mg.h:178
static int street_str_get_segid(struct street_str *str)
Definition: mg.h:132
void tree_search_init(char *dirname, char *filename, struct tree_search *ts, int offset)
Definition: tree.c:293
int block_init(struct map_rect_priv *mr)
Definition: block.c:154
struct item * map_rect_get_item_byid_mg(struct map_rect_priv *mr, int id_hi, int id_lo)
Definition: map.c:291
static unsigned char street_type_get_order(struct street_type *str)
Definition: mg.h:114
struct item * town_search_get_item(struct map_rect_priv *mr)
Definition: town.c:229
struct item * street_search_get_item(struct map_rect_priv *mr)
Definition: street.c:811
int tree_search_next_lin(struct tree_search *ts, unsigned char **p)
Definition: tree.c:263
int housenumber_search_setup(struct map_rect_priv *mr)
Definition: street.c:890
static unsigned short street_type_get_country(struct street_type *str)
Definition: mg.h:115
struct item * housenumber_search_get_item(struct map_rect_priv *mr)
Definition: street.c:948
void map_rect_destroy_mg(struct map_rect_priv *mr)
Definition: map.c:315
unsigned char p[5]
Definition: mg.h:2
static unsigned char street_header_get_order(struct street_header *str)
Definition: mg.h:106
static int block_get_next(struct block *blk)
Definition: mg.h:43
int tree_search_hv(char *dirname, char *filename, unsigned int search1, unsigned int search2, int *result)
Definition: tree.c:174
int town_get_byid(struct map_rect_priv *mr, struct town_priv *twn, int id_hi, int id_lo, struct item *item)
Definition: town.c:184
int street_get(struct map_rect_priv *mr, struct street_priv *street, struct item *item)
Definition: street.c:366
static int block_get_size(struct block *blk)
Definition: mg.h:42
int block_next(struct map_rect_priv *mr)
Definition: block.c:203
static unsigned short block_offset_get_block(struct block_offset *blk)
Definition: mg.h:294
int tree_search_next(struct tree_search *ts, unsigned char **p, int dir)
Definition: tree.c:223
int mg_country_postal_len(int country)
Definition: map.c:141
static int block_get_count(struct block *blk)
Definition: mg.h:44
int street_get_byid(struct map_rect_priv *mr, struct street_priv *street, int id_hi, int id_lo, struct item *item)
Definition: street.c:492
int block_next_lin(struct map_rect_priv *mr)
Definition: block.c:170
static unsigned short block_offset_get_offset(struct block_offset *blk)
Definition: mg.h:293
static struct pcoord c
Definition: popup.c:375
Definition: attr.h:157
Definition: mg.h:264
unsigned char * p
Definition: mg.h:272
int next
Definition: mg.h:267
struct coord_rect stack[BT_STACK_SIZE]
Definition: mg.h:269
struct block * b
Definition: mg.h:265
int block_count
Definition: mg.h:268
int stackp
Definition: mg.h:270
struct coord_rect r r_curr
Definition: mg.h:266
int order
Definition: mg.h:271
unsigned char * end
Definition: mg.h:273
Definition: mg.h:29
struct file * file
Definition: mg.h:30
Definition: mg.h:288
unsigned char p[4]
Definition: mg.h:291
Definition: mg.h:276
unsigned char * end
Definition: mg.h:282
int binarytree
Definition: mg.h:284
unsigned char * p
Definition: mg.h:281
int block_num
Definition: mg.h:277
unsigned char * block_start
Definition: mg.h:279
struct coord_rect b_rect
Definition: mg.h:278
struct block_bt_priv bt
Definition: mg.h:285
unsigned char * p_start
Definition: mg.h:283
struct block * b
Definition: mg.h:280
Definition: mg.h:33
unsigned char p[32]
Definition: mg.h:39
Definition: coord.h:58
struct coord rl
Definition: coord.h:60
struct coord lu
Definition: coord.h:59
Definition: coord.h:34
int y
Definition: coord.h:36
int x
Definition: coord.h:35
Definition: country.c:31
Definition: file.h:36
Definition: mg.h:158
char * suffix
Definition: mg.h:160
int number
Definition: mg.h:159
Implementation-specific item data for traffic map items.
Definition: mg.h:47
enum attr_type attr_last
Definition: mg.h:52
unsigned char * aend
Definition: mg.h:51
unsigned char * cp
Definition: mg.h:50
unsigned char * astart
Definition: mg.h:51
unsigned char * cend
Definition: mg.h:50
int aidx
Definition: mg.h:49
unsigned char * ap
Definition: mg.h:51
struct map_rect_priv * mr
Definition: traffic.c:178
int cidx
Definition: mg.h:48
unsigned char * cstart
Definition: mg.h:50
enum attr_type attr_next
Definition: mg.h:53
Represents an object on a map.
Definition: item.h:115
int id_hi
Definition: item.h:117
int id_lo
Definition: item.h:118
Represents the map from a single binfile.
Definition: binfile.c:105
int id
Definition: binfile.c:106
char * dirname
Definition: mg.h:259
Implementation-specific map rect data.
Definition: binfile.c:137
struct map_selection * sel
Definition: binfile.c:143
struct tree_search ts
Definition: mg.h:327
struct block_priv b
Definition: mg.h:322
struct attr * search_attr
Definition: mg.h:330
int search_country
Definition: mg.h:328
struct street_priv street
Definition: mg.h:326
struct town_priv town
Definition: mg.h:324
struct map_selection * xsel
Definition: mg.h:316
int search_partial
Definition: mg.h:332
enum file_index current_file
Definition: mg.h:320
struct item * search_item_tmp
Definition: mg.h:338
struct block_offset * search_blk_off
Definition: mg.h:339
int search_blk_count
Definition: mg.h:335
enum attr_type search_type search_type_next
Definition: mg.h:336
struct file * file
Definition: mg.h:321
struct item_priv item3
Definition: mg.h:342
GHashTable * block_hash[file_end]
Definition: mg.h:341
struct map_selection * cur_sel
Definition: mg.h:317
struct map_rect_priv * search_mr_tmp
Definition: mg.h:337
struct item search_item
Definition: mg.h:329
char * search_str
Definition: mg.h:331
struct map_priv * m
Definition: binfile.c:144
unsigned char * search_p
Definition: mg.h:334
struct poly_priv poly
Definition: mg.h:325
int search_block
Definition: mg.h:340
int search_linear
Definition: mg.h:333
Used to select data from a map.
Definition: map.h:58
Definition: map.c:55
int y
Definition: coord.h:55
int x
Definition: coord.h:54
Definition: mg.h:81
int aidx
Definition: mg.h:97
unsigned char order
Definition: mg.h:91
int subpoly_num_all
Definition: mg.h:85
unsigned int * count
Definition: mg.h:94
unsigned char type
Definition: mg.h:92
enum attr_type attr_next
Definition: mg.h:98
unsigned int count_sum
Definition: mg.h:95
char * name
Definition: mg.h:90
int subpoly_num
Definition: mg.h:84
int poly_num
Definition: mg.h:82
unsigned char * poly_next
Definition: mg.h:83
unsigned int polys
Definition: mg.h:93
unsigned char * subpoly_next
Definition: mg.h:86
unsigned char * subpoly_start
Definition: mg.h:87
struct coord c[2]
Definition: mg.h:89
unsigned char * p
Definition: mg.h:88
Definition: command.c:34
Definition: mg.h:117
int type_count
Definition: mg.h:119
struct street_header * header
Definition: mg.h:118
struct street_type * type
Definition: mg.h:120
Definition: mg.h:101
unsigned char p[5]
Definition: mg.h:104
Definition: mg.h:184
int tag
Definition: mg.h:186
int len
Definition: mg.h:185
struct housenumber first
Definition: mg.h:188
struct street_name_segment * segment
Definition: mg.h:190
struct housenumber last
Definition: mg.h:189
struct coord * c
Definition: mg.h:187
Definition: mg.h:163
int aux_len
Definition: mg.h:173
int tmp_len
Definition: mg.h:175
int dist
Definition: mg.h:166
struct street_name_segment * segments
Definition: mg.h:172
int segment_count
Definition: mg.h:171
struct housenumber last
Definition: mg.h:170
int tag
Definition: mg.h:165
struct coord * c
Definition: mg.h:168
unsigned char * aux_data
Definition: mg.h:174
int len
Definition: mg.h:164
struct housenumber first
Definition: mg.h:169
unsigned char * tmp_data
Definition: mg.h:176
int country
Definition: mg.h:167
Definition: mg.h:139
int segid
Definition: mg.h:140
int country
Definition: mg.h:141
Definition: mg.h:144
int len
Definition: mg.h:145
int townassoc
Definition: mg.h:147
int aux_len
Definition: mg.h:152
int country
Definition: mg.h:146
char * name1
Definition: mg.h:148
unsigned char * tmp_data
Definition: mg.h:155
int segment_count
Definition: mg.h:150
char * name2
Definition: mg.h:149
unsigned char * aux_data
Definition: mg.h:153
struct street_name_segment * segments
Definition: mg.h:151
int tmp_len
Definition: mg.h:154
Definition: mg.h:195
GHashTable * streetname_hash
Definition: mg.h:226
struct coord_rect ref
Definition: mg.h:209
int more
Definition: mg.h:211
char first_number[32]
Definition: mg.h:223
struct housenumber hn[100]
Definition: mg.h:216
int type_count
Definition: mg.h:198
struct coord hnc[100]
Definition: mg.h:215
int bytes
Definition: mg.h:210
unsigned char * p
Definition: mg.h:203
int status
Definition: mg.h:207
int housenumber
Definition: mg.h:213
unsigned char * end
Definition: mg.h:205
enum attr_type attr_next
Definition: mg.h:221
struct street_name_numbers name_numbers
Definition: mg.h:219
struct street_type * type
Definition: mg.h:199
struct file * name_file
Definition: mg.h:196
int cidx
Definition: mg.h:214
int status_rewind
Definition: mg.h:208
struct street_str * str_start
Definition: mg.h:201
int flags
Definition: mg.h:212
struct street_name name
Definition: mg.h:218
unsigned char * p_rewind
Definition: mg.h:204
unsigned char * coord_begin
Definition: mg.h:202
struct street_str * str
Definition: mg.h:200
char last_number[32]
Definition: mg.h:224
char debug[256]
Definition: mg.h:222
struct street_name_number name_number
Definition: mg.h:220
int hn_count
Definition: mg.h:217
unsigned char * next
Definition: mg.h:206
char current_number[32]
Definition: mg.h:225
struct street_header * header
Definition: mg.h:197
Definition: mg.h:123
unsigned char p[12]
Definition: mg.h:130
Definition: mg.h:109
unsigned char p[3]
Definition: mg.h:112
Definition: mg.h:57
struct coord c
Definition: mg.h:59
int cidx
Definition: mg.h:73
char * name
Definition: mg.h:60
int aidx
Definition: mg.h:74
unsigned int id
Definition: mg.h:58
unsigned int unknown2
Definition: mg.h:66
unsigned char size
Definition: mg.h:67
unsigned short country
Definition: mg.h:65
char * district
Definition: mg.h:61
unsigned char unknown3
Definition: mg.h:69
enum attr_type attr_next
Definition: mg.h:75
char * postal_code1
Definition: mg.h:62
unsigned char order
Definition: mg.h:63
char postal[32]
Definition: mg.h:77
struct item town_attr_item
Definition: mg.h:78
char * postal_code2
Definition: mg.h:70
char debug[256]
Definition: mg.h:76
unsigned int street_assoc
Definition: mg.h:68
unsigned int unknown4
Definition: mg.h:71
unsigned char type
Definition: mg.h:64
Definition: tree.c:25
Definition: mg.h:296
struct tree_hdr * hdr
Definition: mg.h:297
unsigned char * last
Definition: mg.h:299
int high
Definition: mg.h:302
int last_high
Definition: mg.h:304
unsigned char * end
Definition: mg.h:300
unsigned char * p
Definition: mg.h:298
int low
Definition: mg.h:301
int last_low
Definition: mg.h:303
Definition: mg.h:307
struct tree_search_node nodes[5]
Definition: mg.h:311
int curr_node
Definition: mg.h:310
int last_node
Definition: mg.h:309
struct file * f
Definition: mg.h:308