#ifndef DPUSER2C_PROCEDURES_H
#define DPUSER2C_PROCEDURES_H

/*
 * Functions defined in external c++ files
 * The source code for the function is in the file
 * <function name>.cpp
 */

#include <dpstring.h>
#include "dpuserType.h"
#include <vector>

int lookupUserProcedure(char *name);
int pgWord(char *);
int pgWord_for_compile(const dpString &s);
int pgWord_for_store(const dpString &s);

typedef struct {
	dpString name;
   dpString displaySyntax;
	int nargs;
	int nrCompiled;
	void *libHandle;
	 void (*arg0)(void);
	 void (*arg1)(dpuserType&);
	 void (*arg2)(dpuserType&, dpuserType&);
	 void (*arg3)(dpuserType&, dpuserType&, dpuserType&);
	 void (*arg4)(dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	 void (*arg5)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	 void (*arg6)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	 void (*arg7)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	 void (*arg8)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	 void (*arg9)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg10)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg11)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg12)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg13)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg14)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg15)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg16)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg17)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg18)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg19)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
	void (*arg20)(dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&, dpuserType&);
} compiled_procedure;

extern std::vector<compiled_procedure> compiledprocedures;
//extern std::list<compiled_procedure> tempCompiledProcs;
//extern int tempCompiledProcedurePresent;

void execCompiledProcedure(dpString which, int nargs, dpuserType *args);

// BEGIN PARSE FOR DPUSER2C

