#include "riscos.h"

class DDEUtils : public Module
{
private:
  char *dde_cmd_line;
  int dde_cmd_line_size;
  char *dde_prefix;

  void Prefix (void);
  void SetCLSize (void);
  void SetCL (void);
  void GetCLSize (void);
  void GetCl (void);
  void ThrowbackRegister (void);
  void ThrowbackUnRegister (void);
  void ThrowbackStart (void);
  void ThrowbackSend (void);
  void ThrowbackEnd (void);
  void ReadPrefix (void);

public:
  char *module_name;
  int version_major;
  int version_minor;
  int swi_chunk_begin;
  int swi_chunk_end;

  DDEUtils (void) : Module ()
  {
    module_name = "DDEUtils";
    version_major = 1;
    version_minor = 63;
    swi_chunk_begin = 0x42580;
    swi_chunk_end = 0x425bf;

    dde_cmd_line = NULL;
    dde_cmd_line_size = 0;
    dde_prefix = NULL;
  }
  virtual ~DDEUtils () {}

  unsigned int SWIChunkBegin (void) { return swi_chunk_begin; }
  unsigned int SWIChunkEnd (void) { return swi_chunk_end; }
  bool SWI (unsigned int swinum, bool xbit);
};
