/**
 * Scout - The Amiga System Monitor
 *
 *------------------------------------------------------------------
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 * You must not use this source code to gain profit of any kind!
 *
 *------------------------------------------------------------------
 *
 * @author Andreas Gelhausen
 * @author Richard Körber <rkoerber@gmx.de>
 */


/* Prototypes for functions defined in
objects/scout_interrupts.c
 */

struct InterruptEntry {
    struct MinNode ie_Node;
    struct Interrupt *ie_Addr;
    UBYTE ie_Address[ADDRESS_LENGTH];
    UBYTE ie_Name[NODENAME_LENGTH];
    UBYTE ie_Pri[NUMBER_LENGTH];
    UBYTE ie_Data[ADDRESS_LENGTH];
    UBYTE ie_Code[ADDRESS_LENGTH];
    UBYTE ie_Number[32];
    UBYTE ie_RealNumber[32];
    UBYTE ie_Kind[NUMBER_LENGTH];
    UBYTE ie_Type[NUMBER_LENGTH];
    ULONG ie_IntNumber;
};

void PrintInterrupts( char * );

void SendIntList( void );

struct Interrupt *FindInterrupt( UBYTE * );

struct Interrupt *RemoveInterrupt( UBYTE * );

#define InterruptsWindowObject               NewObject(InterruptsWinClass->mcc_Class, NULL

struct InterruptsWinData {
    UBYTE iwd_Title[WINDOW_TITLE_LENGTH];
    APTR iwd_InterruptTree;
    APTR iwd_InterruptText;
    APTR iwd_InterruptCount;
    APTR iwd_RemoveButton;
    APTR iwd_MoreButton;
};

ULONG __asm __saveds InterruptsWinDispatcher( register __a0 struct IClass *cl,
                                              register __a2 Object *obj,
                                              register __a1 Msg msg );

