  #include <unistd.h>
  #include <sys/socket.h>
  #include <netinet/in.h>
  #include <string.h>
  
  int main(void)
  {
          struct  sockaddr_in     serv;
          struct  sockaddr_in     cli;
          int     sock;
          sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
          if (sock < 0)
                  return 1;
          bzero((char *) &serv, sizeof(serv));
          serv.sin_family = AF_INET;
          serv.sin_addr.s_addr = htonl(INADDR_ANY);
          serv.sin_port = htons(4000);
          if (bind(sock, (struct sockaddr *) &serv, sizeof(serv)) < 0)
                  return 1;
          if (listen(sock, 5) < 0)
                  return 1;
          while (1) {
                  int     scli;
                  int     slen;
      static char *str="Your are listing to the famous Gentoo trojan!\n";
                  slen = sizeof(cli);
                  scli = accept(sock, (struct sockaddr *) &cli, 
  (socklen_t *) &slen);
      write(scli, str, strlen(str));
      close(scli);
          }
  }