Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  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 */
  49.