vm_user.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * Mach Operating System
  3. * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
  4. * All Rights Reserved.
  5. *
  6. * Permission to use, copy, modify and distribute this software and its
  7. * documentation is hereby granted, provided that both the copyright
  8. * notice and this permission notice appear in all copies of the
  9. * software, derivative works or modified versions, and any portions
  10. * thereof, and that both notices appear in supporting documentation.
  11. *
  12. * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  13. * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  14. * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  15. *
  16. * Carnegie Mellon requests users of this software to return to
  17. *
  18. * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
  19. * School of Computer Science
  20. * Carnegie Mellon University
  21. * Pittsburgh PA 15213-3890
  22. *
  23. * any improvements or extensions that they make and grant Carnegie Mellon
  24. * the rights to redistribute these changes.
  25. */
  26. /*
  27. * File: vm/vm_user.h
  28. * Author: Avadis Tevanian, Jr., Michael Wayne Young
  29. * Date: 1986
  30. *
  31. * Declarations of user-visible virtual address space
  32. * management functionality.
  33. */
  34. #ifndef _VM_VM_USER_H_
  35. #define _VM_VM_USER_H_
  36. #include <mach/kern_return.h>
  37. #include <mach/std_types.h>
  38. #include <mach/mach_types.h>
  39. extern kern_return_t vm_allocate(vm_map_t, vm_offset_t *, vm_size_t,
  40. boolean_t);
  41. extern kern_return_t vm_deallocate(vm_map_t, vm_offset_t, vm_size_t);
  42. extern kern_return_t vm_inherit(vm_map_t, vm_offset_t, vm_size_t,
  43. vm_inherit_t);
  44. extern kern_return_t vm_protect(vm_map_t, vm_offset_t, vm_size_t, boolean_t,
  45. vm_prot_t);
  46. extern kern_return_t vm_statistics(vm_map_t, vm_statistics_data_t *);
  47. extern kern_return_t vm_cache_statistics(vm_map_t, vm_cache_statistics_data_t *);
  48. extern kern_return_t vm_read(vm_map_t, vm_address_t, vm_size_t, pointer_t *,
  49. vm_size_t *);
  50. extern kern_return_t vm_write(vm_map_t, vm_address_t, pointer_t, vm_size_t);
  51. extern kern_return_t vm_copy(vm_map_t, vm_address_t, vm_size_t,
  52. vm_address_t);
  53. extern kern_return_t vm_map(vm_map_t, vm_offset_t *, vm_size_t, vm_offset_t,
  54. boolean_t, ipc_port_t, vm_offset_t, boolean_t,
  55. vm_prot_t, vm_prot_t, vm_inherit_t);
  56. #endif /* _VM_VM_USER_H_ */