home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / workbench / libs / icon / icon_intern.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-04  |  1.5 KB  |  68 lines

  1. #ifndef ICON_INTERN_H
  2. #define ICON_INTERN_H
  3.  
  4. /* Include files */
  5. #ifndef PROTO_EXEC_H
  6. #   include <proto/exec.h>
  7. #endif
  8. #ifndef CLIB_ALIB_PROTOS_H
  9. #   include <clib/alib_protos.h>
  10. #endif
  11. #ifndef DOS_DOS_H
  12. #   include <dos/dos.h>
  13. #endif
  14. #ifndef PROTO_ICON_H
  15. #   include <proto/icon.h>
  16. #endif
  17. #ifndef WORKBENCH_WORKBENCH_H
  18. #   include <workbench/workbench.h>
  19. #endif
  20. #ifndef EXEC_MEMORY_H
  21. #   include <exec/memory.h>
  22. #endif
  23. #ifndef EXEC_LIBRARIES_H
  24. #   include <exec/libraries.h>
  25. #endif
  26. #include <string.h>
  27.  
  28. /* Internal prototypes */
  29. VOID    GetDefIconName (LONG, UBYTE *);
  30. UBYTE * WriteValue     (LONG, UBYTE *);
  31.  
  32. /* Constants */
  33. #define MAX_DEFICON_FILEPATH    256
  34.  
  35. /* Number of entries in the mementrys in the freelists */
  36. #define FREELIST_MEMLISTENTRIES 10
  37.  
  38. /* To get right alignment we make our very own memlist structur
  39. Look at the original struct MemList in exec/memory.h to see why */
  40.  
  41. struct IconInternalMemList
  42. {
  43.     struct Node iiml_Node;
  44.     UWORD   iiml_NumEntries;
  45.     struct MemEntry iiml_ME[FREELIST_MEMLISTENTRIES];
  46. };
  47.  
  48. struct IconBase
  49. {
  50.     struct Library    library;
  51.     struct ExecBase * sysbase;
  52.     BPTR          seglist;
  53.     struct Library  * dosbase;
  54.     struct Library  * utilitybase;
  55. };
  56.  
  57. #undef SysBase
  58. #define SysBase     (((struct IconBase *)IconBase)->sysbase)
  59. #undef DOSBase
  60. #define DOSBase     (((struct IconBase *)IconBase)->dosbase)
  61. #undef UtilityBase
  62. #define UtilityBase    (((struct IconBase *)IconBase)->utilitybase)
  63.  
  64. #define expunge() \
  65. AROS_LC0(BPTR, expunge, struct IconBase *, IconBase, 3, Icon)
  66.  
  67. #endif /* ICON_INTERN_H */
  68.