/* ports.h * * Definitions here are for kernel use only. For the actual * definitions of port functions, please look at OS.h */ #ifndef _KERNEL_PORT_H #define _KERNEL_PORT_H #include #define PORT_FLAG_USE_USER_MEMCPY 0x80000000 status_t port_init(kernel_args *ka); int delete_owned_ports(team_id owner); // temp: test void port_test(void); int port_test_thread_func(void* arg); // user-level API port_id user_create_port(int32 queue_length, const char *name); status_t user_close_port(port_id id); status_t user_delete_port(port_id id); port_id user_find_port(const char *port_name); status_t user_get_port_info(port_id id, struct port_info *info); status_t user_get_next_port_info(team_id team, int32 *cookie, struct port_info *info); ssize_t user_port_buffer_size_etc(port_id port, uint32 flags, bigtime_t timeout); ssize_t user_port_count(port_id port); status_t user_read_port_etc(port_id port, int32 *msg_code, void *msg_buffer, size_t buffer_size, uint32 flags, bigtime_t timeout); status_t user_set_port_owner(port_id port, team_id team); status_t user_write_port_etc(port_id port, int32 msg_code, void *msg_buffer, size_t buffer_size, uint32 flags, bigtime_t timeout); #endif