* sim/ucsim/*.*, sim/ucsim/configure, sim/ucsim/configure.in:
[fw/sdcc] / sim / ucsim / sim.src / itsrccl.h
index 2e96279d0295069485ddc6582cb14bc5cae146e9..673a96e86c6cae18a85f0863b2c542952e0c3232 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Simulator of microcontrollers (itsrccl.h)
+ * Simulator of microcontrollers (sim.src/itsrccl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
  * 
@@ -25,8 +25,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA. */
 /*@1@*/
 
-#ifndef ITSRCCL_HEADER
-#define ITSRCCL_HEADER
+#ifndef SIM_ITSRCCL_HEADER
+#define SIM_ITSRCCL_HEADER
 
 #include "pobjcl.h"
 #include "stypes.h"
@@ -39,12 +39,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 class cl_it_src: public cl_base
 {
 public:
+  int poll_priority;
   uchar ie_mask;  // Mask in IE register
   uchar src_reg;  // Register in SFR of source
   uchar src_mask; // Mask of source bit in src_reg
   uint  addr;     // Address of service routine
   bool  clr_bit;  // Request bit must be cleared when IT accepted
-  char  *name;   // For debug
+  //char  *name;         // For debug
   bool  active;   // Acceptance can be disabled
 
   cl_it_src(uchar Iie_mask,
@@ -52,8 +53,9 @@ public:
            uchar Isrc_mask,
            uint  Iaddr,
            bool  Iclr_bit,
-           char  *Iname);
-  ~cl_it_src(void);
+           const char  *Iname,
+           int   apoll_priority);
+  virtual ~cl_it_src(void);
 
           bool is_active(void);
   virtual void set_active_status(bool Aactive);
@@ -62,6 +64,15 @@ public:
 };
 
 
+class cl_irqs: public cl_sorted_list
+{
+public:
+  cl_irqs(t_index alimit, t_index adelta);
+  virtual const void *key_of(void *item); 
+  virtual int compare(const void *key1, const void *key2);
+};
+
+
 /*
  * This class is used to follow levels of accepted interrupts
  * It used on a stack of active interrupt services (it_levels of cl_uc)