zx_port_create


英文原文快照


名称

port_create —— 创建IO端口

概要

  1. #include <zircon/syscalls.h>
  2. 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_ARGSoptions具有无效值,或者out是无效指针或NULL。

ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。

另见

port_queueport_waitobject_wait_asynchandle_close,handle_duplicatehandle_replace