home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / mach / mach_interface.h < prev    next >
C/C++ Source or Header  |  1993-09-01  |  8KB  |  366 lines

  1. #ifndef    _mach
  2. #define    _mach
  3.  
  4. /* Module mach */
  5.  
  6. #include <mach/kern_return.h>
  7. #include <mach/port.h>
  8. #include <mach/message.h>
  9.  
  10. #ifndef    mig_external
  11. #define mig_external extern
  12. #endif
  13.  
  14. #include <mach/std_types.h>
  15. #include <mach/mach_types.h>
  16.  
  17. /* Routine task_create */
  18. mig_external kern_return_t task_create (
  19.     task_t target_task,
  20.     boolean_t inherit_memory,
  21.     task_t *child_task);
  22.  
  23. /* Routine task_terminate */
  24. mig_external kern_return_t task_terminate (
  25.     task_t target_task);
  26.  
  27. /* Routine task_threads */
  28. mig_external kern_return_t task_threads (
  29.     task_t target_task,
  30.     thread_array_t *thread_list,
  31.     unsigned int *thread_listCnt);
  32.  
  33. /* Routine thread_terminate */
  34. mig_external kern_return_t thread_terminate (
  35.     thread_t target_thread);
  36.  
  37. /* Routine vm_allocate */
  38. mig_external kern_return_t vm_allocate (
  39.     vm_task_t target_task,
  40.     vm_address_t *address,
  41.     vm_size_t size,
  42.     boolean_t anywhere);
  43.  
  44. /* Routine vm_deallocate */
  45. mig_external kern_return_t vm_deallocate (
  46.     vm_task_t target_task,
  47.     vm_address_t address,
  48.     vm_size_t size);
  49.  
  50. /* Routine vm_protect */
  51. mig_external kern_return_t vm_protect (
  52.     vm_task_t target_task,
  53.     vm_address_t address,
  54.     vm_size_t size,
  55.     boolean_t set_maximum,
  56.     vm_prot_t new_protection);
  57.  
  58. /* Routine vm_inherit */
  59. mig_external kern_return_t vm_inherit (
  60.     vm_task_t target_task,
  61.     vm_address_t address,
  62.     vm_size_t size,
  63.     vm_inherit_t new_inheritance);
  64.  
  65. /* Routine vm_read */
  66. mig_external kern_return_t vm_read (
  67.     vm_task_t target_task,
  68.     vm_address_t address,
  69.     vm_size_t size,
  70.     pointer_t *data,
  71.     unsigned int *dataCnt);
  72.  
  73. /* Routine vm_write */
  74. mig_external kern_return_t vm_write (
  75.     vm_task_t target_task,
  76.     vm_address_t address,
  77.     pointer_t data,
  78.     unsigned int dataCnt);
  79.  
  80. /* Routine vm_copy */
  81. mig_external kern_return_t vm_copy (
  82.     vm_task_t target_task,
  83.     vm_address_t source_address,
  84.     vm_size_t size,
  85.     vm_address_t dest_address);
  86.  
  87. /* Routine vm_region */
  88. mig_external kern_return_t vm_region (
  89.     vm_task_t target_task,
  90.     vm_address_t *address,
  91.     vm_size_t *size,
  92.     vm_prot_t *protection,
  93.     vm_prot_t *max_protection,
  94.     vm_inherit_t *inheritance,
  95.     boolean_t *is_shared,
  96.     memory_object_name_t *object_name,
  97.     vm_offset_t *offset);
  98.  
  99. /* Routine vm_statistics */
  100. mig_external kern_return_t vm_statistics (
  101.     vm_task_t target_task,
  102.     vm_statistics_data_t *vm_stats);
  103.  
  104. /* Routine task_by_unix_pid */
  105. mig_external kern_return_t task_by_unix_pid (
  106.     task_t target_task,
  107.     int process_id,
  108.     task_t *result_task);
  109.  
  110. /* Routine unix_pid */
  111. mig_external kern_return_t unix_pid (
  112.     task_t target_task,
  113.     int *process_id);
  114.  
  115. /* Routine netipc_listen */
  116. mig_external kern_return_t netipc_listen (
  117.     port_t request_port,
  118.     int src_addr,
  119.     int dst_addr,
  120.     int src_port,
  121.     int dst_port,
  122.     int protocol,
  123.     port_t ipc_port);
  124.  
  125. /* Routine netipc_ignore */
  126. mig_external kern_return_t netipc_ignore (
  127.     port_t request_port,
  128.     port_t ipc_port);
  129.  
  130. /* Routine xxx_host_info */
  131. mig_external kern_return_t xxx_host_info (
  132.     port_t target_task,
  133.     machine_info_data_t *info);
  134.  
  135. /* Routine xxx_slot_info */
  136. mig_external kern_return_t xxx_slot_info (
  137.     task_t target_task,
  138.     int slot,
  139.     machine_slot_data_t *info);
  140.  
  141. /* Routine xxx_cpu_control */
  142. mig_external kern_return_t xxx_cpu_control (
  143.     task_t target_task,
  144.     int cpu,
  145.     boolean_t running);
  146.  
  147. /* Routine netport_init */
  148. mig_external kern_return_t netport_init (
  149.     port_t request_port);
  150.  
  151. /* Routine netport_enter */
  152. mig_external kern_return_t netport_enter (
  153.     port_t request_port,
  154.     network_port_t netport,
  155.     port_t port,
  156.     boolean_t local);
  157.  
  158. /* Routine netport_remove */
  159. mig_external kern_return_t netport_remove (
  160.     port_t request_port,
  161.     network_port_t netport);
  162.  
  163. /* Routine task_suspend */
  164. mig_external kern_return_t task_suspend (
  165.     task_t target_task);
  166.  
  167. /* Routine task_resume */
  168. mig_external kern_return_t task_resume (
  169.     task_t target_task);
  170.  
  171. /* Routine task_get_special_port */
  172. mig_external kern_return_t task_get_special_port (
  173.     task_t task,
  174.     int which_port,
  175.     port_t *special_port);
  176.  
  177. /* Routine task_set_special_port */
  178. mig_external kern_return_t task_set_special_port (
  179.     task_t task,
  180.     int which_port,
  181.     port_t special_port);
  182.  
  183. /* Routine task_info */
  184. mig_external kern_return_t task_info (
  185.     task_t target_task,
  186.     int flavor,
  187.     task_info_t task_info_out,
  188.     unsigned int *task_info_outCnt);
  189.  
  190. /* Routine thread_create */
  191. mig_external kern_return_t thread_create (
  192.     task_t parent_task,
  193.     thread_t *child_thread);
  194.  
  195. /* Routine thread_suspend */
  196. mig_external kern_return_t thread_suspend (
  197.     thread_t target_thread);
  198.  
  199. /* Routine thread_resume */
  200. mig_external kern_return_t thread_resume (
  201.     thread_t target_thread);
  202.  
  203. /* Routine thread_abort */
  204. mig_external kern_return_t thread_abort (
  205.     thread_t target_thread);
  206.  
  207. /* Routine thread_get_state */
  208. mig_external kern_return_t thread_get_state (
  209.     thread_t target_thread,
  210.     int flavor,
  211.     thread_state_t old_state,
  212.     unsigned int *old_stateCnt);
  213.  
  214. /* Routine thread_set_state */
  215. mig_external kern_return_t thread_set_state (
  216.     thread_t target_thread,
  217.     int flavor,
  218.     thread_state_t new_state,
  219.     unsigned int new_stateCnt);
  220.  
  221. /* Routine thread_get_special_port */
  222. mig_external kern_return_t thread_get_special_port (
  223.     thread_t thread,
  224.     int which_port,
  225.     port_t *special_port);
  226.  
  227. /* Routine thread_set_special_port */
  228. mig_external kern_return_t thread_set_special_port (
  229.     thread_t thread,
  230.     int which_port,
  231.     port_t special_port);
  232.  
  233. /* Routine thread_info */
  234. mig_external kern_return_t thread_info (
  235.     thread_t target_thread,
  236.     int flavor,
  237.     thread_info_t thread_info_out,
  238.     unsigned int *thread_info_outCnt);
  239.  
  240. /* Routine port_names */
  241. mig_external kern_return_t port_names (
  242.     task_t task,
  243.     port_name_array_t *port_names_p,
  244.     unsigned int *port_names_pCnt,
  245.     port_type_array_t *port_types,
  246.     unsigned int *port_typesCnt);
  247.  
  248. /* Routine port_type */
  249. mig_external kern_return_t port_type (
  250.     task_t task,
  251.     port_name_t port_name,
  252.     port_type_t *port_type_p);
  253.  
  254. /* Routine port_rename */
  255. mig_external kern_return_t port_rename (
  256.     task_t task,
  257.     port_name_t old_name,
  258.     port_name_t new_name);
  259.  
  260. /* Routine port_allocate */
  261. mig_external kern_return_t port_allocate (
  262.     task_t task,
  263.     port_name_t *port_name);
  264.  
  265. /* Routine port_deallocate */
  266. mig_external kern_return_t port_deallocate (
  267.     task_t task,
  268.     port_name_t port_name);
  269.  
  270. /* Routine port_set_backlog */
  271. mig_external kern_return_t port_set_backlog (
  272.     task_t task,
  273.     port_name_t port_name,
  274.     int backlog);
  275.  
  276. /* Routine port_status */
  277. mig_external kern_return_t port_status (
  278.     task_t task,
  279.     port_name_t port_name,
  280.     port_set_name_t *enabled,
  281.     int *num_msgs,
  282.     int *backlog,
  283.     boolean_t *ownership,
  284.     boolean_t *receive_rights);
  285.  
  286. /* Routine port_set_allocate */
  287. mig_external kern_return_t port_set_allocate (
  288.     task_t task,
  289.     port_set_name_t *set_name);
  290.  
  291. /* Routine port_set_deallocate */
  292. mig_external kern_return_t port_set_deallocate (
  293.     task_t task,
  294.     port_set_name_t set_name);
  295.  
  296. /* Routine port_set_add */
  297. mig_external kern_return_t port_set_add (
  298.     task_t task,
  299.     port_set_name_t set_name,
  300.     port_name_t port_name);
  301.  
  302. /* Routine port_set_remove */
  303. mig_external kern_return_t port_set_remove (
  304.     task_t task,
  305.     port_name_t port_name);
  306.  
  307. /* Routine port_set_status */
  308. mig_external kern_return_t port_set_status (
  309.     task_t task,
  310.     port_set_name_t set_name,
  311.     port_name_array_t *members,
  312.     unsigned int *membersCnt);
  313.  
  314. /* Routine port_insert_send */
  315. mig_external kern_return_t port_insert_send (
  316.     task_t task,
  317.     port_t my_port,
  318.     port_name_t its_name);
  319.  
  320. /* Routine port_extract_send */
  321. mig_external kern_return_t port_extract_send (
  322.     task_t task,
  323.     port_name_t its_name,
  324.     port_t *its_port);
  325.  
  326. /* Routine port_insert_receive */
  327. mig_external kern_return_t port_insert_receive (
  328.     task_t task,
  329.     port_t my_port,
  330.     port_name_t its_name);
  331.  
  332. /* Routine port_extract_receive */
  333. mig_external kern_return_t port_extract_receive (
  334.     task_t task,
  335.     port_name_t its_name,
  336.     port_t *its_port);
  337.  
  338. /* Routine port_set_backup */
  339. mig_external kern_return_t port_set_backup (
  340.     task_t task,
  341.     port_name_t port_name,
  342.     port_t backup,
  343.     port_t *previous);
  344.  
  345. /* Routine vm_synchronize */
  346. mig_external kern_return_t vm_synchronize (
  347.     vm_task_t target_task,
  348.     vm_address_t address,
  349.     vm_size_t size);
  350.  
  351. /* Routine vm_set_policy */
  352. mig_external kern_return_t vm_set_policy (
  353.     vm_task_t target_task,
  354.     vm_address_t address,
  355.     vm_size_t size,
  356.     int policy);
  357.  
  358. /* Routine vm_deactivate */
  359. mig_external kern_return_t vm_deactivate (
  360.     vm_task_t target_task,
  361.     vm_address_t address,
  362.     vm_size_t size,
  363.     int when);
  364.  
  365. #endif    _mach
  366.