bytes = 4*sizeof(su3);
bytes = (off_t)4*sizeof(su3);
int read_lime_gauge_field(char * filename){  FILE * ifs;  int t, x, y, z, status;  off_t bytes;  char * header_type;  LimeReader * limereader;#ifdef LITTLE_ENDIAN  su3 tmp[4];#endif  ifs = fopen(filename, "r");  if(ifs == (FILE *)NULL) {    fprintf(stderr, "Could not open file %s\n Aborting...\n", filename);#ifdef MPI    MPI_Abort(MPI_COMM_WORLD, 1);    MPI_Finalize();#endif    exit(500);  }  limereader = limeCreateReader( ifs );  if( limereader == (LimeReader *)NULL ) {    fprintf(stderr, "Unable to open LimeReader\n");#ifdef MPI    MPI_Abort(MPI_COMM_WORLD, 1);    MPI_Finalize();#endif    exit(500);  }  while( (status = limeReaderNextRecord(limereader)) != LIME_EOF ) {    if(status != LIME_SUCCESS ) {      fprintf(stderr, "limeReaderNextRecord returned error with status = %d!\n", status);      fprintf(stderr, "trying old deprecated file format!\n");      status = LIME_EOF;      break;    }    header_type = limeReaderType(limereader);    if(!strcmp("ildg-binary-data",header_type)) break;  }  if(status == LIME_EOF) {    fprintf(stderr, "no ildg-binary-data record found in file %s\n",filename);    fprintf(stderr, "trying old deprecated file format!\n");    limeDestroyReader(limereader);    fclose(ifs);    read_gauge_field_time_p(filename);    return(0);  }  bytes = limeReaderBytes(limereader);  if(bytes != LX*g_nproc_x*LY*LZ*T*g_nproc_t*4*sizeof(su3)) {    fprintf(stderr, "Probably wrong lattice size or precision in file %s\n", filename);    fprintf(stderr, "Aborting...!\n");#ifdef MPI    MPI_Abort(MPI_COMM_WORLD, 1);    MPI_Finalize();#endif    exit(501);  }  bytes = 4*sizeof(su3);#ifndef LITTLE_ENDIAN  bytes = sizeof(su3);#endif  for(t = 0; t < T; t++){    for(z = 0; z < LZ; z++){      for(y = 0; y < LY; y++){#if (defined MPI && (defined PARALLELT || defined PARALLELXT))	limeReaderSeek(limereader, 		       (g_proc_coords[1]*LX + 			(((g_proc_coords[0]*T+t)*LZ+z)*LY+y)*LX*g_nproc_x)*4*sizeof(su3),		       SEEK_SET);#endif	for(x = 0; x < LX; x++){#ifdef LITTLE_ENDIAN	  status = limeReaderReadData(tmp, &bytes, limereader);	  byte_swap_assign(&g_gauge_field[ g_ipt[t][x][y][z] ][0], &tmp[3], sizeof(su3)/8);	  byte_swap_assign(&g_gauge_field[ g_ipt[t][x][y][z] ][1], &tmp[0], sizeof(su3)/8);	  byte_swap_assign(&g_gauge_field[ g_ipt[t][x][y][z] ][2], &tmp[1], sizeof(su3)/8);	  byte_swap_assign(&g_gauge_field[ g_ipt[t][x][y][z] ][3], &tmp[2], sizeof(su3)/8);#else	  status = limeReaderReadData(&g_gauge_field[ g_ipt[t][x][y][z] ][1], &bytes, limereader);	  status = limeReaderReadData(&g_gauge_field[ g_ipt[t][x][y][z] ][2], &bytes, limereader);	  status = limeReaderReadData(&g_gauge_field[ g_ipt[t][x][y][z] ][3], &bytes, limereader);	  status = limeReaderReadData(&g_gauge_field[ g_ipt[t][x][y][z] ][0], &bytes, limereader);#endif	  if(status < 0 && status != LIME_EOR) {	    fprintf(stderr, "LIME read error occured with status = %d while reading file %s!\n Aborting...\n", status, filename);#ifdef MPI	    MPI_Abort(MPI_COMM_WORLD, 1);	    MPI_Finalize();#endif	    exit(500);	  }	}      }    }  }  limeDestroyReader(limereader);  fclose(ifs);  return(0);}