1
2
3
4
5
6
7
8
9 #ifndef AD_NTFS_INCLUDE
10 #define AD_NTFS_INCLUDE
11
12 #include <sys/types.h>
13 #include <fcntl.h>
14 #include "adio.h"
15
16 #ifdef HAVE_INT64
17 #define DWORDLOW(x) ( (DWORD) ( x & (__int64) 0xFFFFFFFF ) )
18 #define DWORDHIGH(x) ( (DWORD) ( (x >> 32) & (__int64) 0xFFFFFFFF ) )
19 #define DWORDTOINT64(x,y) ( (__int64) ( ( (__int64 x) << 32 ) + (__int64) y ) )
20 #else
21 #define DWORDLOW(x) x
22 #define DWORDHIGH(x) 0
23 #define DWORDTOINT64(x,y) x
24 #endif
25
26 int ADIOI_NTFS_aio(ADIO_File fd, void *buf, int len, ADIO_Offset offset,
27 int wr, void *handle);
28
29 void ADIOI_NTFS_Open(ADIO_File fd, int *error_code);
30 void ADIOI_NTFS_Close(ADIO_File fd, int *error_code);
31 void ADIOI_NTFS_ReadContig(ADIO_File fd, void *buf, int count,
32 MPI_Datatype datatype, int file_ptr_type,
33 ADIO_Offset offset, ADIO_Status *status, int
34 *error_code);
35 void ADIOI_NTFS_WriteContig(ADIO_File fd, void *buf, int count,
36 MPI_Datatype datatype, int file_ptr_type,
37 ADIO_Offset offset, ADIO_Status *status, int
38 *error_code);
39 void ADIOI_NTFS_IwriteContig(ADIO_File fd, void *buf, int count,
40 MPI_Datatype datatype, int file_ptr_type,
41 ADIO_Offset offset, ADIO_Request *request, int
42 *error_code);
43 void ADIOI_NTFS_IreadContig(ADIO_File fd, void *buf, int count,
44 MPI_Datatype datatype, int file_ptr_type,
45 ADIO_Offset offset, ADIO_Request *request, int
46 *error_code);
47 int ADIOI_NTFS_ReadDone(ADIO_Request *request, ADIO_Status *status, int
48 *error_code);
49 int ADIOI_NTFS_WriteDone(ADIO_Request *request, ADIO_Status *status, int
50 *error_code);
51 void ADIOI_NTFS_ReadComplete(ADIO_Request *request, ADIO_Status *status, int
52 *error_code);
53 void ADIOI_NTFS_WriteComplete(ADIO_Request *request, ADIO_Status *status,
54 int *error_code);
55 void ADIOI_NTFS_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct, int
56 *error_code);
57 void ADIOI_NTFS_IwriteStrided(ADIO_File fd, void *buf, int count,
58 MPI_Datatype datatype, int file_ptr_type,
59 ADIO_Offset offset, ADIO_Request *request, int
60 *error_code);
61 void ADIOI_NTFS_Flush(ADIO_File fd, int *error_code);
62 void ADIOI_NTFS_Resize(ADIO_File fd, ADIO_Offset size, int *error_code);
63
64 #define FORMAT_MESSAGE_MIN_SIZE 100
65 #define ADIOI_NTFS_ERR_MSG_MAX FORMAT_MESSAGE_MIN_SIZE
66 void ADIOI_NTFS_Strerror(int error, char *errMsg, int errMsgLen);
67
68 #endif