1 /* structures and functions necessary to access amiga ROM services */
7 #define ALIB_MEMF_ANY 0L
8 #define ALIB_MEMF_PUBLIC 0x0001L
9 #define ALIB_MEMF_CHIP 0x0002L
10 #define ALIB_MEMF_FAST 0x0004L
11 #define ALIB_MEMF_CLEAR 0x0100L
12 #define ALIB_MEMF_LARGEST 0x0200L
13 #define ALIB_MEMF_REVERSE 0x0400L
14 #define ALIB_MEMF_TOTAL 0x0800L
16 #define ALIB_NODE_COMMON(NODE_TYPE) \
23 struct alib_memchunk {
24 struct alib_memchunk *next;
29 ALIB_NODE_COMMON(struct alib_memnode);
31 struct alib_memchunk *freelist;
37 struct alib_memnode *head, *tail, *tailpred;
43 ALIB_NODE_COMMON(struct alib_library);
46 uint16_t negsz, possz;
47 uint16_t ver_major, ver_minor;
56 ALIB_NODE_COMMON(struct alib_intvec);
59 struct alib_execbase {
60 struct alib_library lib;
64 void *coldcap_vect, *coolcap_vect, *warmcap_vect;
65 void *sysstack_upper, *sysstack_lower;
67 void *dbg_entry, *dbg_data, *alert_data;
71 struct alib_intvec intvec[16];
74 uint32_t idle_count, disp_count;
75 uint16_t tmslice, nticks;
77 int8_t intr_dis_nest, task_dis_nest;
78 uint16_t attn_flags, attn_resched;
80 void *tasktrap, *taskexcept, *taks_exit;
81 uint32_t task_sig_alloc;
82 uint16_t task_trap_alloc;
84 struct alib_memlist memlist;
88 struct alib_execbase *execbase;
92 #endif /* AMIGALIB_H_ */