/* Header for module wol_cmd, generated by p2c */
#ifndef WOL_CMD_H
#define WOL_CMD_H


#ifndef ASM_H
#include <p2c/asm.h>
#endif

#ifndef SYSGLOBALS_H
#include <p2c/sysglobals.h>
#endif

/*file support*/

#ifndef FS_H
#include <p2c/fs.h>
#endif

#ifndef MISC_H
#include <p2c/misc.h>
#endif

#ifndef SYSDEVS_H
#include <p2c/sysdevs.h>
#endif

/* by      Tim Mikkelsen
   date    07/17/81
   update  03/09/83

   purpose This module contains the LEVEL
           2 HPIB GROUP procedures.

 */


#ifndef HPIB_2_H
#include <p2c/hpib_2.h>
#endif

#ifndef HPIB_1_H
#include <p2c/hpib_1.h>
#endif

#ifndef GENERAL_1_H
#include <p2c/general_1.h>
#endif

#ifndef GENERAL_2_H
#include <p2c/general_2.h>
#endif

#ifndef FILEPACK_H
#include <p2c/filepack.h>
#endif

#ifndef NEWKBD_H
#include <p2c/newkbd.h>
#endif

#ifndef CITINFOMOD_H
#include <p2c/citinfomod.h>
#endif

#ifndef NEWCI_H
#include <p2c/newci.h>
#endif

#ifndef MYLIB_H
#include <p2c/mylib.h>
#endif

#ifndef NEWASM_H
#include <p2c/newasm.h>
#endif

#ifndef WOL_GRAPHICS_H
#include "wol_graphics.h"
#endif

#ifndef WOL_ASM_H
#include "wol_asm.h"
#endif

#ifndef HPGL_PLOTTER_H
#include "hpgl_plotter.h"
#endif

#ifndef TIMING_H
#include "timing.h"
#endif

#ifndef LAYER_STUFF_H
#include "layer_stuff.h"
#endif

#ifndef TABLET_STUFF_H
#include "tablet_stuff.h"
#endif

#ifndef MESSAGE_STUFF_H
#include "message_stuff.h"
#endif

#ifndef CORE_H
#include "core.h"
#endif

#ifndef CELL_STUFF_H
#include "cell_stuff.h"
#endif

#ifndef NAME_STUFF_H
#include "name_stuff.h"
#endif

#ifndef WOL_HEADER_H
#include "wol_header.h"
#endif

#ifndef WOL_GRAPHICS_2_H
#include "wol_graphics_2.h"
#endif

#ifndef WOL_INITIALIZE_H
#include "wol_initialize.h"
#endif

#ifndef WOL_MENU_H
#include "wol_menu.h"
#endif

#ifndef WOL_OPTIONS_H
#include "wol_options.h"
#endif

#ifndef WOL_CIF_H
#include "wol_cif.h"
#endif


#ifdef WOL_CMD_G
# define vextern
#else
# define vextern extern
#endif


extern boolean start_select(point start);
extern Char *check_for_used(Char *Result, Char *s);
extern short deferred_depth(void);

extern void zoom_in_out(void);

extern void undel_obj(void);
extern void delete_obj(point start, short modenum, Char *mode);
extern void copy_obj(point start, short modenum, Char *mode);
extern void move_obj(point start, short modenum, Char *mode);
extern void edit_obj(point start);
extern void erase_names(node *obj);
extern void clear_main(void);
extern void get_elecnode(point start);
extern void xform_geom(point start, short modenum, Char *modename);
extern void stretch_geom(void);
extern void define_port(point start);
extern void geom_line(cell *g, short xform);
extern void list_cells(void);
extern void get_ports(node *pt, port_node **list);
extern void make_cell(void);
extern void immediate_make_cell(void);
extern void new_main_cell(void);
extern void immediate_new_main_cell(Char *new_cell);
extern void append_cell(void);
extern void delete_cell(void);

extern boolean plot_setup(void);
extern void plot_cleanup(void);
extern void plot(void);
extern void plot_comp(void);

extern void comp_line(comp_list *c, short xform);
extern void list_comp_cells(void);
extern void add_comp_cell(void);
extern boolean move_a_comp(c_cell *m_obj, point start);
extern void move_comp(point start);
extern void undelete_comp(void);
extern void del_comp(point start);
extern void copy_comp(point start);
extern void make_comp(void);
extern void erase_comp(void);
extern void clear_m_comp(void);
extern void new_comp_cell(void);
extern void xform_comp(point start, short xform, Char *modename);
extern c_cell *which_comp(comp_list *c, point p);
extern boolean clear_comp(void);
extern c_cell *which_open_comp(comp_list *c, point p, point ll);
extern boolean top_level_cell(comp_list *scan);
extern void close_a_cell(comp_list *scan2);
extern boolean close_poked_cells(void);
extern void open_all_comp_cells(boolean show_geom);
extern void poke_c_cells(point start);
extern void get_comp_name(point start);
extern void update_comp_mbb(void);
extern void array_comp(void);

extern long address(long *foo);
extern void dump_geom_data(node *nd, node *parent_node, long offset);
extern void dump_geom_cells_list(cell *start);
extern void dump_comp_data(comp_list *start);
extern void dump_comp_cells_contents(comp_list *start);

extern void modify(cell_typ buff);
extern void show_modified(void);
extern void disp_memory(void);
extern void user_options(void);
extern void do_bool(boolean *b, Char *p);
extern void bitch_bitch_bitch(Char *fname);
extern void setupDisp(void);
extern void layer_dump(void);
extern void emerg_buffer_action(void);
extern void restart_wol(void);


#undef vextern

#endif /*WOL_CMD_H*/

/* End. */
