vfs: check userland buffers before reading them.
[haiku.git] / src / system / libroot / os / port.c
blob8b235dc07d4f7d991bacb49611b5fb48adb2bfd1
1 /*
2 ** Copyright 2002, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3 ** Distributed under the terms of the MIT License.
4 */
7 #include <OS.h>
8 #include "syscalls.h"
11 port_id
12 create_port(int32 capacity, const char *name)
14 return _kern_create_port(capacity, name);
18 port_id
19 find_port(const char *name)
21 return _kern_find_port(name);
25 status_t
26 write_port(port_id port, int32 code, const void *buffer, size_t bufferSize)
28 return _kern_write_port_etc(port, code, buffer, bufferSize, 0, 0);
32 ssize_t
33 read_port(port_id port, int32 *code, void *buffer, size_t bufferSize)
35 return _kern_read_port_etc(port, code, buffer, bufferSize, 0, 0);
39 status_t
40 write_port_etc(port_id port, int32 code, const void *buffer, size_t bufferSize,
41 uint32 flags, bigtime_t timeout)
43 return _kern_write_port_etc(port, code, buffer, bufferSize, flags, timeout);
47 ssize_t
48 read_port_etc(port_id port, int32 *code, void *buffer, size_t bufferSize,
49 uint32 flags, bigtime_t timeout)
51 return _kern_read_port_etc(port, code, buffer, bufferSize, flags, timeout);
55 ssize_t
56 port_buffer_size(port_id port)
58 return _kern_port_buffer_size_etc(port, 0, 0);
62 ssize_t
63 port_buffer_size_etc(port_id port, uint32 flags, bigtime_t timeout)
65 return _kern_port_buffer_size_etc(port, flags, timeout);
69 ssize_t
70 port_count(port_id port)
72 return _kern_port_count(port);
76 status_t
77 set_port_owner(port_id port, team_id team)
79 return _kern_set_port_owner(port, team);
83 status_t
84 close_port(port_id port)
86 return _kern_close_port(port);
90 status_t
91 delete_port(port_id port)
93 return _kern_delete_port(port);
97 status_t
98 _get_next_port_info(team_id team, int32 *cookie, port_info *info, size_t size)
100 // size is not yet used, but may, if port_info changes
101 (void)size;
103 return _kern_get_next_port_info(team, cookie, info);
107 status_t
108 _get_port_info(port_id port, port_info *info, size_t size)
110 return _kern_get_port_info(port, info);
114 status_t
115 _get_port_message_info_etc(port_id port, port_message_info *info,
116 size_t infoSize, uint32 flags, bigtime_t timeout)
118 return _kern_get_port_message_info_etc(port, info, infoSize, flags,
119 timeout);