view place.h @ 19:f9792a9ec704

macro expansion.
author David A. Holland
date Mon, 20 Dec 2010 03:55:19 -0500
parents 76da41da923f
children 76c114899f63
line wrap: on
line source

#include <stdbool.h>

enum places {
	P_NOWHERE,
	P_BUILTIN,
	P_COMMANDLINE,
	P_FILE,
};
struct place {
	enum places type;
	const struct placefile *file;
	unsigned line;
	unsigned column;
};

void place_init(void);
void place_cleanup(void);

void place_setnowhere(struct place *p);
void place_setbuiltin(struct place *p, unsigned num);
void place_setcommandline(struct place *p, unsigned word, unsigned column);
void place_setfilestart(struct place *p, const struct placefile *pf);

const struct placefile *place_addfile(const struct place *incplace,
				      const char *name, bool fromsystemdir);