This source file includes following definitions.
- MPIR_ROMIO_Set_file_errhand
- MPIR_ROMIO_Get_file_errhand
1
2
3
4
5
6 #include "mpioimpl.h"
7 #include "adio_extern.h"
8
9 #ifdef MPICH
10
11
12
13
14
15 int MPIR_ROMIO_Get_file_errhand( MPI_File, MPI_Errhandler * );
16 int MPIR_ROMIO_Set_file_errhand( MPI_File, MPI_Errhandler );
17 void MPIR_Get_file_error_routine( MPI_Errhandler,
18 void (**)(MPI_File *, int *, ...),
19 int * );
20
21
22
23
24
25 int MPIR_ROMIO_Set_file_errhand( MPI_File file_ptr, MPI_Errhandler e )
26 {
27 if (file_ptr == MPI_FILE_NULL) ADIOI_DFLT_ERR_HANDLER = e;
28
29 else if (file_ptr->cookie != ADIOI_FILE_COOKIE) {
30 return MPI_ERR_FILE;
31 }
32
33 else
34 file_ptr->err_handler = e;
35 return 0;
36 }
37 int MPIR_ROMIO_Get_file_errhand( MPI_File file_ptr, MPI_Errhandler *e )
38 {
39 if (file_ptr == MPI_FILE_NULL) {
40 if (ADIOI_DFLT_ERR_HANDLER == MPI_ERRORS_RETURN)
41 *e = 0;
42 else {
43 *e = ADIOI_DFLT_ERR_HANDLER;
44 }
45 }
46
47 else if (file_ptr->cookie != ADIOI_FILE_COOKIE) {
48 return MPI_ERR_FILE;
49 }
50
51 else {
52 if (file_ptr->err_handler == MPI_ERRORS_RETURN)
53 *e = 0;
54 else
55 *e = file_ptr->err_handler;
56 }
57 return 0;
58 }
59
60 #endif