/* Declare User Action Function Prototypes. */

#ifndef drwuptacn_H
 #define drwuptacn_H

#ifndef drwacnh_H
 #include "DRW/drwacnh.h"
#endif

#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif


#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif

extern int drw_user_action_close_window(wimp_w whan,
                                        wimp_i icon,
                                        char *iconname,
                                        int objectid,
                                        int occno,
                                        drw_user_action_fn userfn,
                                        void *actiondata);

extern int drw_user_action_gain_caret(wimp_w whan,
                                      wimp_i icon,
                                      char *iconname,
                                      int objectid,
                                      int occno,
                                      drw_user_action_fn userfn,
                                      void *actiondata);

extern int drw_user_action_lose_caret(wimp_w whan,
                                      wimp_i icon,
                                      char *iconname,
                                      int objectid,
                                      int occno,
                                      drw_user_action_fn userfn,
                                      void *actiondata);

extern int drw_user_action_keypress(wimp_w whan,
                                    wimp_i icon,
                                    char *iconname,
                                    int objectid,
                                    int occno,
                                    drw_user_action_fn userfn,
                                    void *actiondata);

extern int drw_user_action_msl(wimp_w whan,
                               wimp_i icon,
                               char *iconname,
                               int objectid,
                               int occno,
                               drw_user_action_fn userfn,
                               void *actiondata);

extern int drw_user_action_null(wimp_w whan,
                                wimp_i icon,
                                char *iconname,
                                int objectid,
                                int occno,
                                drw_user_action_fn userfn,
                                void *actiondata);

extern int drw_user_action_open_window(wimp_w whan,
                                       wimp_i icon,
                                       char *iconname,
                                       int objectid,
                                       int occno,
                                       drw_user_action_fn userfn,
                                       void *actiondata);

extern int drw_user_action_ptr_entering(wimp_w whan,
                                        wimp_i icon,
                                        char *iconname,
                                        int objectid,
                                        int occno,
                                        drw_user_action_fn userfn,
                                        void *actiondata);

extern int drw_user_action_ptr_leaving(wimp_w whan,
                                       wimp_i icon,
                                       char *iconname,
                                       int objectid,
                                       int occno,
                                       drw_user_action_fn userfn,
                                       void *actiondata);

extern int drw_user_action_pwnz(wimp_w whan,
                                wimp_i icon,
                                char *iconname,
                                int objectid,
                                int occno,
                                drw_user_action_fn userfn,
                                void *actiondata);

extern int drw_user_action_redraw(wimp_w whan,
                                  wimp_i icon,
                                  char *iconname,
                                  int objectid,
                                  int occno,
                                  drw_user_action_fn userfn,
                                  void *actiondata);

extern int drw_user_action_user_drag(wimp_w whan,
                                     wimp_i icon,
                                     char *iconname,
                                     int objectid,
                                     int occno,
                                     drw_user_action_fn userfn,
                                     void *actiondata);

extern int drw_user_action_user_message(wimp_w whan,
                                        wimp_i icon,
                                        char *iconname,
                                        int objectid,
                                        int occno,
                                        drw_user_action_fn userfn,
                                        void *actiondata);

extern int drw_user_action_user_message_recd(wimp_w whan,
                                             wimp_i icon,
                                             char *iconname,
                                             int objectid,
                                             int occno,
                                             drw_user_action_fn userfn,
                                             void *actiondata);

extern int drw_user_action_user_message_ack(wimp_w whan,
                                            wimp_i icon,
                                            char *iconname,
                                            int objectid,
                                            int occno,
                                            drw_user_action_fn userfn,
                                            void *actiondata);

extern int drw_set_user_action(wimp_event_no actioncode,
                               wimp_w whan,
                               wimp_i icon,
                               char *iconname,
                               int objectid,
                               int occno,
                               drw_user_action_fn actionfn,
                               void *actiondata);

extern void drw_release_user_action(wimp_event_no actioncode,
                                    wimp_w whan,
                                    wimp_i icon,
                                    char *iconname,
                                    int objectid,
                                    int occno,
                                    drw_user_action_fn actionfn,
                                    void *actiondata);

extern int drw_assign_user_msg_action(bits msgactioncode,
                                      drw_user_msg_action_fn msgactionfn,
                                      void *actiondata);

extern int drw_assign_user_msgack(bits msgactioncode,
                                  drw_user_msg_action_fn msgactionfn,
                                  void *actiondata);

extern void drw_release_user_msg_action(bits msgactioncode,
                                        drw_user_msg_action_fn actionfn,
                                        void *actiondata);

extern void drw_release_user_msg_ack(bits msgactioncode,
                                     drw_user_msg_action_fn msgactionfn,
                                     void *actiondata);

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif

#if defined NAMESPACE_DRWIMPC
  }

#endif

#endif

/* End of Declare User Action Function Prototypes. */
