56 |
|
|
57 |
typedef struct node_s { |
typedef struct node_s { |
58 |
item_id_t id; |
item_id_t id; |
59 |
|
item_id_t version; |
60 |
pos_t pos; |
pos_t pos; |
61 |
lpos_t lpos; |
lpos_t lpos; |
62 |
user_t *user; |
user_t *user; |
86 |
|
|
87 |
typedef struct way_s { |
typedef struct way_s { |
88 |
item_id_t id; |
item_id_t id; |
89 |
|
item_id_t version; |
90 |
|
item_id_t changeset; |
91 |
user_t *user; |
user_t *user; |
92 |
gboolean visible; |
gboolean visible; |
93 |
time_t time; |
time_t time; |
129 |
|
|
130 |
typedef struct relation_s { |
typedef struct relation_s { |
131 |
item_id_t id; |
item_id_t id; |
132 |
|
item_id_t version; |
133 |
|
item_id_t changeset; |
134 |
user_t *user; |
user_t *user; |
135 |
gboolean visible; |
gboolean visible; |
136 |
time_t time; |
time_t time; |
153 |
/* the current hash table uses 16 bits. each table thus is */ |
/* the current hash table uses 16 bits. each table thus is */ |
154 |
/* 256 kbytes (2^16 * sizeof(void*)) in size */ |
/* 256 kbytes (2^16 * sizeof(void*)) in size */ |
155 |
#define ID2HASH(a) ((unsigned short)(a) ^ (unsigned short)((a)>>16)) |
#define ID2HASH(a) ((unsigned short)(a) ^ (unsigned short)((a)>>16)) |
|
|
|
156 |
typedef struct hash_item_s { |
typedef struct hash_item_s { |
157 |
union { |
union { |
158 |
node_t *node; |
node_t *node; |
242 |
gboolean osm_tag_key_and_value_present(tag_t *haystack, tag_t *tag); |
gboolean osm_tag_key_and_value_present(tag_t *haystack, tag_t *tag); |
243 |
gboolean osm_tag_key_other_value_present(tag_t *haystack, tag_t *tag); |
gboolean osm_tag_key_other_value_present(tag_t *haystack, tag_t *tag); |
244 |
|
|
245 |
char *osm_generate_xml_node(osm_t *osm, node_t *node); |
char *osm_generate_xml_changeset(osm_t *osm, char *comment); |
246 |
char *osm_generate_xml_way(osm_t *osm, way_t *way); |
char *osm_generate_xml_node(osm_t *osm, item_id_t changeset, node_t *node); |
247 |
char *osm_generate_xml_relation(osm_t *osm, relation_t *relation); |
char *osm_generate_xml_way(osm_t *osm, item_id_t changeset, way_t *way); |
248 |
|
char *osm_generate_xml_relation(osm_t *osm, item_id_t changeset, |
249 |
|
relation_t *relation); |
250 |
|
|
251 |
node_t *osm_get_node_by_id(osm_t *osm, item_id_t id); |
node_t *osm_get_node_by_id(osm_t *osm, item_id_t id); |
252 |
way_t *osm_get_way_by_id(osm_t *osm, item_id_t id); |
way_t *osm_get_way_by_id(osm_t *osm, item_id_t id); |