darshan-core.h 1.09 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
/*
 *  (C) 2014 by Argonne National Laboratory.
 *      See COPYRIGHT in top-level directory.
 */

#ifndef __DARSHAN_CORE_H
#define __DARSHAN_CORE_H

#include <unistd.h>
#include <sys/types.h>
#include <stdint.h>

13 14 15 16 17 18 19
#include "darshan.h"

/* calculation of compression buffer size (defaults to 50% of the maximum
 * memory that Darshan is allowed to consume on a process) 
 */
//#define CP_COMP_BUF_SIZE ((CP_MAX_FILES * sizeof(struct darshan_file))/2)
#define CP_COMP_BUF_SIZE 0
20

21 22 23 24 25
/* max length of module name string (not counting \0) */
#define DARSHAN_MOD_NAME_LEN 31

/* flags to indicate properties of file records */
#define CP_FLAG_NOTIMING 1<<1
26

27
struct darshan_core_module
28
{
29
    darshan_module_id id;
30
    char name[DARSHAN_MOD_NAME_LEN+1];
31 32 33
    struct darshan_module_funcs mod_funcs;
};

34 35 36 37
/* in memory structure to keep up with job level data */
struct darshan_core_job_runtime
{
    struct darshan_job log_job;
38
    struct darshan_core_module* mod_array[DARSHAN_MAX_MODS];
39 40 41 42 43
    char exe[CP_EXE_LEN+1];
    char comp_buf[CP_COMP_BUF_SIZE];
    int flags;
    double wtime_offset;
};
44

45
#endif /* __DARSHAN_CORE_H */