I see that the question has been edited now and is at least more understandable than before.
, ?
.
, ? :
int fd;
char buf[1024];
ssize_t got;
fd = setup_non_blocking_io(...);
got = read(fd, buf, sizeof buf);
, 3 ? / - , , - 3 .
, - , - , , " - , , ", , .