#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define INET_ADDR(o1,o2,o3,o4) (htonl((o1 << 24) | (o2 << 16) | (o3 << 8) | (o4 << 0)))
int main(int argc, char const *argv[])
{
// u_int16_t port = 53;
// printf("%d 0x%x\n",port,port);
// u_int16_t netport = htons(port);
// printf("%d 0x%x\n",netport,netport);
const char ipv4[20] = "192.168.1.1";
printf("%02x.%02x.%02x.%02x\n",192,168,1,1);
printf("%s\n",ipv4);
int networkIP ;
// networkIP = inet_aton(const char *__cp, struct in_addr *__inp)
networkIP = inet_addr(ipv4);
printf("0x%08x\n",networkIP);
int mynetworkIP = INET_ADDR(192,168,1,1);
printf("0x%08x\n",mynetworkIP);
char buf[100] = { 0 };
int res = 0;
res = inet_pton(AF_INET, ipv4, buf);
printf("res= %d\n",res);
struct in_addr *s = (struct in_addr *)buf;
printf("0x%08x\n",s->s_addr);
// 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)];
// };
// typedef uint32_t in_addr_t;
// struct in_addr
// {
// in_addr_t s_addr;
// };
// c0.a8.01.01
// 192.168.1.1
// 0x0101a8c0
// 0x0101a8c0
// res= 1
// 0x0101a8c0
return 0;
}
10-04