Blame src/mpi/debugger/mpich_dll_defs.h

Packit Service c5cf8c
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
Packit Service c5cf8c
/*
Packit Service c5cf8c
 *  (C) 2005 by Argonne National Laboratory.
Packit Service c5cf8c
 *      See COPYRIGHT in top-level directory.
Packit Service c5cf8c
 */
Packit Service c5cf8c
Packit Service c5cf8c
#ifndef MPICH_DLL_DEFS_H_INCLUDED
Packit Service c5cf8c
#define MPICH_DLL_DEFS_H_INCLUDED
Packit Service c5cf8c
Packit Service c5cf8c
/***********************************************************************
Packit Service c5cf8c
 * Information associated with a specific executable image
Packit Service c5cf8c
 */
Packit Service c5cf8c
typedef struct {
Packit Service c5cf8c
    const struct mqs_image_callbacks *image_callbacks;  /* Functions needed here */
Packit Service c5cf8c
Packit Service c5cf8c
    /* in the embedded MPI_Status object */
Packit Service c5cf8c
    int count_offs;
Packit Service c5cf8c
    int MPI_SOURCE_offs;
Packit Service c5cf8c
    int MPI_TAG_offs;
Packit Service c5cf8c
Packit Service c5cf8c
    /* Fields in MPIR_Comm_list */
Packit Service c5cf8c
    int sequence_number_offs;
Packit Service c5cf8c
    int comm_head_offs;
Packit Service c5cf8c
Packit Service c5cf8c
    /* Fields in MPIR_Comm */
Packit Service c5cf8c
    int comm_rsize_offs;
Packit Service c5cf8c
    int lrank_to_grank_offs;
Packit Service c5cf8c
    int comm_rank_offs;
Packit Service c5cf8c
    int comm_context_id_offs;
Packit Service c5cf8c
    int comm_recvcontext_id_offs;
Packit Service c5cf8c
    int comm_next_offs;
Packit Service c5cf8c
    int comm_name_offs;
Packit Service c5cf8c
Packit Service c5cf8c
    /* Fields in MPIR_Request (including structures within the request) */
Packit Service c5cf8c
    int req_status_offs;
Packit Service c5cf8c
    int req_cc_offs;
Packit Service c5cf8c
    int req_dev_offs;
Packit Service c5cf8c
    int req_next_offs;
Packit Service c5cf8c
    int req_tag_offs;
Packit Service c5cf8c
    int req_rank_offs;
Packit Service c5cf8c
    int req_context_id_offs;
Packit Service c5cf8c
    int req_user_buf_offs;
Packit Service c5cf8c
    int req_user_count_offs;
Packit Service c5cf8c
    int req_datatype_offs;
Packit Service c5cf8c
Packit Service c5cf8c
    /* Fields in MPIR_Sendq */
Packit Service c5cf8c
    int sendq_next_offs;
Packit Service c5cf8c
    int sendq_tag_offs;
Packit Service c5cf8c
    int sendq_rank_offs;
Packit Service c5cf8c
    int sendq_context_id_offs;
Packit Service c5cf8c
    int sendq_req_offs;
Packit Service c5cf8c
} mpich_image_info;
Packit Service c5cf8c
Packit Service c5cf8c
/***********************************************************************
Packit Service c5cf8c
 * Information associated with a specific process
Packit Service c5cf8c
 */
Packit Service c5cf8c
Packit Service c5cf8c
typedef struct group_t {
Packit Service c5cf8c
    mqs_taddr_t table_base;     /* Where was it in the process  */
Packit Service c5cf8c
    int ref_count;              /* How many references to us */
Packit Service c5cf8c
    int entries;                /* How many entries */
Packit Service c5cf8c
    int *local_to_global;       /* The translation table */
Packit Service c5cf8c
} group_t;
Packit Service c5cf8c
Packit Service c5cf8c
/* Information for a single process, a list of communicators, some
Packit Service c5cf8c
 * useful addresses, and the state of the iterators.
Packit Service c5cf8c
 */
Packit Service c5cf8c
typedef struct {
Packit Service c5cf8c
    const struct mqs_process_callbacks *process_callbacks;      /* Functions needed here */
Packit Service c5cf8c
Packit Service c5cf8c
    struct communicator_t *communicator_list;   /* List of communicators in the process */
Packit Service c5cf8c
    mqs_target_type_sizes sizes;        /* Process architecture information */
Packit Service c5cf8c
Packit Service c5cf8c
    /* Addresses in the target process */
Packit Service c5cf8c
    mqs_taddr_t posted_base;    /* Where to find the message queues */
Packit Service c5cf8c
    mqs_taddr_t unexpected_base;
Packit Service c5cf8c
    mqs_taddr_t sendq_base;     /* Where to find the send queue */
Packit Service c5cf8c
    mqs_taddr_t commlist_base;  /* Where to find the list of communicators */
Packit Service c5cf8c
Packit Service c5cf8c
    /* Other info we need to remember about it */
Packit Service c5cf8c
    mqs_tword_t communicator_sequence;
Packit Service c5cf8c
    int has_sendq;
Packit Service c5cf8c
Packit Service c5cf8c
    /* State for the iterators */
Packit Service c5cf8c
    struct communicator_t *current_communicator;        /* Easy, we're walking a simple list */
Packit Service c5cf8c
Packit Service c5cf8c
    mqs_taddr_t next_msg;       /* And state for the message iterator */
Packit Service c5cf8c
    mqs_op_class what;          /* What queue are we looking on */
Packit Service c5cf8c
} mpich_process_info;
Packit Service c5cf8c
Packit Service c5cf8c
#endif /* MPICH_DLL_DEFS_H_INCLUDED */