Lines Matching refs:fd
43 int fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0); in fdevent_socket_nb_cloexec_init() local
45 int fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0); in fdevent_socket_nb_cloexec_init()
47 if (fd >= 0) { in fdevent_socket_nb_cloexec_init()
48 int flags = fcntl(fd, F_GETFL, 0); in fdevent_socket_nb_cloexec_init()
53 close(fd); in fdevent_socket_nb_cloexec_init()
58 void fdevent_setfd_cloexec(int fd) { in fdevent_setfd_cloexec() argument
60 if (fd < 0) return; in fdevent_setfd_cloexec()
61 force_assert(-1 != fcntl(fd, F_SETFD, FD_CLOEXEC)); in fdevent_setfd_cloexec()
63 UNUSED(fd); in fdevent_setfd_cloexec()
67 void fdevent_clrfd_cloexec(int fd) { in fdevent_clrfd_cloexec() argument
69 if (fd >= 0) force_assert(-1 != fcntl(fd, F_SETFD, 0)); in fdevent_clrfd_cloexec()
71 UNUSED(fd); in fdevent_clrfd_cloexec()
75 int fdevent_fcntl_set_nb(int fd) { in fdevent_fcntl_set_nb() argument
77 return fcntl(fd, F_SETFL, O_NONBLOCK | O_RDWR); in fdevent_fcntl_set_nb()
79 UNUSED(fd); in fdevent_fcntl_set_nb()
84 int fdevent_fcntl_set_nb_cloexec(int fd) { in fdevent_fcntl_set_nb_cloexec() argument
85 fdevent_setfd_cloexec(fd); in fdevent_fcntl_set_nb_cloexec()
86 return fdevent_fcntl_set_nb(fd); in fdevent_fcntl_set_nb_cloexec()
89 int fdevent_fcntl_set_nb_cloexec_sock(int fd) { in fdevent_fcntl_set_nb_cloexec_sock() argument
94 return fdevent_fcntl_set_nb_cloexec(fd); in fdevent_fcntl_set_nb_cloexec_sock()
98 int fd; in fdevent_socket_cloexec() local
103 if (-1 != (fd = socket(domain, type, protocol))) { in fdevent_socket_cloexec()
105 force_assert(-1 != fcntl(fd, F_SETFD, FD_CLOEXEC)); in fdevent_socket_cloexec()
108 return fd; in fdevent_socket_cloexec()
112 int fd; in fdevent_socket_nb_cloexec() local
119 fd = socket(domain, type | SOCK_CLOEXEC, protocol); in fdevent_socket_nb_cloexec()
121 if (-1 != fd) force_assert(-1 != fcntl(fd,F_SETFL,O_NONBLOCK|O_RDWR)); in fdevent_socket_nb_cloexec()
123 return fd; in fdevent_socket_nb_cloexec()
127 if (-1 != (fd = socket(domain, type, protocol))) { in fdevent_socket_nb_cloexec()
129 force_assert(-1 != fcntl(fd, F_SETFD, FD_CLOEXEC)); in fdevent_socket_nb_cloexec()
132 force_assert(-1 != fcntl(fd, F_SETFL, O_NONBLOCK | O_RDWR)); in fdevent_socket_nb_cloexec()
135 return fd; in fdevent_socket_nb_cloexec()
138 int fdevent_dup_cloexec (int fd) { in fdevent_dup_cloexec() argument
140 return fcntl(fd, F_DUPFD_CLOEXEC, 3); in fdevent_dup_cloexec()
142 const int newfd = fcntl(fd, F_DUPFD, 3); in fdevent_dup_cloexec()
179 int fd = open(pathname, flags | FDEVENT_O_FLAGS, mode); in fdevent_open_cloexec() local
181 if (fd != -1) in fdevent_open_cloexec()
182 force_assert(-1 != fcntl(fd, F_SETFD, FD_CLOEXEC)); in fdevent_open_cloexec()
184 return fd; in fdevent_open_cloexec()
251 int fd; /*(flags might have _O_APPEND)*/ in fdevent_mkostemp() local
253 && (0 == _sopen_s(&fd, path, _O_CREAT | _O_EXCL | _O_TEMPORARY in fdevent_mkostemp()
256 ? fd in fdevent_mkostemp()
266 const int fd = mkstemp(path); in fdevent_mkostemp()
267 if (fd < 0) return fd; in fdevent_mkostemp()
269 if (flags && 0 != fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) | flags)) { in fdevent_mkostemp()
272 close(fd); in fdevent_mkostemp()
277 fdevent_setfd_cloexec(fd); in fdevent_mkostemp()
278 return fd; in fdevent_mkostemp()
298 int fd; in fdevent_accept_listenfd() local
304 fd = paccept(listenfd, addr, &len, NULL, SOCK_CLOEXEC | SOCK_NONBLOCK); in fdevent_accept_listenfd()
308 fd = accept4(listenfd, addr, &len, SOCK_CLOEXEC | SOCK_NONBLOCK); in fdevent_accept_listenfd()
309 if (fd >= 0) { in fdevent_accept_listenfd()
311 if (0 != fdevent_fcntl_set_nb(fd)) { in fdevent_accept_listenfd()
312 close(fd); in fdevent_accept_listenfd()
313 fd = -1; in fdevent_accept_listenfd()
322 fd = accept(listenfd, addr, &len); in fdevent_accept_listenfd()
331 fd = accept(listenfd, addr, &len); in fdevent_accept_listenfd()
336 fd = accept(listenfd, addr, &len); in fdevent_accept_listenfd()
339 if (fd >= 0) { in fdevent_accept_listenfd()
341 if (!sock_cloexec && 0 != fdevent_fcntl_set_nb_cloexec(fd)) { in fdevent_accept_listenfd()
342 close(fd); in fdevent_accept_listenfd()
343 fd = -1; in fdevent_accept_listenfd()
346 return fd; in fdevent_accept_listenfd()
502 ssize_t fdevent_socket_read_discard (int fd, char *buf, size_t sz, int family, int so_type) { in fdevent_socket_read_discard() argument
505 ssize_t len = recv(fd, buf, sz, MSG_TRUNC|MSG_DONTWAIT|MSG_NOSIGNAL); in fdevent_socket_read_discard()
512 return read(fd, buf, sz); in fdevent_socket_read_discard()
523 int fdevent_ioctl_fionread (int fd, int fdfmt, int *toread) { in fdevent_ioctl_fionread() argument
526 return ioctlsocket(fd, FIONREAD, toread); in fdevent_ioctl_fionread()
534 return ioctl(fd, FIONREAD, toread); in fdevent_ioctl_fionread()
539 int fdevent_connect_status(int fd) { in fdevent_connect_status() argument
544 return (0 == getsockopt(fd,SOL_SOCKET,SO_ERROR,&opt,&len)) ? opt : errno; in fdevent_connect_status()
563 int fdevent_is_tcp_half_closed(int fd) { in fdevent_is_tcp_half_closed() argument
567 return (0 == getsockopt(fd, IPPROTO_TCP, TCP_CONNECTION_INFO, &tcpi, &tlen) in fdevent_is_tcp_half_closed()
573 return (0 == getsockopt(fd, IPPROTO_TCP, TCP_INFO, &tcpi, &tlen) in fdevent_is_tcp_half_closed()
579 return (0 == getsockopt(fd, SOL_TCP, TCP_INFO, &tcpi, &tlen) in fdevent_is_tcp_half_closed()
582 UNUSED(fd); in fdevent_is_tcp_half_closed()
590 int fdevent_set_tcp_nodelay (const int fd, const int opt) in fdevent_set_tcp_nodelay() argument
592 return setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt)); in fdevent_set_tcp_nodelay()
596 int fdevent_set_so_reuseaddr (const int fd, const int opt) in fdevent_set_so_reuseaddr() argument
598 return setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); in fdevent_set_so_reuseaddr()
609 int fd; in fdevent_load_file() local
613 fd = fdevent_open_cloexec(fn, 1, O_RDONLY, 0); /*(1: follows symlinks)*/ in fdevent_load_file()
614 if (fd < 0) break; in fdevent_load_file()
617 if (0 != fstat(fd, &st)) break; in fdevent_load_file()
632 rd = read(fd, buf+off, (size_t)(sz-off)); in fdevent_load_file()
642 close(fd); in fdevent_load_file()
648 if (fd >= 0) close(fd); in fdevent_load_file()
662 int fd; in fdevent_load_file_bytes() local
664 fd = fdevent_open_cloexec(fn, 1, O_RDONLY, 0); /*(1: follows symlinks)*/ in fdevent_load_file_bytes()
665 if (fd < 0) break; in fdevent_load_file_bytes()
667 if (0 != off && (off_t)-1 == lseek(fd, off, SEEK_SET)) break; in fdevent_load_file_bytes()
672 rd = read(fd, buf+off, (size_t)(sz-off)); in fdevent_load_file_bytes()
679 close(fd); in fdevent_load_file_bytes()
685 if (fd >= 0) close(fd); in fdevent_load_file_bytes()