home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / mach / mach_interface.h < prev    next >
Text File  |  1992-07-21  |  8KB  |  351 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_deall!1ie */
  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!1pport_t request_port);
  149.  
  150. /* Routine netport_enter */
  151. mig_external kern_return_t netport_enter (
  152.     port_t request_port,
  153.     network_port_t netport,
  154.     port_t port,
  155.     boolean_t local);
  156.  
  157. /* Routine netport_remove */
  158. mig_external kern_return_t netport_remove (
  159.     port_t request_port,
  160.     network_port_t netport);
  161.  
  162. /* Routine task_suspend */
  163. mig_external kern_return_t task_suspend (
  164.     task_t target_task);
  165.  
  166. /* Routine task_resume */
  167. mig_external kern_return_t task_resume (
  168.     task_t target_task);
  169.  
  170. /* Routine task_get_special_port */
  171. mig_external kern_return_t task_get_special_port (
  172.     task_t task,
  173.     int which_port,
  174.     port_t *special_port);
  175.  
  176. /* Routine task_set_special_port */
  177. mig_external kern_return_t task_set_special_port (
  178.     task_t task,
  179.     int which_port,
  180.     port_t special_port);
  181.  
  182. /* Routine task_info */
  183. mig_external kern_return_t task_info (
  184.     task_t target_task,
  185.     int flavor,
  186.     task_info_t task_info_out,
  187.     unsigned int *task_info_outCnt);
  188.  
  189. /* Routine thread_create */
  190. mig_external kern_return_t thread_create (
  191.     task_t parent_task,
  192.     thread_t *child_thread);
  193.  
  194. /* Routine thread_suspend */
  195. mig_external kern_return_t thread_suspend (
  196.     thread_t target_thread);
  197.  
  198. /* Routine thread_resume */
  199. mig_external kern_return_t thread_resume (
  200.     thread_t target_thread);
  201.  
  202. /* Routine thread_abort */
  203. mig_external kern_return_t thread_abort (
  204.     thread_t target_thread);
  205.  
  206. /* Routine thread_get_state */
  207. mig_external kern_return_t thread_get_state (
  208.     thread_t target_thread,
  209.     int flavor,
  210.     thread_state_t old_state,
  211.     unsigned int *old_stateCnt);
  212.  
  213. /* Routine thread_set_state */
  214. mig_external kern_return_t thread_set_state (
  215.     thread_t target_thread,
  216.     int flavor,
  217.     thread_state_t new_state,
  218.     unsigned int new_stateCnt);
  219.  
  220. /* Routine thread_get_special_port */
  221. mig_external kern_return_t thread_get_special_port (
  222.     thread_t thread,
  223.     int which_port,
  224.     port_t *special_port);
  225.  
  226. /* Routine thread_set_special_port */
  227. mig_external kern_return_t thread_set_special_port (
  228.     thread_t thread,
  229.     int which_port,
  230.     port_t special_port);
  231.  
  232. /* Routine thread_info */
  233. mig_external kern_return_t thread_info (
  234.     thread_t target_thread,
  235.     int flavor,
  236.     thread_info_t thread_info_out,
  237.     unsigned int *thread_info_outCnt);
  238.  
  239. /* Routine port_names */
  240. mig_external kern_return_t port_names (
  241.     task_t task,
  242.     port_name_array_t *port_names_p,
  243.     unsigned int *port_names_pCnt,
  244.     port_type_array_t *port_types,
  245.     unsigned int !1qt_typesCnt);
  246.  
  247. /* Routine port_type */
  248. mig_external kern_return_t port_type (
  249.     task_t task,
  250.     port_name_t port_name,
  251.     port_type_t *port_type_p);
  252.  
  253. /* Routine port_rename */
  254. mig_external kern_return_t port_rename (
  255.     task_t task,
  256.     port_name_t old_name,
  257.     port_name_t new_name);
  258.  
  259. /* Routine port_allocate */
  260. mig_external kern_return_t port_allocate (
  261.     task_t task,
  262.     port_name_t *port_name);
  263.  
  264. /* Routine port_deallocate */
  265. mig_external kern_return_t port_deallocate (
  266.     task_t task,
  267.     port_name_t port_name);
  268.  
  269. /* Routine port_set_backlog */
  270. mig_external kern_return_t port_set_backlog (
  271.     task_t task,
  272.     port_name_t port_name,
  273.     int backlog);
  274.  
  275. /* Routine port_status */
  276. mig_external kern_return_t port_status (
  277.     task_t task,
  278.     port_name_t port_name,
  279.     port_set_name_t *enabled,
  280.     int *num_msgs,
  281.     int *backlog,
  282.     boolean_t *ownership,
  283.     boolean_t *receive_rights);
  284.  
  285. /* Routine port_set_allocate */
  286. mig_external kern_return_t port_set_allocate (
  287.     task_t task,
  288.     port_set_name_t *set_name);
  289.  
  290. /* Routine port_set_deallocate */
  291. mig_external kern_return_t port_set_deallocate (
  292.     task_t task,
  293.     port_set_name_t set_name);
  294.  
  295. /* Routine port_set_add */
  296. mig_external kern_return_t port_set_add (
  297.     task_t task,
  298.     port_set_name_t set_name,
  299.     port_name_t port_name);
  300.  
  301. /* Routine port_set_remove */
  302. mig_external kern_return_t port_set_remove (
  303.     task_t task,
  304.     port_name_t port_name);
  305.  
  306. /* Routine port_set_status */
  307. mig_external kern_return_t port_set_status (
  308.     task_t task,
  309.     port_set_name_t set_name,
  310.     port_name_array_t *members,
  311.     unsigned int *membersCnt);
  312.  
  313. /* Routine port_insert_send */
  314. mig_external kern_return_t port_insert_send (
  315.     task_t task,
  316.     port_t my_port,
  317.     port_name_t its_name);
  318.  
  319. /* Routine port_extract_send */
  320. mig_external kern_return_t port_extract_send (
  321.     task_t task,
  322.     port_name_t its_name,
  323.     port_t *its_port);
  324.  
  325. /* Routine port_insert_receive */
  326. mig_external kern_return_t port_insert_receive (
  327.     task_t task,
  328.     port_t my_port,
  329.     port_name_t its_name);
  330.  
  331. /* Routine port_extract_receive */
  332. mig_external kern_return_t port_extract_receive (
  333.     task_t task,
  334.     port_name_t its_name,
  335.     port_t *its_port);
  336.  
  337. /* Routine port_set_backup */
  338. mig_external kern_return_t port_set_backup (
  339.     task_t task,
  340.     port_name_t port_name,
  341.     port_t backup,
  342.     port_t *previous);
  343.  
  344. /* Routine vm_synchronize */
  345. mig_external kern_return_t vm_synchronize (
  346.     vm_task_t target_task,
  347.     vm_address_t address,
  348.     vm_s!1rt size);
  349.  
  350. #endif    _mach
  351.