/* drwWmcr */


#ifdef __cplusplus 
extern "C" {
#endif

extern wimp_menu *drw_cr_def_menu(char *mtitle,
                                  int menusize,
                                  int objectid);
extern wimp_menu *drw_strmenufn(char *menustr,
                                int size,
                                int startitem,
                                wimp_menu *menuptr,
                                int usermenutype,
                                int objectid);
extern wimp_menu *drw_arraymenufn(char *menulist[],
                                  int size,
                                  int startitem,
                                  wimp_menu *menuptr,
                                  int usermenutype,
                                  int objectid);
extern wimp_menu *drw_messagemenufnB(char *messagefilehandle,
                                     char *mtag,
                                     char *mtitle,
                                     int size,
                                     int startitem,
                                     wimp_menu *menuptr,
                                     int usermenutype,
                                     int objectid);
extern wimp_menu *drw_messagemenufn(char *messagefilehandle,
                                    char *mtag,
                                    char *mtitle,
                                    int size,
                                    int startitem,
                                    wimp_menu *menuptr,
                                    int usermenutype,
                                    int objectid);
extern wimp_menu *drw_memblkmenufn(char *dataptr,
                                   int size,
                                   int startitem,
                                   wimp_menu *menuptr,
                                   int usermenutype,
                                   int objectid);
extern wimp_menu *drw_wimp_createmenu(char *menustr,
                                      int size,
                                      int usermenutype,
                                      int objectid);
extern wimp_menu *drw_wimp_recreatemenu(wimp_menu *menuptr,
                                        char *menustr,
                                        int usermenutype,
                                        int objectid);
extern wimp_menu *drw_wimp_altermenuitems(wimp_menu *menuptr,
                                          char *menustr,
                                          int startfrom,
                                          int usermenutype,
                                          int objectid);
extern wimp_menu *drw_wimp_insertmenuitems(wimp_menu *menuptr,
                                           int size,
                                           char *menustr,
                                           int startfrom,
                                           int usermenutype,
                                           int objectid);
extern wimp_menu *drw_wimp_createmenuarray(char *menulist[],
                                           int size,
                                           int usermenutype,
                                           int objectid);
extern wimp_menu *drw_wimp_recreatemenuarray(wimp_menu *menuptr,
                                             char *menulist[],
                                             int usermenutype,
                                             int objectid);
extern wimp_menu *drw_wimp_altermenuitemsarray(wimp_menu *menuptr,
                                               char *menulist[],
                                               int startfrom,
                                               int usermenutype,
                                               int objectid);
extern wimp_menu *drw_wimp_insertmenuitemsarray(wimp_menu *menuptr,
                                                int size,
                                                char *menulist[],
                                                int startfrom,
                                                int usermenutype,
                                                int objectid);
extern wimp_menu *drw_wimp_createmessagemenuB(char *messagefilehandle,
                                              char *tag,
                                              char *title,
                                              int size,
                                              int usermenutype,
                                              int objectid);
extern wimp_menu *drw_wimp_recreatemessagemenuB(wimp_menu *menuptr,
                                                char *messagefilehandle,
                                                char *tag,
                                                char *title,
                                                int usermenutype,
                                                int objectid);
extern wimp_menu *drw_wimp_altermsgmenuitemsB(wimp_menu *menuptr,
                                              char *messagefilehandle,
                                              char *tag,
                                              int startfrom,
                                              int usermenutype,
                                              int objectid);
extern wimp_menu *drw_wimp_insertmsgmenuitemsB(wimp_menu *menuptr,
                                               int size,
                                               char *messagefilehandle,
                                               char *tag,
                                               int startfrom,
                                               int usermenutype,
                                               int objectid);
extern wimp_menu *drw_wimp_createmsgmenu(char *messagefilehandle,
                                         char *tag,
                                         char *title,
                                         int size,
                                         int usermenutype,
                                         int objectid);
extern wimp_menu *drw_wimp_recreatemsgmenu(wimp_menu *menuptr,
                                           char *messagefilehandle,
                                           char *tag,
                                           char *title,
                                           int usermenutype,
                                           int objectid);
extern wimp_menu *drw_wint_recreatemsgmenu(wimp_menu *menuptr,
                                           char *messagefilehandle,
                                           char *tag,
                                           char *title,
                                           int usermenutype,
                                           int objectid,
                                           int is_generated,
                                           int is_local);
extern void drw_reset_menu_smwd(void *userfndata, void *userval);
extern void drw_wint_reset_menu_smwd(drwGP menulinks,
                                     drwGP unusedmenulinks);
extern wimp_menu *drw_wint_int_menu(wimp_menu *menuptr,
                                    char *title,
                                    int usermenutype,
                                    int objectid,
                                    int is_generated,
                                    int is_local,
                                    drw_int_menu_fn fn,
                                    char *menudata);
extern wimp_menu *drw_wimp_altermsgmenuitems(wimp_menu *menuptr,
                                             char *messagefilehandle,
                                             char *tag,
                                             int startfrom,
                                             int usermenutype,
                                             int objectid);
extern wimp_menu *drw_wimp_insertmsgmenuitems(wimp_menu *menuptr,
                                              int size,
                                              char *messagefilehandle,
                                              char *tag,
                                              int startfrom,
                                              int usermenutype,
                                              int objectid);
extern wimp_menu *drw_wimp_createmenumemblk(char *dataptr,
                                            int size,
                                            int usermenutype,
                                            int objectid);
extern wimp_menu *drw_wimp_recreatemenumemblk(wimp_menu *menuptr,
                                              char *dataptr,
                                              int usermenutype,
                                              int objectid);
extern wimp_menu *drw_wimp_altermenuitemsmemblk(wimp_menu *menuptr,
                                                char *dataptr,
                                                int startfrom,
                                                int usermenutype,
                                                int objectid);
extern wimp_menu *drw_wimp_insertmenuitemsmemblk(wimp_menu *menuptr,
                                                 int size,
                                                 char *dataptr,
                                                 int startfrom,
                                                 int usermenutype,
                                                 int objectid);
extern int drw_wimp_menumaxsize(wimp_menu *menuptr);
extern wimp_menu *drw_wimp_resizemenu(wimp_menu *menuptr,
                                      int newsize,
                                      int extend);
extern int drw_wimp_litemno(wimp_menu *mptr);
extern void drw_init_menu_item(wimp_menu_entry *miptr,
                               int ztext,
                               int is_first_item);
extern void drw_copy_menu_item(wimp_menu_entry *tmiptr,
                               wimp_menu_entry *fmiptr,
                               int swapitem);
extern int drw_wimp_count_mem_str(char *dataptr, int delim);
extern int drw_get_wint_string(char *str, char *to, int maxsize, int delim);
extern int drw_wimp_getarraysize(char *arr[]);
extern wimp_menu *drw_wimp_cr_menu(char *title,
                                   int size,
                                   int objectid);
extern int drw_cmp_app_menu(void *listval, void *findval);
extern drw_menu_defn_data *drw_get_menu_by_name(drwGP menulist,
                                                char *appname,
                                                char *menuname);
extern drw_shortcut_key_data *drw_add_shortcut_link(char *appname,
                                                    char *scutname,
                                                    int mitemno);
extern wimp_menu *drw_wimp_menu_fn(char *menustr,
                                   int size,
                                   char *menulist[],
                                   char *messagefilehandle,
                                   char *mtag,
                                   char *mtitle,
                                   char *dataptr,
                                   wimp_menu *menuptr,
                                   drw_menu_cr_method mcrm,
                                   int startitem,
                                   int usermenutype,
                                   int objectid);
extern void drw_wint_check_for_ibar_menu(int generatedmenu,
                                         wimp_menu *svmenuin,
                                         char *mtag,
                                         wimp_menu *wmenu);
extern wimp_menu *drw_wimp_removemenuitems(wimp_menu *menuptr,
                                           int num,
                                           int startfrom);
extern void drw_wimp_removemenuitem(wimp_menu *menuptr, int itemno);
extern void drw_set_app_menu_ptr(void *userfndata, void *userval);
extern void drw_set_mdd_menu_unused(drw_ll_hdr *menulist,
                                    char *appname,
                                    char *menuname);
extern void drw_init_menu_defn_data(void *dataptr);
extern int drw_find_unused_mdd_menu(void *listval, void *findval);
extern drw_menu_defn_data *drw_save_menu_ptr(char *menuname,
                                             char *appname,
                                             wimp_menu **menuptr,
                                             drw_ll_hdr *menulist,
                                             drw_ll_hdr *unusedmenulist,
                                             int set_menu_ptr);
extern int drw_find_genmenustr(void *thisval, void *cmpwith);
extern void drw_init_gms_data(void *dataptr);
extern drw_gen_menu_str *drw_get_gen_menu_str(char *appname,
                                              drw_uw_data *uwd);
extern void drw_close_menu_msg_files(drw_gen_menu_str *gms);
extern void drw_establish_menu_links(char *menuname,
                                     drw_gen_menu_str *gms);
extern char *drw_find_menu_title(drwGP menulist,
                                 char *appname,
                                 char *menuname);
extern void drw_load_menu(char *menuname,
                          char *menutitlein,
                          int usermenutype,
                          drw_gen_menu_str *gms,
                          wimp_menu **menuptr);
extern void drw_load_int_menu(char *menuname,
                              char *menutitle,
                              int usermenutype,
                              drw_gen_menu_str *gms,
                              wimp_menu **menuptr,
                              drw_int_menu_fn fn,
                              void *menudata);
extern void drw_init_menu_handler_data(void *dataptr);
extern void drw_init_menuitem_handler_data(void *dataptr);
extern int drw_find_menu_item_hname(void *listval, void *findval);
extern void drw_wint_add_menuitem_hname(char *hname,
                                        int itemno);
extern void drw_menu_cr_init(void);
extern int drw_cmp_smenuwlink(void *listval, void *findval);
extern void drw_add_submenu_wlink(char *appname,
                                  char *tpltename,
                                  char *tname,
                                  char *menuname,
                                  wimp_menu *cwmenu,
                                  wimp_menu *wmenu,
                                  int itemno,
                                  drwGP mlhdr,
                                  drwGP umlhdr,
                                  drw_visible_window_posn *openat,
                                  drw_openat_flags oflags,
                                  drw_menu_pop_up_pos openatm);
extern int drw_cmp_app_menu_ptr(void *listval, void *findval);
extern void drw_do_smenu_link(void *userfndata, void *userval);
extern void drw_load_menu_handler_fns(drw_menu_defn_data *mdd);
extern void drw_load_mitem_handler_fn(void *userfndata, void *userval);
extern void drw_load_mitem_handler_fns(void *userfndata, void *userval);
extern void drw_wint_load_mitem_handlers(drwGP mlhdr);
extern void drw_wint_smenu_links(drw_gen_menu_str *gms);
extern void drw_load_ext_w_from_smwd(void *userfndata, void *userval);
extern void drw_wint_load_ext_windows(void);

#ifdef __cplusplus
}
#endif

