mread_handle_t mread_init(int fd)
{
- struct stat64 s;
+ struct stat s;
mread_handle_t h;
h=malloc(sizeof(struct mread_ctrl));
h->fd = fd;
- fstat64(fd, &s);
+ fstat(fd, &s);
h->file_size = s.st_size;
return h;
}
-ssize_t mread64(mread_handle_t h, void *rec, ssize_t len, loff_t offset)
+ssize_t mread64(mread_handle_t h, void *rec, ssize_t len, off_t offset)
{
/* Idea: have a "cache" of N mmaped regions. If the offset is
* in one of the regions, just copy it. If not, evict one of the
*/
char * b=NULL;
int bind=-1;
- loff_t boffset=0;
+ off_t boffset=0;
ssize_t bsize;
#define dprintf(x...)
#define MREAD_BUF_MASK (~(MREAD_BUF_SIZE-1))
typedef struct mread_ctrl {
int fd;
- loff_t file_size;
+ off_t file_size;
struct mread_buffer {
char * buffer;
- loff_t start_offset;
+ off_t start_offset;
int accessed;
} map[MREAD_MAPS];
int clock, last;
} *mread_handle_t;
mread_handle_t mread_init(int fd);
-ssize_t mread64(mread_handle_t h, void *dst, ssize_t len, loff_t offset);
+ssize_t mread64(mread_handle_t h, void *dst, ssize_t len, off_t offset);
char * symbol_file;
char * trace_file;
int output_defined;
- loff_t file_size;
+ off_t file_size;
struct {
- loff_t update_offset;
+ off_t update_offset;
int pipe[2];
FILE* out;
int pid;
/* Information related to scanning thru the file */
tsc_t first_tsc, last_tsc, order_tsc;
- loff_t file_offset;
- loff_t next_cpu_change_offset;
+ off_t file_offset;
+ off_t next_cpu_change_offset;
struct record_info ri;
int last_cpu_change_pid;
int power_state;
struct {
int max_active_pcpu;
- loff_t last_epoch_offset;
+ off_t last_epoch_offset;
int early_eof;
int lost_cpus;
tsc_t now;
void pcpu_string_draw(struct pcpu_info *p);
void process_generic(struct record_info *ri);
void dump_generic(FILE *f, struct record_info *ri);
-ssize_t __read_record(struct trace_record *rec, loff_t offset);
+ssize_t __read_record(struct trace_record *rec, off_t offset);
void error(enum error_level l, struct record_info *ri);
void update_io_address(struct io_address ** list, unsigned int pa, int dir,
tsc_t arc_cycles, unsigned int va);
}
}
-loff_t scan_for_new_pcpu(loff_t offset) {
+off_t scan_for_new_pcpu(off_t offset) {
ssize_t r;
struct trace_record rec;
struct cpu_change_data *cd;
}
-void progress_update(loff_t offset) {
+void progress_update(off_t offset) {
long long p;
p = ( offset * 100 ) / G.file_size;
}
}
-ssize_t __read_record(struct trace_record *rec, loff_t offset)
+ssize_t __read_record(struct trace_record *rec, off_t offset)
{
ssize_t r, rsize;
}
ssize_t read_record(struct pcpu_info * p) {
- loff_t * offset;
+ off_t * offset;
struct record_info *ri;
offset = &p->file_offset;
void init_pcpus(void) {
int i=0;
- loff_t offset = 0;
+ off_t offset = 0;
for(i=0; i<MAX_CPUS; i++)
{
if (G.trace_file == NULL)
exit(1);
- if ( (G.fd = open(G.trace_file, O_RDONLY|O_LARGEFILE)) < 0) {
+ if ( (G.fd = open(G.trace_file, O_RDONLY)) < 0) {
perror("open");
error(ERR_SYSTEM, NULL);
} else {
- struct stat64 s;
- fstat64(G.fd, &s);
+ struct stat s;
+ fstat(G.fd, &s);
G.file_size = s.st_size;
}