zx_port_create
名称
port_create —— 创建IO端口
概要
#include <zircon/syscalls.h>
zx_status_t zx_port_create(uint32_t options, zx_handle_t* out);
描述
port_create() 创建一个端口——一个用于读取内核或用户空间排队的数据包的可等待对象。
options必须为0。
调用返回的句柄具有ZX_RIGHT_TRANSFER(允许它们通过写入channel的方式被发送到另一个进程),ZX_RIGHT_WRITE(允许将数据包排队),ZX_RIGHT_READ(允许读取数据包)和ZX_RIGHT_DUPLICATE(允许端口句柄被复制)的权限。
权限
TODO(ZX-2399)
返回值
port_create() 调用成功则返回ZX_OK,以及通过out返回有效的IO端口句柄。如果调用失败,则返回错误码。
错误码
ZX_ERR_INVALID_ARGS:options具有无效值,或者out是无效指针或NULL。
ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。
另见
port_queue,port_wait,object_wait_async,handle_close,handle_duplicate,handle_replace。