My distro is MX Linux (Debian) GCC was already installed with distro.
I am trying to compile some open source code from Nir Lictman. His Minimalist C web server code compiles in his YouTube video.
When I use gcc to compile, I get errors:
servera.c: In function ‘main’:
servera.c:21:13: warning: passing argument 2 of ‘bind’ from incompatible pointer type [-Wincompatible-pointer-types]
21 | bind(s, &addr, sizeof(addr));
| ^~~~~
| |
| struct sockaddr_in *
In file included from servera.c:1:
/usr/include/x86_64-linux-gnu/sys/socket.h:112:49: note: expected ‘const struct sockaddr *’ but argument is of type ‘struct sockaddr_in *’
112 | extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)
When I try to see the man page for netinet i get error:
$ man netinet
No manual entry for netinet
I did find a netinet directory that contains in.h at /usr/include/netinet. And that in.h has a definition of sockaddr_in as follows:
/* Structure describing an Internet socket address. */
struct sockaddr_in
{
__SOCKADDR_COMMON (sin_);
in_port_t sin_port; /* Port number. */
struct in_addr sin_addr; /* Internet address. */
/* Pad to size of `struct sockaddr'. */
unsigned char sin_zero[sizeof (struct sockaddr)
- __SOCKADDR_COMMON_SIZE
- sizeof (in_port_t)
- sizeof (struct in_addr)];
};
However I wonder if the compiler is finding this definition.