#ifndef _ARG_PACK_H
#define _ARG_PACK_H

#include <X11/Intrinsic.h>
#include "darray.h"

typedef struct ArgPack_str {
  int Count;
  Arg *args;
  Darray FreeVector;
} *ArgPack;

#ifdef __STDC__
extern ArgPack ArgPack_create();
extern void ArgPack_add_arg(ArgPack,char*,XtArgVal);
extern int ArgPack_num_args(ArgPack);
extern Arg *ArgPack_the_args(ArgPack); 
extern void ArgPack_delete(ArgPack);
extern ArgPack ArgPack_duplicate_args(Arg*);
extern ArgPack ArgPack_append_args(ArgPack,Arg*);
extern ArgPack ArgPack_copy_and_append(ArgPack,ArgPack);
extern void ArgPack_print(ArgPack);
#else
extern ArgPack ArgPack_create();
extern void ArgPack_add_arg();
extern int ArgPack_num_args();
extern Arg *ArgPack_the_args(); 
extern void ArgPack_delete();
extern ArgPack ArgPack_duplicate_args();
extern ArgPack ArgPack_append_args();
extern ArgPack ArgPack_copy_and_append();
extern void ArgPack_print();
#endif
#endif 



