home *** CD-ROM | disk | FTP | other *** search
/ PC Extra Super CD 1998 January / PCPLUS131.iso / DJGPP / V2 / DJLSR201.ZIP / src / libc / go32 / gormem.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-26  |  919 b   |  36 lines

  1. /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
  2. #include <dpmi.h>
  3.  
  4. int _go32_dpmi_allocate_dos_memory(_go32_dpmi_seginfo *info)
  5. {
  6.   int ret_sel;
  7.   int ret_seg;
  8.  
  9.   ret_seg = __dpmi_allocate_dos_memory(info->size, &ret_sel);
  10.   if(ret_seg == -1) {
  11.     info->size = ret_sel;    /* really max paragraphs */
  12.     info->pm_selector = 0;    /* Fault if they don't check */
  13.     return __dpmi_error;    /* Assume error was no memory */
  14.   }
  15.   info->rm_segment = ret_seg;
  16.   info->pm_selector = ret_sel;
  17.   return 0;
  18. }
  19.  
  20. int _go32_dpmi_free_dos_memory(_go32_dpmi_seginfo *info)
  21. {
  22.   if(__dpmi_free_dos_memory(info->pm_selector) == -1)
  23.     return __dpmi_error;
  24.   return 0;
  25. }
  26.  
  27. int _go32_dpmi_resize_dos_memory(_go32_dpmi_seginfo *info)
  28. {
  29.   int ret_max;
  30.   if(__dpmi_resize_dos_memory(info->pm_selector, info->size, &ret_max)) {
  31.     info->size = ret_max;
  32.     return __dpmi_error;
  33.   }
  34.   return 0;
  35. }
  36.