118 #ifndef _MPI_INTERFACE_INCLUDED
119 #define _MPI_INTERFACE_INCLUDED
121 #include "ompi_config.h"
135 MQS_INTERFACE_COMPATIBILITY = 3
137 MQS_INTERFACE_COMPATIBILITY = 2
159 typedef struct _mqs_image_info mqs_image_info;
160 typedef struct _mqs_process_info mqs_process_info;
162 typedef struct _mqs_job_info mqs_job_info;
166 typedef struct mqs_image_ mqs_image;
168 typedef struct mqs_job_ mqs_job;
170 typedef struct mqs_process_ mqs_process;
171 typedef struct mqs_type_ mqs_type;
190 #if !defined (FORCE_32BIT_MPI) && (defined (__sgi) || defined (__hpux) || defined (_AIX) || defined(__sun))
191 typedef unsigned long long mqs_taddr_t;
192 typedef long long mqs_tword_t;
194 typedef unsigned long mqs_taddr_t;
195 typedef long mqs_tword_t;
232 mqs_first_user_code = 100
239 typedef struct mqs_process_location {
241 char image_name [FILENAME_MAX];
243 } mqs_process_location;
249 mqs_lang_cplus =
'C',
258 mqs_pending_receives,
259 mqs_unexpected_messages
265 MQS_INVALID_PROCESS = -1
270 mqs_st_pending, mqs_st_matched, mqs_st_complete
275 err_silent_failure = mqs_first_user_code,
277 err_no_current_communicator,
322 err_failed_communicator,
329 err_all_communicators,
338 mqs_taddr_t unique_id;
339 mqs_tword_t local_rank;
353 mqs_tword_t desired_local_rank;
354 mqs_tword_t desired_global_rank;
356 mqs_tword_t desired_tag;
357 mqs_tword_t desired_length;
362 mqs_tword_t actual_local_rank;
363 mqs_tword_t actual_global_rank;
364 mqs_tword_t actual_tag;
365 mqs_tword_t actual_length;
376 char extra_text[5][64];
386 typedef void (*mqs_put_image_info_ft) (mqs_image *, mqs_image_info *);
388 typedef mqs_image_info * (*mqs_get_image_info_ft) (mqs_image *);
392 typedef mqs_process * (*mqs_get_process_ft) (mqs_job *, int);
395 typedef void (*mqs_put_job_info_ft) (mqs_job *, mqs_job_info *);
397 typedef mqs_job_info * (*mqs_get_job_info_ft) (mqs_job *);
401 typedef mqs_image * (*mqs_get_image_ft) (mqs_process *);
404 typedef int (*mqs_get_global_rank_ft) (mqs_process *);
407 typedef int (*mqs_find_function_ft) (mqs_image *,
char *, mqs_lang_code, mqs_taddr_t * );
410 typedef int (*mqs_find_symbol_ft) (mqs_image *,
char *, mqs_taddr_t * );
413 typedef void (*mqs_put_process_info_ft) (mqs_process *, mqs_process_info *);
415 typedef mqs_process_info * (*mqs_get_process_info_ft) (mqs_process *);
419 typedef mqs_job * (*mqs_get_process_job_ft) (mqs_process *);
421 typedef int (*mqs_get_process_identity_ft) (mqs_job *);
425 typedef void * (*mqs_malloc_ft) (size_t);
427 typedef void (*mqs_free_ft) (
void *);
441 typedef mqs_type * (*mqs_find_type_ft)(mqs_image *,
char *, mqs_lang_code);
447 typedef int (*mqs_field_offset_ft) (mqs_type *,
char *);
452 typedef int (*mqs_sizeof_ft) (mqs_type *);
468 typedef int (*mqs_fetch_data_ft) (mqs_process *, mqs_taddr_t, int,
void *);
471 typedef void (*mqs_target_to_host_ft) (mqs_process *,
const void *,
void *, int);
477 typedef void (*mqs_dprints_ft) (
const char *);
479 typedef char * (*mqs_errorstring_ft) (int);
486 mqs_malloc_ft mqs_malloc_fp;
487 mqs_free_ft mqs_free_fp;
488 mqs_dprints_ft mqs_dprints_fp;
489 mqs_errorstring_ft mqs_errorstring_fp;
490 mqs_put_image_info_ft mqs_put_image_info_fp;
491 mqs_get_image_info_ft mqs_get_image_info_fp;
492 mqs_put_process_info_ft mqs_put_process_info_fp;
493 mqs_get_process_info_ft mqs_get_process_info_fp;
495 mqs_put_job_info_ft mqs_put_job_info_fp;
496 mqs_get_job_info_ft mqs_get_job_info_fp;
501 typedef struct mqs_job_callbacks {
502 mqs_get_process_ft mqs_get_process_fp;
508 mqs_get_type_sizes_ft mqs_get_type_sizes_fp;
509 mqs_find_function_ft mqs_find_function_fp;
510 mqs_find_symbol_ft mqs_find_symbol_fp;
511 mqs_find_type_ft mqs_find_type_fp;
512 mqs_field_offset_ft mqs_field_offset_fp;
513 mqs_sizeof_ft mqs_sizeof_fp;
518 mqs_get_global_rank_ft mqs_get_global_rank_fp;
519 mqs_get_image_ft mqs_get_image_fp;
520 mqs_fetch_data_ft mqs_fetch_data_fp;
521 mqs_target_to_host_ft mqs_target_to_host_fp;
523 mqs_get_process_job_ft mqs_get_process_job_fp;
524 mqs_get_process_identity_ft mqs_get_process_identity_fp;
542 OMPI_DECLSPEC
extern char *mqs_version_string (
void);
543 OMPI_DECLSPEC
extern int mqs_version_compatibility(
void);
548 OMPI_DECLSPEC
extern int mqs_dll_taddr_width(
void);
551 OMPI_DECLSPEC
extern char * mqs_dll_error_string (
int);
586 OMPI_DECLSPEC
extern int mqs_image_has_queues (mqs_image *,
char **);
591 OMPI_DECLSPEC
extern void mqs_destroy_image_info (mqs_image_info *);
597 extern int mqs_setup_job (mqs_job *,
const mqs_job_callbacks *);
598 extern int mqs_destroy_job_info (mqs_job_info *);
616 OMPI_DECLSPEC
extern void mqs_destroy_process_info (mqs_process_info *);
623 OMPI_DECLSPEC
extern int mqs_process_has_queues (mqs_process *,
char **);
649 OMPI_DECLSPEC
extern int mqs_update_communicator_list (mqs_process *);
652 OMPI_DECLSPEC
extern int mqs_setup_communicator_iterator (mqs_process *);
655 OMPI_DECLSPEC
extern int mqs_get_communicator (mqs_process *,
mqs_communicator *);
663 OMPI_DECLSPEC
extern int mqs_get_comm_group (mqs_process *,
int *);
666 OMPI_DECLSPEC
extern int mqs_next_communicator (mqs_process *);
673 OMPI_DECLSPEC
extern int mqs_setup_operation_iterator (mqs_process *,
int);
685 extern int mqs_setup_new_process_iterator (mqs_process *);
686 extern int mqs_next_new_process (mqs_process *, mqs_process_location *);
691 extern int mqs_set_process_identity (mqs_process *,
int);
Definition: msgq_interface.h:516
Definition: msgq_interface.h:506
Definition: msgq_interface.h:484
Definition: msgq_interface.h:203
Definition: msgq_interface.h:349
Definition: msgq_interface.h:336