home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / mac / 1000 / CCE_1044.ZIP / CCE_1044 / XUFSL105.LZH / xufsl.105 / cookie / cookie.h < prev    next >
Text File  |  1994-09-12  |  4KB  |  135 lines

  1. #if !defined( __COOKIE__ )
  2.  
  3. #define __COOKIE__
  4.  
  5. /*******************************************************************
  6. *   Module:     COOKIE.H, C-Binding for COOKIE.S
  7. *
  8. *   Abstract:   Everything you need for accessing the 
  9. *               cookie jar on Atari ST/TT computers.
  10. *
  11. *   Author:     Arnd Beissner, SciLab GmbH - Germany
  12. *               Parts of the code are derived from Atari's 
  13. *               TOS 1.06 Release Notes.
  14. *
  15. *   Compatibility:
  16. *               Any ST/TT-compatible machine, any TOS version.
  17. *
  18. *   Version:    1.00
  19. *
  20. *   Date:       03.12.1990
  21. *   
  22. *   History:    no history
  23. *
  24. ********************************************************************
  25. *   Comments:
  26. *
  27. *   Most functions in this module must be called in supervisor mode.
  28. *******************************************************************/
  29.  
  30. /*******************************************************************
  31. * CK_JarInstalled
  32. *
  33. * See if the cookie jar is installed.
  34. *
  35. * Return value:
  36. *   = pointer to the cookie jar (0 = not installed)
  37. *******************************************************************/
  38.  
  39. long *CK_JarInstalled(void);
  40.  
  41. /*******************************************************************
  42. * CK_UsedEntries
  43. *
  44. * Inquire the number of used cookie jar entries. The number includes
  45. * the null cookie, so a return value of 0 means that there is no
  46. * cookie jar at all.
  47. *
  48. * Return value:
  49. *   = number of used cookie jar entries
  50. *******************************************************************/
  51.  
  52. int CK_UsedEntries(void);
  53.         
  54. /*******************************************************************
  55. * CK_JarSize
  56. *
  57. * Inquire the total number of cookie jar entries.
  58. *
  59. * Return value:
  60. *   = total number of cookie jar entries
  61. *******************************************************************/
  62.  
  63. int CK_JarSize(void);
  64.  
  65. /*******************************************************************
  66. * CK_ResizeJar
  67. *
  68. * Resize the cookie jar to the desired size.
  69. *
  70. * Input arguments:
  71. *   size = desired cookie jar size, number of entries
  72. *
  73. * Return value:
  74. *   = state (0=FALSE, 1=TRUE)
  75. *******************************************************************/
  76.  
  77. int CK_ResizeJar(int size);
  78.  
  79. /*******************************************************************
  80. * CK_ReadJar
  81. *
  82. * Read the value of the specified cookie.
  83. *
  84. * Input arguments:
  85. *   cookie = cookie name
  86. *   value  = pointer to cookie value
  87. *
  88. * Return value:
  89. *   = state (0=FALSE, 1=TRUE)
  90. *******************************************************************/
  91.  
  92. int CK_ReadJar(long cookie, long *value);
  93.  
  94. /*******************************************************************
  95. * CK_WriteJar
  96. *
  97. * Insert a new entry into the cookie jar. If no cookie jar exists
  98. * or the current cookie jar is full, a new, bigger cookie jar is
  99. * installed. The increment in size can be set using CK_SetOptions.
  100. *
  101. * Input arguments:
  102. *   cookie = cookie name
  103. *   value  = cookie value
  104. *
  105. * Return value:
  106. *   = state (0=FALSE, 1=TRUE)
  107. *******************************************************************/
  108.  
  109. int CK_WriteJar(long cookie, long value);
  110.  
  111. /*******************************************************************
  112. * CK_SetOptions
  113. *
  114. * Set cookie jar options.
  115. *
  116. * Input arguments:
  117. *   increment = cookie jar increment when allocating a new buffer
  118. *   xbraID    = xbra id for reset handler
  119. *******************************************************************/
  120.  
  121. void CK_SetOptions(int increment, long xbraID);
  122.  
  123. #define COOKIE_PTR  0x5A0L
  124.  
  125. typedef struct {
  126.     long    magic;
  127.     long    value;
  128. } COOKIE_ENTRY;
  129.  
  130. void create_cookie(COOKIE_ENTRY *cookie,long magic,long value);
  131. long get_cookie(long magic);
  132. boolean new_cookie(COOKIE_ENTRY *cookie);
  133.  
  134. #endif
  135.