gsync.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* Copyright (C) 2016 Free Software Foundation, Inc.
  2. Contributed by Agustina Arzille <avarzille@riseup.net>, 2016.
  3. This program is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU General Public License
  5. as published by the Free Software Foundation; either
  6. version 2 of the license, or (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public
  12. License along with this program; if not, see
  13. <http://www.gnu.org/licenses/>.
  14. */
  15. #ifndef _KERN_GSYNC_H_
  16. #define _KERN_GSYNC_H_ 1
  17. #define GSYNC_SHARED 0x01
  18. #define GSYNC_QUAD 0x02
  19. #define GSYNC_TIMED 0x04
  20. #define GSYNC_BROADCAST 0x08
  21. #define GSYNC_MUTATE 0x10
  22. #include <mach/mach_types.h>
  23. void gsync_setup (void);
  24. kern_return_t gsync_wait (task_t task, vm_offset_t addr,
  25. unsigned int lo, unsigned int hi, natural_t msec, int flags);
  26. kern_return_t gsync_wake (task_t task,
  27. vm_offset_t addr, unsigned int val, int flags);
  28. kern_return_t gsync_requeue (task_t task, vm_offset_t src_addr,
  29. vm_offset_t dst_addr, boolean_t wake_one, int flags);
  30. #endif