#ifndef __NLL_POSITION_H_INCLUDED__
#define __NLL_POSITION_H_INCLUDED__

struct position {
  position_type_t type;
  struct spot spot;
  value_t value;
  int arg;
};

int position_check(void);
int position_init(void);
int position_clear(void);
int position_clean(void);
int position_push(position_type_t type, spot_t spot, value_t value, int arg);
int position_pop(position_type_t type, position_type_t *typep,
		 spot_t spot, value_t value, int *argp);
int position_peek(position_type_t type, spot_t spot, value_t *valuep, int *argp);
position_type_t position_get_type(void);
int position_get(spot_t spot, position_t *positionp);
int position_set(spot_t spot, position_t position);
int position_reset(position_t position);
int position_dump(FILE *fp);

#endif
