#define OSM_FOR_EACH_BEGIN(_type, _var, _list) CLIST_FOR_EACH(struct osm_ref *, _ref, _list) { _type _var = (_type) _ref->o;
#define OSM_FOR_EACH_END }
+static inline struct osm_object *osm_ref_head(clist *list)
+{
+ struct osm_ref *r = clist_head(list);
+ return r ? r->o : NULL;
+}
+
+static inline struct osm_object *osm_ref_tail(clist *list)
+{
+ struct osm_ref *r = clist_tail(list);
+ return r ? r->o : NULL;
+}
+
struct osm_node *osm_node_new(osm_id_t id);
void osm_node_dump(struct osm_node *n);
void osm_node_dump_all(void);