zx_socket_create


英文原文快照


名称

socket_create —— 创建socket对象

概要

  1. #include <zircon/syscalls.h>
  2. zx_status_t zx_socket_create(uint32_t options,
  3. zx_handle_t* out0, zx_handle_t* out1);

描述

socket_create() 创建socket对象,一对只能传输数据,并且具有最大容量限制的双向流式传输的连接。

写入句柄的数据可以在相对端点的句柄上被读取。

options必须设置ZX_SOCKET_STREAMZX_SOCKET_DATAGRAM标志位。

可以设置ZX_SOCKET_HAS_CONTROL标志位,以启用socket控制面传输。

可以设置ZX_SOCKET_HAS_ACCEPT标志位,以启用通过socket_share()socket_accept() 在此socket上传输其它socket对象。

权限

TODO(ZX-2399)

返回值

socket_create() 执行成功则返回ZX_OK。如果发生错误,将返回以下值之一。

错误码

ZX_ERR_INVALID_ARGSout0out1是无效指针或NULL,或options是除ZX_SOCKET_STREAMZX_SOCKET_DATAGRAM之外的任何值。

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

限制

目前无法设置最大容量。

另见

socket_acceptsocket_readsocket_sharesocket_write