zx_socket_create
名称
socket_create —— 创建socket对象
概要
#include <zircon/syscalls.h>
zx_status_t zx_socket_create(uint32_t options,
zx_handle_t* out0, zx_handle_t* out1);
描述
socket_create() 创建socket对象,一对只能传输数据,并且具有最大容量限制的双向流式传输的连接。
写入句柄的数据可以在相对端点的句柄上被读取。
options必须设置ZX_SOCKET_STREAM或ZX_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_ARGS: out0或out1是无效指针或NULL,或options是除ZX_SOCKET_STREAM或ZX_SOCKET_DATAGRAM之外的任何值。
ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。
限制
目前无法设置最大容量。