/* HEADER: CUG000.00; TITLE: Monitor include file; DATE: 09/07/88; VERSION: 1.0; FILENAME: MONITOR.H; SEE-ALSO: MONITOR.C; AUTHORS: Steve Roggenkamp */ /* monitor.h -- monitor include file Steve Roggenkamp 5394 Winetavern Lane Dublin, OH 43017 (614)792-8236 9 / 6 / 88 */ #ifndef MONITOR_H #define MONITOR_H #include "exec/types.h" #include "exec/nodes.h" #include "exec/lists.h" #include "exec/memory.h" #include "exec/interrupts.h" #include "exec/ports.h" #include "exec/libraries.h" #include "exec/tasks.h" #include "exec/io.h" #include "exec/devices.h" #include "devices/timer.h" #include "libraries/dos.h" #define MON_NAME(x) { (void (*)()) x, "x", 0L } #define STACKDIR 1 /* direction opposite to stack growth should be 1 if stack grows DOWNWARD should be -1 if stack grows UPWARD */ struct monitor_table { void (*func)(); /* pointer to a function */ char *name; /* function name */ long count; /* count of times function is found */ }; typedef struct monitor_table mon_table; extern struct MsgPort *CreatePort(); extern struct IORequest *CreateExtIO(); long mon_cmp_addr(); /* compare function addresses */ long mon_cmp_count(); /* compare function counts */ long mon_cmp_name(); /* compare function names */ struct timerequest *mon_create_timer(); /* create a timer */ void mon_delete_timer(); /* delete a timer */ mon_table *mon_get_func(); /* get a function using the pc */ long mon_init(); /* initialize the monitor */ void mon_print(); /* print the function table */ void mon_sample(); /* sample the monitored task */ void mon_sort_table(); /* sort the function table */ void mon_table_qsort(); /* quicksort the function table */ void mon_task(); /* monitor task entry function */ void mon_terminate(); /* terminate the monitor & print */ void mon_trace(); /* print trace back, not used */ #endif