ref: 0823efb6440b7108375f10441ee47faa8e3517c8
dir: /util.h/
typedef struct List List;
struct List
{
	void *data;
	List *next;
	List *prev;
};
typedef struct
{
	int len;
	List *l;
}Quene;
int isnum(char *s, unsigned int n);
int strtodir(char *s);
char* dirtostr(int dir);
Point parseput(char *x, char *y);
int dprint(char *fmt, ...);
void* emalloc(unsigned long n);
/* ll */
int lladd(List *tail, void *data);
List* llnew(void);
void llappend(List *first, void *data);
void* lookup(List *l, int n);
/* quene */
void qadd(Quene *q, void *data);
void qnext(Quene *q);