#include <NetInfo/config.h>
#include <mach/mach.h>
#include <mach/mach_error.h>
#define SYS_PORT_NULL MACH_PORT_NULL
#define sys_msg_return_type mach_msg_return_t
#define sys_port_type mach_port_t
#define sys_task_port_type task_port_t
#define sys_msg_timeout_type mach_msg_timeout_t
#define sys_msg_header_type mach_msg_header_t
#define sys_strerror mach_error_string
#define sys_task_self mach_task_self
#define sys_task_for_pid task_for_pid
#define sys_msg_local_port msgh_local_port
#define SERVER_STATUS_ERROR -1
#define SERVER_STATUS_INACTIVE 0
#define SERVER_STATUS_ACTIVE 1
#define SERVER_STATUS_ON_DEMAND 2
kern_return_t sys_create_service(char *name, sys_port_type *p, int restart);
kern_return_t sys_destroy_service(char *name);
kern_return_t sys_receive_port_alloc(sys_msg_header_type *h, unsigned int size);
kern_return_t sys_port_alloc(sys_port_type *p);
void sys_port_free(sys_port_type p);
sys_msg_return_type
sys_receive_message(sys_msg_header_type *h, unsigned int size, sys_port_type p, sys_msg_timeout_type t);
kern_return_t
sys_send_message(sys_msg_header_type *h, sys_msg_timeout_type t);
sys_port_type
sys_message_port(sys_msg_header_type *h);
kern_return_t
sys_port_extract_receive_right(sys_task_port_type et, sys_port_type ep, sys_port_type *p);
sys_port_type lookupd_port(char *name);
int sys_server_status(char *name);