#include "proglang.h"

MAYBE_EXTERN_C (

    // driver.c defines

    extern enum bobs_op_movement_t { stack, queue } bobs_op_movement;
    extern enum bobs_op_polarity_t { insfirst, inslast } bobs_op_polarity;

    void   bobs_seek(unsigned int);
    void   bobs_moveNext();
    void   bobs_movePrev();
    int    bobs_hasCurrent();
    void * bobs_getCurrentLoc();
    int    bobs_getCurrentVal();

    extern volatile size_t       bobs_ops_completed;
    extern volatile unsigned int bobs_prog_inserting;
    extern volatile unsigned int bobs_prog_removing;
    extern volatile unsigned int bobs_prog_rollover_flag;

    // observation.c defines

    void bobs_init(int NumNodes);
    void bobs_report(void);
)
