home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / doc / ems / disk1 / memlib.h < prev   
Text File  |  1989-11-28  |  5KB  |  100 lines

  1. /**********************************************************************/
  2. /*                                                                    */
  3. /*     This include file contains the function prototypes for the     */
  4. /*     C Memory Manager:                                              */
  5. /*          ememavl                                                   */
  6. /*          ememmax                                                   */
  7. /*          emsize                                                    */
  8. /*          efmalloc                                                  */
  9. /*          seteptrs                                                  */
  10. /*          set1eptr                                                  */
  11. /*          set2eptrs                                                 */
  12. /*          set3eptrs                                                 */
  13. /*          effree                                                    */
  14. /*          push_context                                              */
  15. /*          pop_context                                               */
  16. /*          effreeall                                                 */
  17. /*                                                                    */
  18. /**********************************************************************/
  19.  
  20. /**********************************************************************/
  21. /* ememavl will return the total free expanaded memory (in bytes).    */
  22. /**********************************************************************/
  23.  
  24. unsigned int ememavl (unsigned long *);
  25.  
  26. /**********************************************************************/
  27. /* ememmax will return the largest allocateable block of free space.  */
  28. /**********************************************************************/
  29.  
  30. unsigned int ememmax (unsigned int *);
  31.  
  32. /**********************************************************************/
  33. /* emsize will return the size of the block identified by the token   */
  34. /* passed in                                                          */
  35. /**********************************************************************/
  36.  
  37. unsigned int emsize (unsigned int, unsigned int *);
  38.  
  39. /**********************************************************************/
  40. /* efmalloc allocates a block of expanded memory.                     */
  41. /**********************************************************************/
  42.  
  43. unsigned int efmalloc (unsigned int, unsigned int *);
  44.  
  45. /**********************************************************************/
  46. /* seteptrs will attempt to provide access to the requested block(s). */
  47. /**********************************************************************/
  48.  
  49. unsigned int seteptrs (unsigned int, unsigned int *, void far**);
  50.  
  51. /**********************************************************************/
  52. /* set1eptr, set2eptrs, and set3eptrs are conveinence routines to call*/
  53. /* seteptrs with 1, 2, and 3 blocks respectively.                     */
  54. /**********************************************************************/
  55.  
  56. unsigned int set1eptr (unsigned int, void far**);
  57.  
  58. unsigned int set2eptrs (unsigned int, unsigned int, void far**, void far**);
  59.  
  60. unsigned int set3eptrs (unsigned int, unsigned int, unsigned int, 
  61.                          void far**, void far**, void far**);
  62.  
  63. /**********************************************************************/
  64. /* effree will free a previously allocated block of memory.           */
  65. /**********************************************************************/
  66.  
  67. unsigned int effree (unsigned int);
  68.  
  69. /**********************************************************************/
  70. /* effreeall will free everything                                     */
  71. /**********************************************************************/
  72.  
  73. unsigned int effreeall (void);
  74.  
  75. /**********************************************************************/
  76. /* push the current context onto a stack                              */
  77. /**********************************************************************/
  78.  
  79. unsigned int push_context (void);
  80.  
  81. /**********************************************************************/
  82. /* pop the current context from a stack                               */
  83. /**********************************************************************/
  84.  
  85. unsigned int pop_context (void);
  86.  
  87. /**********************************************************************/
  88. /* map and jump to expanded memory                                    */
  89. /**********************************************************************/
  90.  
  91. unsigned int map_and_jump (unsigned int, unsigned int);
  92.  
  93. /**********************************************************************/
  94. /* map and call to expanded memory                                    */
  95. /**********************************************************************/
  96.  
  97. unsigned int map_and_call (unsigned int, unsigned int);
  98.  
  99. /*====================================================================*/
  100.