.__  __               .__               
  ___________    ____ |__|/  |______ _______|__|__ __  _____  
 /  ___/\__  \  /    \|  \   __\__  \\_  __ \  |  |  \/     \ 
 \___ \  / __ \|   |  \  ||  |  / __ \|  | \/  |  |  /  Y Y  \
/____  >(____  /___|  /__||__| (____  /__|  |__|____/|__|_|  /
     \/      \/     \/              \/                     \/ 

Booting _


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

static int
create_and_bind (char *port)
{
  struct addrinfo hints;
  struct addrinfo *result, *rp;
  int s, sfd;

  memset (&hints, 0, sizeof (struct addrinfo));
  hints.ai_family = AF_UNSPEC;     /* Return IPv4 and IPv6 choices */
  hints.ai_socktype = SOCK_STREAM; /* We want a TCP socket */
  hints.ai_flags = AI_PASSIVE;     /* All interfaces */

  s = getaddrinfo (NULL, port, &hints, &result);