/* DRW External Edit Ram Tfr Interface fns. */

#ifndef drwExdfnRh_H
 #define drwExdfnRh_H

#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif

#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif

typedef int  (*drw_extedit_accept_ramtfr_fn)(void *tfrinfo,
                                             int tfrsize,
                                             bits filetype,
                                             byte **buffer,
                                             int *buffpos,
                                             int *buffsize);
typedef void (*drw_extedit_ramtfr_fn)(wimp_message *wm,
                                      drw_datatfr *dtfr,
                                      int end_of_ram_tfr,
                                      int *tfrsize);
typedef void (*drw_extedit_rtramtfr_fn)(int my_ref,
                                        int your_ref,
                                        int tfrtype,
                                        int firstfetch,
                                        void *tfrinfo);
typedef void (*drw_extedit_post_ramtfr_fn)(int tfrtypein,
                                           drw_datatfr *dtfr);


typedef struct   drw_exteditfnR_str    drw_exteditfnR_str;

struct drw_exteditfnR_str {

drw_extedit_accept_ramtfr_fn          acceptramtfr;
drw_extedit_ramtfr_fn                 exteditramtfr;
drw_extedit_rtramtfr_fn               rtexteditramtfr;
drw_extedit_post_ramtfr_fn            postexteditramtfr;

};

#if defined NAMESPACE_DRWIMPC
  }
#endif

#endif

