Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | #ifndef _CHUNKS_H |
2 | #define _CHUNKS_H |
||
3 | /* chunks.h */ |
||
4 | /*****************************************************************************/ |
||
5 | /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only */ |
||
6 | /* */ |
||
7 | /* AS-Portierung */ |
||
8 | /* */ |
||
9 | /* Verwaltung von Adressbereichslisten */ |
||
10 | /* */ |
||
11 | /* Historie: 16. 5.1996 Grundsteinlegung */ |
||
12 | /* 16. 8.1998 Min/Max-Ausgabe */ |
||
13 | /* */ |
||
14 | /*****************************************************************************/ |
||
15 | |||
16 | typedef struct |
||
17 | { |
||
18 | LargeWord Start, Length; |
||
19 | } OneChunk; |
||
20 | |||
21 | typedef struct |
||
22 | { |
||
23 | Word RealLen,AllocLen; |
||
24 | OneChunk *Chunks; |
||
25 | } ChunkList; |
||
26 | |||
27 | |||
28 | extern Boolean AddChunk(ChunkList *NChunk, LargeWord NewStart, LargeWord NewLen, Boolean Warn); |
||
29 | |||
30 | extern void DeleteChunk(ChunkList *NChunk, LargeWord DelStart, LargeWord DelLen); |
||
31 | |||
32 | extern Boolean AddressInChunk(ChunkList *NChunk, LargeWord Address); |
||
33 | |||
34 | extern void SortChunks(ChunkList *NChunk); |
||
35 | |||
36 | extern void InitChunk(ChunkList *NChunk); |
||
37 | |||
38 | extern void ClearChunk(ChunkList *NChunk); |
||
39 | |||
40 | extern LargeWord ChunkMin(ChunkList *NChunk); |
||
41 | |||
42 | extern LargeWord ChunkMax(ChunkList *NChunk); |
||
43 | |||
44 | extern LargeWord ChunkSum(ChunkList *NChunk); |
||
45 | |||
46 | |||
47 | extern void chunks_init(void); |
||
48 | #endif /* _CHUNKS_H */ |