OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [stable_0_2_0_rc1/] [or1ksim/] [vapi/] [vapi.c] - Diff between revs 477 and 551

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 477 Rev 551
Line 283... Line 283...
    sprintf(sTemp,"Unable to get socket information for socket %d",sockfd);
    sprintf(sTemp,"Unable to get socket information for socket %d",sockfd);
    perror(sTemp);
    perror(sTemp);
    close(sockfd);
    close(sockfd);
    return 0;
    return 0;
  }
  }
  config.vapi.server_port = ntohs(sa.sin_port);
  runtime.vapi.server_port = ntohs(sa.sin_port);
 
 
  /* Set the backlog to 1 connections */
  /* Set the backlog to 1 connections */
  if(listen(sockfd,1) < 0) {
  if(listen(sockfd,1) < 0) {
    sprintf(sTemp,"Unable to set backlog on socket %d to %d",sockfd,1);
    sprintf(sTemp,"Unable to set backlog on socket %d to %d",sockfd,1);
    perror(sTemp);
    perror(sTemp);
Line 314... Line 314...
       initiation before the accept could take place. */
       initiation before the accept could take place. */
    if(errno != EWOULDBLOCK && errno != EAGAIN) {
    if(errno != EWOULDBLOCK && errno != EAGAIN) {
      perror("accept");
      perror("accept");
      close(server_fd);
      close(server_fd);
      server_fd = 0;
      server_fd = 0;
      config.vapi.enabled = 0;
      runtime.vapi.enabled = 0;
      serverIP = 0;
      serverIP = 0;
    }
    }
    return;
    return;
  }
  }
 
 
Line 443... Line 443...
      if(errno == EINTR)
      if(errno == EINTR)
        continue;
        continue;
      perror("poll");
      perror("poll");
      if (server_fd)
      if (server_fd)
        close(server_fd);
        close(server_fd);
      config.vapi.enabled = 0;
      runtime.vapi.enabled = 0;
      serverIP = 0;
      serverIP = 0;
      return;
      return;
    case 0: /* Nothing interesting going on */
    case 0: /* Nothing interesting going on */
      return;
      return;
    default:
    default:
Line 462... Line 462...
        else { /* Error Occurred */
        else { /* Error Occurred */
          fprintf(stderr,"Received flags 0x%08x on server. Shutting down.\n", fds[0].revents);
          fprintf(stderr,"Received flags 0x%08x on server. Shutting down.\n", fds[0].revents);
          if (server_fd)
          if (server_fd)
            close(server_fd);
            close(server_fd);
          server_fd = 0;
          server_fd = 0;
          config.vapi.enabled = 0;
          runtime.vapi.enabled = 0;
          serverIP = 0;
          serverIP = 0;
        }
        }
      }
      }
      break;
      break;
    } /* End of switch statement */
    } /* End of switch statement */
Line 476... Line 476...
/* Inits the VAPI, according to sim-config */
/* Inits the VAPI, according to sim-config */
int vapi_init ()
int vapi_init ()
{
{
  nhandlers = 0;
  nhandlers = 0;
  vapi_handler = NULL;
  vapi_handler = NULL;
  if (!config.vapi.enabled)
  if (!runtime.vapi.enabled)
    return 0; /* Nothing to do */
    return 0; /* Nothing to do */
 
 
  if (!config.vapi.server_port) {
  runtime.vapi.server_port = config.vapi.server_port;
 
  if (!runtime.vapi.server_port) {
    fprintf (stderr, "WARNING: server_port = 0, shutting down VAPI\n");
    fprintf (stderr, "WARNING: server_port = 0, shutting down VAPI\n");
    config.vapi.enabled = 0;
    runtime.vapi.enabled = 0;
    return 1;
    return 1;
  }
  }
  if (server_fd = get_server_socket("or1ksim", "tcp", config.vapi.server_port))
  if (server_fd = get_server_socket("or1ksim", "tcp", runtime.vapi.server_port))
    printf("VAPI Server started on port %d\n", config.vapi.server_port);
    printf("VAPI Server started on port %d\n", runtime.vapi.server_port);
  else {
  else {
    perror ("Connection");
    perror ("Connection");
    return 1;
    return 1;
  }
  }
 
 
Line 509... Line 510...
 
 
  for (i = 0; i < nfds; i++)
  for (i = 0; i < nfds; i++)
    if (fds[i].fd)
    if (fds[i].fd)
      close (fds[i].fd);
      close (fds[i].fd);
  server_fd = 0;
  server_fd = 0;
  config.vapi.enabled = 0;
  runtime.vapi.enabled = 0;
  serverIP = 0;
  serverIP = 0;
  free (fds);
  free (fds);
  fds = 0;
  fds = 0;
  if (runtime.vapi.vapi_file) {
  if (runtime.vapi.vapi_file) {
    /* Mark end of simulation */
    /* Mark end of simulation */
Line 592... Line 593...
}
}
 
 
/*
/*
int main ()
int main ()
{
{
  config.vapi.enabled = 1;
  runtime.vapi.enabled = 1;
  config.vapi.server_port = 9999;
  config.vapi.server_port = 9999;
  vapi_init ();
  vapi_init ();
  while (1) {
  while (1) {
    vapi_check();
    vapi_check();
    usleep(1);
    usleep(1);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.