/* DrWimpC External Edit Interface Functions. */

#ifndef extedit_H
 #include "OSlib/extedit.h"
#endif

#ifndef drwexteditIfn_H
 #define drwexteditIfn_H

#ifndef drwExtedith_H
 #include "DRW/drwExedith.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif

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_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_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_rq_datasave(extedit_job_handle job_handle,
                                    int source1,
                                    int source2,
                                    int source3,
                                    int source4,
                                    char *filename,
                                    int notifbeingedited);

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);

#ifdef __cplusplus
}
#endif

#endif

