00001
00002
00003
00004
00005
00006
00007 #ifndef AD_NFS_INCLUDE
00008 #define AD_NFS_INCLUDE
00009
00010 #include <unistd.h>
00011 #include <sys/types.h>
00012 #include <fcntl.h>
00013 #include "adio.h"
00014
00015 #ifdef HAVE_SIGNAL_H
00016 #include <signal.h>
00017 #endif
00018 #ifdef HAVE_SYS_TYPES_H
00019 #include <sys/types.h>
00020 #endif
00021 #ifdef HAVE_AIO_H
00022 #include <aio.h>
00023 #endif
00024 #ifdef HAVE_SYS_AIO_H
00025 #include <sys/aio.h>
00026 #endif
00027
00028
00029
00030 #if !defined(__REDIRECT) && defined(__USE_FILE_OFFSET64)
00031 #define aiocb aiocb64
00032 #endif
00033
00034 int ADIOI_NFS_aio(ADIO_File fd, void *buf, int len, ADIO_Offset offset,
00035 int wr, MPI_Request *request);
00036
00037 #ifdef SX4
00038 #define lseek llseek
00039 #endif
00040
00041 void ADIOI_NFS_Open(ADIO_File fd, int *error_code);
00042 void ADIOI_NFS_ReadContig(ADIO_File fd, void *buf, int count,
00043 MPI_Datatype datatype, int file_ptr_type,
00044 ADIO_Offset offset, ADIO_Status *status, int
00045 *error_code);
00046 void ADIOI_NFS_WriteContig(ADIO_File fd, void *buf, int count,
00047 MPI_Datatype datatype, int file_ptr_type,
00048 ADIO_Offset offset, ADIO_Status *status, int
00049 *error_code);
00050 void ADIOI_NFS_IwriteContig(ADIO_File fd, void *buf, int count,
00051 MPI_Datatype datatype, int file_ptr_type,
00052 ADIO_Offset offset, ADIO_Request *request, int
00053 *error_code);
00054 void ADIOI_NFS_IreadContig(ADIO_File fd, void *buf, int count,
00055 MPI_Datatype datatype, int file_ptr_type,
00056 ADIO_Offset offset, ADIO_Request *request, int
00057 *error_code);
00058 int ADIOI_NFS_ReadDone(ADIO_Request *request, ADIO_Status *status, int
00059 *error_code);
00060 int ADIOI_NFS_WriteDone(ADIO_Request *request, ADIO_Status *status, int
00061 *error_code);
00062 void ADIOI_NFS_ReadComplete(ADIO_Request *request, ADIO_Status *status, int
00063 *error_code);
00064 void ADIOI_NFS_WriteComplete(ADIO_Request *request, ADIO_Status *status,
00065 int *error_code);
00066 void ADIOI_NFS_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct, int
00067 *error_code);
00068 void ADIOI_NFS_WriteStrided(ADIO_File fd, void *buf, int count,
00069 MPI_Datatype datatype, int file_ptr_type,
00070 ADIO_Offset offset, ADIO_Status *status, int
00071 *error_code);
00072 void ADIOI_NFS_ReadStrided(ADIO_File fd, void *buf, int count,
00073 MPI_Datatype datatype, int file_ptr_type,
00074 ADIO_Offset offset, ADIO_Status *status, int
00075 *error_code);
00076 void ADIOI_NFS_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code);
00077 void ADIOI_NFS_Get_shared_fp(ADIO_File fd, int size, ADIO_Offset *shared_fp,
00078 int *error_code);
00079 void ADIOI_NFS_Set_shared_fp(ADIO_File fd, ADIO_Offset offset, int *error_code);
00080 void ADIOI_NFS_Resize(ADIO_File fd, ADIO_Offset size, int *error_code);
00081 int ADIOI_NFS_Feature(ADIO_File fd, int feature_flag);
00082
00083 #endif