#include <stdlib.h>
#include <stdio.h>
/* #include <unixlib.h> */
#include <math.h>
#include "people.h"

FILE *openFile(char *fileName)
{
  FILE *filePointer;
  filePointer = fopen(fileName, "r+");
  if (filePointer == NULL)
    printf("%s\n", msgFileError);
  return(filePointer);
}

int closeFile(FILE *filePointer)
{
  int status = 0;
  if (filePointer == NULL)
    return(status); /* ingore this case */
  status = fclose(filePointer);
  if (status == EOF)
    printf("%s\n", msgFileError);
  return(status);
}


unsigned int randomNumberGenerator()
{ /* return a random number that is not greater than maxRandomNumber */
  unsigned int seed, randomNumber;
  seed = time(NULL) * getpid() / getuid();
  srand(seed);
  randomNumber = rand() % (maxRandomNumber + 1);
  return(randomNumber);
}


unsigned int mitIdGenerator()
{ /* if error should occure, return(0), otherwise mitId will be returned */
  unsigned int prefix = (randomNumberGenerator() * time(NULL)) % numberPrefix;
  unsigned int mitId;
  switch (prefix)
  {
    case 0:
      prefix = mitIdPrefix1;
      break;
    case 1:
      prefix = mitIdPrefix2;
      break;
    case 2:
      prefix = mitIdPrefix3;
      break;
    case 3:
      prefix = mitIdPrefix4;
      break;
    default:
      printf("%s\n", msgMitIdError);
      return(0);
  }
  mitId = prefix + randomNumberGenerator();
  return(mitId);
}


/*
main(void)
{
  char *temp;
  int *temp1, *temp2;
  unsigned int mitId = mitIdGenerator();
  printf("mitId = %u\n", mitId);
  printf("time = %d\n", time(NULL));
}
*/                   
