File type nomenclature in 170 Lassi Kortela (31 Jul 2020 11:11 UTC)
|
||
(missing)
|
||
Re: File type nomenclature in 170
Lassi Kortela
(31 Jul 2020 11:44 UTC)
|
||
Re: File type nomenclature in 170
John Cowan
(31 Jul 2020 15:21 UTC)
|
||
Re: File type nomenclature in 170
Lassi Kortela
(31 Jul 2020 15:45 UTC)
|
||
Re: File type nomenclature in 170
hga@xxxxxx
(31 Jul 2020 16:13 UTC)
|
||
Re: File type nomenclature in 170
Lassi Kortela
(31 Jul 2020 16:25 UTC)
|
||
Re: File type nomenclature in 170
Lassi Kortela
(31 Jul 2020 16:36 UTC)
|
||
Re: File type nomenclature in 170
hga@xxxxxx
(31 Jul 2020 16:59 UTC)
|
File type nomenclature in 170 Lassi Kortela 31 Jul 2020 11:10 UTC
SRFI 170 says: #o140000 local domain socket But this is for all sockets - not just local-domain ones but internet, etc. This prints "socket": ---------------------------------------------------------------------- #include <sys/types.h> #include <sys/socket.h> #include <sys/stat.h> #include <arpa/inet.h> #include <netinet/in.h> #include <stdio.h> #include <unistd.h> #define PORT 23456 int main(void) { struct sockaddr_in addr; struct stat st; int fd, is_socket; if ((fd = socket(PF_INET, SOCK_STREAM, 0)) == -1) return 1; addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); addr.sin_port = htons(PORT); if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) return 1; if (listen(fd, 10) == -1) return 1; if (fstat(fd, &st) == -1) return 1; is_socket = (st.st_mode & S_IFMT) == S_IFSOCK; printf("%s\n", is_socket ? "socket" : "not a socket"); if (close(fd) == -1) return 1; return 0; } ----------------------------------------------------------------------