reflection for maps

R=r
DELTA=304  (248 added, 34 deleted, 22 changed)
OCL=31345
CL=31347
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h
index 26dfe70..ee2f982 100644
--- a/src/pkg/runtime/runtime.h
+++ b/src/pkg/runtime/runtime.h
@@ -60,6 +60,7 @@
 typedef	struct	Eface	Eface;
 typedef	struct	Type		Type;
 typedef	struct	Defer		Defer;
+typedef	struct	hash		Hmap;
 
 /*
  * per cpu declaration
@@ -457,3 +458,10 @@
 float64	modf(float64 d, float64 *ip);
 void	semacquire(uint32*);
 void	semrelease(uint32*);
+void	mapassign(Hmap*, byte*, byte*);
+void	mapaccess(Hmap*, byte*, byte*, bool*);
+struct hash_iter*	mapiterinit(Hmap*);
+void	mapiternext(struct hash_iter*);
+bool	mapiterkey(struct hash_iter*, void*);
+void	mapiterkeyvalue(struct hash_iter*, void*, void*);
+Hmap*	makemap(uint32, uint32, uint32, uint32, uint32);