4efddc7b0a
Reogranize the grpcomm code a little to provide support for soon-to-come new grpcomm components. The revised organization puts what will be common code elements in the base to avoid duplication, while allowing components that don't need those functions to ignore them. This commit was SVN r17941.
65 строки
1.6 KiB
C
65 строки
1.6 KiB
C
/* -*- C -*-
|
|
*
|
|
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
|
* University Research and Technology
|
|
* Corporation. All rights reserved.
|
|
* Copyright (c) 2004-2006 The University of Tennessee and The University
|
|
* of Tennessee Research Foundation. All rights
|
|
* reserved.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*
|
|
*/
|
|
#ifndef GRPCOMM_BASIC_H
|
|
#define GRPCOMM_BASIC_H
|
|
|
|
#include "orte_config.h"
|
|
#include "orte/types.h"
|
|
|
|
#include "opal/threads/mutex.h"
|
|
#include "opal/threads/condition.h"
|
|
#include "opal/class/opal_object.h"
|
|
|
|
#include "orte/mca/grpcomm/grpcomm.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/*
|
|
* globals
|
|
*/
|
|
/*
|
|
* globals needed within component
|
|
*/
|
|
typedef struct {
|
|
orte_vpid_t xcast_linear_xover;
|
|
orte_vpid_t xcast_binomial_xover;
|
|
} orte_grpcomm_basic_globals_t;
|
|
|
|
extern orte_grpcomm_basic_globals_t orte_grpcomm_basic;
|
|
|
|
/*
|
|
* Component open / close
|
|
*/
|
|
int orte_grpcomm_basic_open(void);
|
|
int orte_grpcomm_basic_close(void);
|
|
orte_grpcomm_base_module_t* orte_grpcomm_basic_init(int *priority);
|
|
|
|
|
|
/*
|
|
* Grpcomm interfaces
|
|
*/
|
|
|
|
ORTE_MODULE_DECLSPEC extern orte_grpcomm_base_component_t mca_grpcomm_basic_component;
|
|
extern orte_grpcomm_base_module_t orte_grpcomm_basic_module;
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|