/* drwExtedit */


#ifdef __cplusplus 
extern "C" {
#endif

extern int drw_compare_exd_ref(void *thisexd, void *cmpwith);
extern drw_extedit_data *drw_find_exd_job(extedit_job_handle job_handle,
                                          int extedit_process_type);
extern int drw_compare_exd_source(void *thisexd, void *cmpwith);
extern void drw_init_exd_str(void *exdptr);
extern drw_extedit_data *drw_find_exd_by_source(int source1,
                                                int source2,
                                                int source3,
                                                int source4,
                                                int extedit_process_type);
extern drw_extedit_data *drw_alloc_extedit_str(void);
extern extedit_job_handle drw_extedit_get_jh(int source1,
                                             int source2,
                                             int source3,
                                             int source4);
extern wimp_w drw_extedit_get_editwhan(extedit_job_handle job_handle,
                                       int source1,
                                       int source2,
                                       int source3,
                                       int source4);
extern int drw_extedit_resizejh_wstkscan(wimp_t thistask,
                                         wimp_window_state *wstate,
                                         void *scandata);
extern void drw_extedit_cancel_overdue_startups(void *userfndata,
                                                void *userval);
extern int drw_extedit_find_outstanding_startups(void *listval, void *findval);
extern void drw_extedit_resize_jh_w(void);
extern int drw_extedit_ram_load_start(extedit_job_handle job_handle,
                                      int source1,
                                      int source2,
                                      int source3,
                                      int source4);
extern int drw_extedit_check_for_edit(wimp_t thistask,
                                      wimp_window_state *wstate,
                                      void *scandata);
extern void drw_extedit_setup_full_name(char *filename);
extern void drw_extedit_setup_job_name(drw_extedit_data *exd,
                                       int usejobnumber,
                                       char *to);
extern wimp_error_box_selection drw_extedit_anyway_msg(wimp_t taskh,
                                      drw_extedit_data *exd,
                                                       int show_error_box,
                                                       int isuserchoice,
                                                       int result);
extern void drw_extedit_later_file_msg(drw_extedit_data *exd,
                                       int result);
extern int drw_extedit_currently_edited(drw_extedit_data *exd,
                                        int extedit_process_type,
                                        int newedit,
                                        char *filename,
                                        bits file_type);
extern extedit_job_handle drw_extedit_start(extedit_data_type data_type,
                                            char *parent_name,
                                            char *full_name,
                                            int retry,
                                            int cu_editing,
                                            int read_only,
                                            int immediate_ex,
                                            int append_jh,
                                            int maxretries,
                                            int source1,
                                            int source2,
                                            int source3,
                                            int source4);
extern void drw_retry_ext_edit_rq(wimp_message *wmsg);
extern int drw_wimp_eeflag(extedit_flags *eeflags,
                           extedit_flags flagno,
                           int toggle);
extern void drw_extedit_set_flags(int cu_editing,
                                  int sel_only,
                                  int read_only,
                                  int immediate_ex,
                                  int adj_sel,
                                  extedit_flags *flags);
extern int drw_wimp_eestatus_flag(bits *exdstatus,
                                  bits flagno,
                                  int toggle);
extern void drw_extedit_process_ack(wimp_message *wm,
                                    wimp_event_no sendtype);
extern void drw_extedit_rq_return_data(extedit_job_handle job_handle,
                                       int source1,
                                       int source2,
                                       int source3,
                                       int source4,
                                       extedit_data_type data_type,
                                       extedit_flags cu_editing,
                                       extedit_flags sel_only,
                                       char *filename,
                                       int notifbeingedited);
extern void drw_extedit_abort_job(drw_extedit_data *exd, int inform);
extern void drw_extedit_send_abort_msg(extedit_job_handle job_handle,
                                       wimp_t sendto);
extern void drw_extedit_abort_jobh(extedit_job_handle job_handle,
                                   int source1,
                                   int source2,
                                   int source3,
                                   int source4,
                                   int extedit_process_type);
extern void drw_extedit_cursor(extedit_job_handle job_handle,
                               int source1,
                               int source2,
                               int source3,
                               int source4,
                               int new_cursor_pos,
                               int new_sos_pos,
                               int new_eos_pos,
                               int adj_sel,
                               int bring_to_front);
extern void drw_extedit_send_ack(extedit_job_handle job_handle,
                                 wimp_event_no reply_type,
                                 extedit_data_type data_type,
                                 extedit_flags flags);
extern extedit_job_handle drw_extedit_accept(wimp_message *wm);
extern void drw_extedit_rq_datasave(extedit_job_handle job_handle,
                                    int source1,
                                    int source2,
                                    int source3,
                                    int source4,
                                    char *filename,
                                    int notifbeingedited);
extern void drw_extedit_initiate_save(wimp_message *wm,
                                      int inref,
                                      drw_extedit_data *exd,
                                      int est_size,
                                      bits filetype);
extern void drw_extedit_return_data(wimp_message *wm,
                                    wimp_event_no sendtype);
extern void drw_extedit_process_cursor(wimp_message *wm);
extern void drw_extedit_process_abort(wimp_message *wm);
extern void drw_extedit_process_save(wimp_message *wm);
extern void drw_extedit_recv_dl_ack(drw_datatfr *dtfr,
                                    wimp_t desttask,
                                    int inmyref,
                                    int inyourref,
                                    wimp_w destwhan,
                                    wimp_i destic,
                                    int destx,
                                    int desty,
                                    int est_size,
                                    bits filetype,
                                    char *filename);
extern int drw_extedit_pollmsg(wimp_message *wm,
                               wimp_event_no sendtype);
extern void drw_catch_msg_ee_editrq(wimp_message *wmsg,
                                    bits msgactioncode,
                                    wimp_event_no reason,
                                    void *actiondata);
extern void drw_catch_msg_ee_ack(wimp_message *wmsg,
                                 bits msgactioncode,
                                 wimp_event_no reason,
                                 void *actiondata);
extern void drw_catch_msg_ee_datasave(wimp_message *wmsg,
                                      bits msgactioncode,
                                      wimp_event_no reason,
                                      void *actiondata);
extern void drw_catch_msg_ee_rtn(wimp_message *wmsg,
                                 bits msgactioncode,
                                 wimp_event_no reason,
                                 void *actiondata);
extern void drw_catch_msg_ee_abort(wimp_message *wmsg,
                                   bits msgackcode,
                                   wimp_event_no reason,
                                   void *actiondata);
extern void drw_catch_msg_ee_cursor(wimp_message *wmsg,
                                    bits msgactioncode,
                                    wimp_event_no reason,
                                    void *actiondata);
extern void drw_catch_rtnd_ee_editrq(wimp_message *wmsg,
                                     bits msgackcode,
                                     wimp_event_no reason,
                                     void *actiondata);
extern void drw_extedit_init(void);
extern void drw_extedit_rq_ed_w_to_front(extedit_job_handle job_handle,
                                         int source1,
                                         int source2,
                                         int source3,
                                         int source4,
                                         int tofront);
extern int drw_get_exd_source_ids(extedit_job_handle job_handle,
                                  int *source1,
                                  int *source2,
                                  int *source3,
                                  int *source4);
extern void drw_set_exd_source_ids(extedit_job_handle job_handle,
                                   int source1,
                                   int source2,
                                   int source3,
                                   int source4);
extern void drw_extedit_wait_for_editor(int edit_wait_count);

#ifdef __cplusplus
}
#endif

