haiku/headers/private/kernel/port.h
ejakowatz 52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00

49 lines
1.2 KiB
C
Executable File

/* 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 <thread.h>
#define PORT_FLAG_USE_USER_MEMCPY 0x80000000
int port_init(kernel_args *ka);
int delete_owned_ports(proc_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);
int user_close_port(port_id id);
int user_delete_port(port_id id);
port_id user_find_port(const char *port_name);
int user_get_port_info(port_id id, struct port_info *info);
int user_get_next_port_info(proc_id proc,
uint32 *cookie,
struct port_info *info);
ssize_t user_port_buffer_size_etc(port_id port,
uint32 flags,
bigtime_t timeout);
int32 user_port_count(port_id port);
ssize_t user_read_port_etc(port_id port,
int32 *msg_code,
void *msg_buffer,
size_t buffer_size,
uint32 flags,
bigtime_t timeout);
int user_set_port_owner(port_id port, proc_id proc);
int user_write_port_etc(port_id port,
int32 msg_code,
void *msg_buffer,
size_t buffer_size,
uint32 flags,
bigtime_t timeout);
#endif