diff --git a/darshan-util/Makefile.in b/darshan-util/Makefile.in index 1e3ad31284a4082659dcd116b1ad71892ec5f8ad..c91a4343a90d32e09f90a5f8bedd9a2fe23ccd91 100644 --- a/darshan-util/Makefile.in +++ b/darshan-util/Makefile.in @@ -51,10 +51,15 @@ darshan-posix-logutils.o: darshan-posix-logutils.c darshan-logutils.h darshan-po darshan-posix-logutils.po: darshan-posix-logutils.c darshan-logutils.h darshan-posix-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-posix-log-format.h | uthash-1.9.2 $(CC) $(CFLAGS_SHARED) -c $< -o $@ -libdarshan-util.so: darshan-logutils.po darshan-posix-logutils.po +darshan-mpiio-logutils.o: darshan-mpiio-logutils.c darshan-logutils.h darshan-mpiio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mpiio-log-format.h | uthash-1.9.2 + $(CC) $(CFLAGS) -c $< -o $@ +darshan-mpiio-logutils.po: darshan-mpiio-logutils.c darshan-logutils.h darshan-mpiio-logutils.h $(DARSHAN_LOG_FORMAT) $(srcdir)/../darshan-mpiio-log-format.h | uthash-1.9.2 + $(CC) $(CFLAGS_SHARED) -c $< -o $@ + +libdarshan-util.so: darshan-logutils.po darshan-posix-logutils.po darshan-mpiio-logutils.po $(CC) $(CFLAGS_SHARED) $(LDFLAGS) -o $@ $^ $(LIBS) -libdarshan-util.a: darshan-logutils.o darshan-posix-logutils.o +libdarshan-util.a: darshan-logutils.o darshan-posix-logutils.o darshan-mpiio-logutils.o ar rcs libdarshan-util.a $^ jenkins: util/bin/jenkins.o lookup3.o diff --git a/darshan-util/darshan-mpiio-logutils.c b/darshan-util/darshan-mpiio-logutils.c new file mode 100644 index 0000000000000000000000000000000000000000..33fc1c397d8fac9bb646808c2ddff4d6aff7cd5e --- /dev/null +++ b/darshan-util/darshan-mpiio-logutils.c @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2015 University of Chicago. + * See COPYRIGHT notice in top-level directory. + * + */ + +#define _GNU_SOURCE +#include "darshan-util-config.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "darshan-mpiio-logutils.h" + +int darshan_log_get_mpiio_file(darshan_fd fd, struct darshan_mpiio_file *file) +{ + int i; + int ret; + + /* reset file record, so that diff compares against a zero'd out record + * if file is missing + */ + memset(file, 0, sizeof(*file)); + + ret = darshan_log_get_moddat(fd, DARSHAN_MPIIO_MOD, + (void *)file, sizeof(*file)); + if(ret == 1) + { + if(fd->swap_flag) + { + /* swap bytes if necessary */ + DARSHAN_BSWAP64(&file->f_id); + DARSHAN_BSWAP64(&file->rank); + for(i=0; icounters[i]); + for(i=0; ifcounters[i]); + } + } + + return(ret); +} + +/* + * Local variables: + * c-indent-level: 4 + * c-basic-offset: 4 + * End: + * + * vim: ts=8 sts=4 sw=4 expandtab + */ diff --git a/darshan-util/darshan-mpiio-logutils.h b/darshan-util/darshan-mpiio-logutils.h new file mode 100644 index 0000000000000000000000000000000000000000..965225f9c08ebba14980de913d7171490d403b87 --- /dev/null +++ b/darshan-util/darshan-mpiio-logutils.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2015 University of Chicago. + * See COPYRIGHT notice in top-level directory. + * + */ + +#ifndef __DARSHAN_MPIIO_LOG_UTILS_H +#define __DARSHAN_MPIIO_LOG_UTILS_H + +#include "darshan-logutils.h" +#include "darshan-mpiio-log-format.h" + +int darshan_log_get_mpiio_file(darshan_fd fd, struct darshan_mpiio_file *file); + +#endif