void dpuserProcedure_pgarro(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgask(dpuserType arg1);
void dpuserProcedure_pgaxis(dpuserType arg1, dpuserType arg2, dpuserType arg3,
            dpuserType arg4, dpuserType arg5, dpuserType arg6,
            dpuserType arg7, dpuserType arg8, dpuserType arg9,
            dpuserType arg10, dpuserType arg11, dpuserType arg12,
            dpuserType arg13, dpuserType arg14);
void dpuserProcedure_pgbbuf(void);
void dpuserProcedure_pgbeg(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgbegin(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgbin(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgbox(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_pgcirc(dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgclos(void);
void dpuserProcedure_pgconb(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_pgconf(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pgconl(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_pgcons(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pgcont(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pgctab(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7);
void dpuserProcedure_pgdraw(dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgebuf(void);
void dpuserProcedure_pgend(void);
void dpuserProcedure_pgenv(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgeras(void);
void dpuserProcedure_pgerr1(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgerrb(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgerrx(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgerry(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgetxt(void);
void dpuserProcedure_pggray(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pghi2d(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_pghist(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgiden(void);
void dpuserProcedure_pgimag(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pglabel(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pglab(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pglcur(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgldev(void);
void dpuserProcedure_pglen(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgline(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgmove(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgmtext(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType &arg4);
void dpuserProcedure_pgmtxt(dpuserType &arg0,dpuserType argg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgncur(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgncurse(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgnumb(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgolin(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgopen(dpuserType arg0);
void dpuserProcedure_pgpage(void);
void dpuserProcedure_pgpanl(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgpaper(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgpap(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgpixl(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10);
void dpuserProcedure_pgpnts(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgpoint(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgpoly(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgpt1(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgptext(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgpt(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgptxt(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgrect(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgsah(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgsave(void);
void dpuserProcedure_pgunsa(void);
void dpuserProcedure_pgscf(dpuserType arg0);
void dpuserProcedure_pgsch(dpuserType arg0);
void dpuserProcedure_pgsci(dpuserType arg0);
void dpuserProcedure_pgscir(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgsclp(dpuserType arg0);
void dpuserProcedure_pgscr(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgscrl(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgscrn(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgsfs(dpuserType arg0);
void dpuserProcedure_pgshls(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgshs(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgsitf(dpuserType arg0);
void dpuserProcedure_pgslct(dpuserType arg0);
void dpuserProcedure_pgsls(dpuserType arg0);
void dpuserProcedure_pgslw(dpuserType arg0);
void dpuserProcedure_pgstbg(dpuserType arg0);
void dpuserProcedure_pgsubp(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgsvp(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgswin(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgtbox(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgtext(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgtick(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_pgupdt(void);
void dpuserProcedure_pgvect(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_pgvport(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgvsize(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgvsiz(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgvstand(void);
void dpuserProcedure_pgvstd(void);
void dpuserProcedure_pgwedg(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgwindow(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgwnad(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_writefits(dpuserType arg1, dpuserType arg2, dpString option = "");
void dpuserProcedure_contour(dpuserType arg1, dpuserType arg2);
void dpuserProcedure_display(dpuserType arg1);
void dpuserProcedure_display(dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_exec(dpuserType arg1);
void dpuserProcedure_sleep(dpuserType arg1);
void dpuserProcedure_print(dpuserType arg);
void dpuserProcedure_print(dpuserType arg, dpuserType option);
void dpuserProcedure_mem(void);
void dpuserProcedure_shift(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpString option = "");
void dpuserProcedure_shift(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpString option = "");
void dpuserProcedure_center(dpuserType arg1);
void dpuserProcedure_centroid(dpuserType arg1, dpuserType arg2);
void dpuserProcedure_centroid(dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_centroid(dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_upper(dpuserType arg0);
void dpuserProcedure_lower(dpuserType arg0);
void dpuserProcedure_export(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_export(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_replace(dpuserType arg0, dpuserType arg1, dpuserType arg2);

//Alex
void dpuserProcedure_rotate(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_rotate(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_rotate(dpuserType arg0,dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_fft(dpuserType arg0);
void dpuserProcedure_reass(dpuserType arg0);
void dpuserProcedure_norm(dpuserType arg0, dpString option = "");
void dpuserProcedure_clip(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_clip(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_smooth(dpuserType arg0, dpuserType arg1, dpString option = "");
void dpuserProcedure_boxcar(dpuserType arg0, dpuserType arg1, dpString option1 = "", dpString option2 = "");
void dpuserProcedure_3dmerge(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_3dmerge(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_3dmegacal(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_3dcal(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_3dcubin(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_3dexpand(dpuserType arg0);
void dpuserProcedure_flip(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_enlarge(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_enlarge(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_resize(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_resize(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_wien(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_wien(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_lucy(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_lucy(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_3dnorm(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_correl(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_rebin(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_ssaplot(dpuserType arg0);
void dpuserProcedure_ssaplot(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_freddy(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_surface(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_surface(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_imexa(dpuserType arg0);
void dpuserProcedure_sbfint(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_sbfbkg(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_sbfsav(dpuserType arg0);
void dpuserProcedure_sbfcls(dpuserType arg0);
void dpuserProcedure_colint(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_coltab(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_colsrf(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8);
void dpuserProcedure_sbball(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_sbtbal(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10);
void dpuserProcedure_sbplan(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_sbplnt(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_sbrod(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8);
void dpuserProcedure_sbcone(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7);
void dpuserProcedure_sbelip(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_sbline(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_sbtext(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_sbsurf(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10);
void dpuserProcedure_sbtsur(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11);
void dpuserProcedure_sbslic(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11, dpuserType arg12);
void dpuserProcedure_sbcpln(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8);
void dpuserProcedure_sb2srf(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9, dpuserType arg10, dpuserType arg11, dpuserType arg12);
void dpuserProcedure_radialplot(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_setfitskey(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_setfitskey(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_setbitpix(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_setbitpix(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_setbitpix(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_cd(dpuserType arg0);
void dpuserProcedure_setwcs(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_setwcs(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_shrink(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_shrink(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_view(dpuserType arg0);
void dpuserProcedure_limits(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_limits(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_limits(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_limits(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_limits(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_printf(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_writebmp(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_writebmp(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_writebmp(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_swapbytes(dpuserType arg0);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8);
void dpuserProcedure_read(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7, dpuserType arg8, dpuserType arg9);
void dpuserProcedure_shade(dpuserType arg0);
void dpuserProcedure_saomarkpoint(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_saoclear();
void dpuserProcedure_saomarklabel(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_cblank(dpuserType arg0);
void dpuserProcedure_cblank(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_cubemerge(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_setenv(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_break();
void dpuserProcedure_run(dpuserType arg0);
void dpuserProcedure_echo(dpuserType arg0);
void dpuserProcedure_precess(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6, dpuserType arg7);
void dpuserProcedure_pwd();
void dpuserProcedure_dir();
void dpuserProcedure_dir(dpuserType arg0);
void dpuserProcedure_newbuffer(dpuserType arg0);
void dpuserProcedure_newbuffer(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_setindexbase(dpuserType arg0);
void dpuserProcedure_fortrannotation();
void dpuserProcedure_cnotation();
void dpuserProcedure_userDialog(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_userDialog(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_userDialog(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_compile(dpuserType arg0, dpString option1);
void dpuserProcedure_pgqtxt(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_pgband(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5, dpuserType arg6);
void dpuserProcedure_pgcurse(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgcurs(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_spec3d(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgqah(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgqcf(dpuserType arg0);
void dpuserProcedure_pgqch(dpuserType arg0);
void dpuserProcedure_pgqci(dpuserType arg0);
void dpuserProcedure_pgqcir(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgqclp(dpuserType arg0);
void dpuserProcedure_pgqcol(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgqcr(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgqcs(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgqdt(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4, dpuserType arg5);
void dpuserProcedure_pgqfs(dpuserType arg0);
void dpuserProcedure_pgqhs(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgqid(dpuserType arg0);
void dpuserProcedure_pgqinf(dpuserType arg0, dpuserType arg1, dpuserType arg2);
void dpuserProcedure_pgqitf(dpuserType arg0);
void dpuserProcedure_pgqls(dpuserType arg0);
void dpuserProcedure_pgqlw(dpuserType arg0);
void dpuserProcedure_pgqndt(dpuserType arg0);
void dpuserProcedure_pgqpos(dpuserType arg0, dpuserType arg1);
void dpuserProcedure_pgqtbg(dpuserType arg0);
void dpuserProcedure_pgqvp(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgqvsz(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpuserType arg4);
void dpuserProcedure_pgqwin(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_pgrnge(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3);
void dpuserProcedure_plot(dpuserType arg0, dpString option1 = "", dpString option2 = "", dpString option3 = "");
void dpuserProcedure_plot(dpuserType arg0, dpuserType arg1, dpString option1 = "", dpString option2 = "", dpString option3 = "");
void dpuserProcedure_plot(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpString option1 = "", dpString option2 = "", dpString option3 = "");
void dpuserProcedure_plot(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpuserType arg3, dpString option1 = "", dpString option2 = "", dpString option3 = "");
void dpuserProcedure_free();
void dpuserProcedure_free(dpuserType arg0);
void dpuserProcedure_sao(dpuserType arg0, dpString option1 = "", dpString option2 = "");
void dpuserProcedure_sao(dpuserType arg0, dpuserType arg1, dpuserType arg2, dpString option1 = "", dpString option2 = "");
void dpuserProcedure_cirrange(dpuserType &arg, dpString option = "");

// END PARSE FOR DPUSER2C

#endif /* DPUSER2C_PROCEDURES_H */
