Lines Matching defs:sio

39     zxsio_t* sio = (zxsio_t*)io;
41 if (!(sio->flags & ZXSIO_DID_LISTEN)) {
47 r = zx_socket_accept(sio->s, s2);
55 r = zx_object_wait_one(sio->s, ZX_SOCKET_ACCEPT | ZX_SOCKET_PEER_CLOSED, ZX_TIME_INFINITE, &pending);
74 zxsio_t* sio = (zxsio_t*)io;
75 int nonblock = sio->io.ioflag & IOFLAG_NONBLOCK;
81 if ((r = zx_socket_read(sio->s, 0, data, len, &bytes_read)) == ZX_OK) {
94 r = zx_object_wait_one(sio->s,
138 zxsio_t* sio = (zxsio_t*)io;
139 int nonblock = sio->io.ioflag & IOFLAG_NONBLOCK;
144 if ((r = zx_socket_write(sio->s, 0, data, len, &len)) == ZX_OK) {
149 r = zx_object_wait_one(sio->s,
251 zxsio_t* sio = (void*)io;
252 zx_status_t r = zx_handle_duplicate(sio->s, ZX_RIGHT_SAME_RIGHTS, handles);
265 zxsio_t* sio = (void*)io;
267 handles[0] = sio->s;
274 zxsio_t* sio = (void*)io;
275 *handle = sio->s;
281 r = zx_object_wait_one(sio->s, ZXSIO_SIGNAL_CONNECTED, 0u,
352 zxsio_t* sio = (zxsio_t*)io;
357 if ((r = zx_socket_read(sio->s, 0, NULL, 0, &avail)) < 0) {
517 zxsio_t* sio = (void*)io;
518 *handle = sio->s;
549 static zx_status_t zxsio_write_control(zxsio_t* sio, zxsio_msg_t* msg) {
553 if ((r = zx_socket_write(sio->s, ZX_SOCKET_CONTROL, msg, len, &len)) == ZX_OK) {
563 r = zx_object_wait_one(sio->s,
582 static ssize_t zxsio_read_control(zxsio_t* sio, void* data, size_t len) {
587 if ((r = zx_socket_read(sio->s, ZX_SOCKET_CONTROL, data, len, &bytes_read)) == ZX_OK) {
600 r = zx_object_wait_one(sio->s,
619 static zx_status_t zxsio_txn(zxsio_t* sio, zxsio_msg_t* msg) {
624 zx_status_t r = zxsio_write_control(sio, msg);
629 r = zxsio_read_control(sio, msg, sizeof(*msg));
643 zxsio_t* sio = (zxsio_t*)io;
673 if ((r = zxsio_txn(sio, &msg)) < 0) {
684 sio->flags |= ZXSIO_DID_LISTEN;
691 zxsio_t* sio = (zxsio_t*)io;
697 r = zxsio_txn(sio, &msg);
699 zx_handle_t h = sio->s;
700 sio->s = 0;
708 zxsio_t* sio = (zxsio_t*)io;
728 if ((r = zxsio_txn(sio, &msg)) < 0) {
745 zxsio_t* sio = (zxsio_t*)io;
749 zx_object_signal_peer(sio->s, 0u, ZXSIO_SIGNAL_HALFCLOSED);
763 return zx_socket_write(sio->s, options, NULL, 0, NULL);
837 zxsio_t* sio = calloc(1, sizeof(*sio));
838 if (sio == NULL) {
842 sio->io.ops = ops;
843 sio->io.magic = FDIO_MAGIC;
844 sio->io.refcount = 1;
845 sio->io.ioflag = IOFLAG_SOCKET | flags;
846 sio->s = s;
847 sio->flags = 0;
848 return &sio->io;