source: XMLIO_V2/dev/common/src/fortran/file_interface.f90 @ 300

Last change on this file since 300 was 300, checked in by ymipsl, 12 years ago

nouvelle version de developpement de xios

  • nouvelle interface fortran
  • recodage complet de la couche de communication
  • et bien d'autres choses...

YM

File size: 3.1 KB
Line 
1MODULE FILE_INTERFACE
2   USE, INTRINSIC :: ISO_C_BINDING
3   
4   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
5   
6      SUBROUTINE cxios_set_file_name(file_hdl, name, name_size) BIND(C)
7         USE ISO_C_BINDING
8         INTEGER  (kind = C_INTPTR_T), VALUE        :: file_hdl
9         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name
10         INTEGER  (kind = C_INT)     , VALUE        :: name_size
11      END SUBROUTINE cxios_set_file_name
12
13      SUBROUTINE cxios_set_file_description(file_hdl, description, description_size) BIND(C)
14         USE ISO_C_BINDING
15         INTEGER  (kind = C_INTPTR_T), VALUE        :: file_hdl
16         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: description
17         INTEGER  (kind = C_INT)     , VALUE        :: description_size
18      END SUBROUTINE cxios_set_file_description
19     
20      SUBROUTINE cxios_set_file_name_suffix(file_hdl, name_suffix, name_suffix_size) BIND(C)
21         USE ISO_C_BINDING
22         INTEGER  (kind = C_INTPTR_T), VALUE        :: file_hdl
23         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: name_suffix
24         INTEGER  (kind = C_INT)     , VALUE        :: name_suffix_size
25      END SUBROUTINE cxios_set_file_name_suffix
26
27      SUBROUTINE cxios_set_file_output_freq(file_hdl, output_freq, output_freq_size) BIND(C)
28         USE ISO_C_BINDING
29         INTEGER  (kind = C_INTPTR_T), VALUE        :: file_hdl
30         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: output_freq
31         INTEGER  (kind = C_INT)     , VALUE        :: output_freq_size
32      END SUBROUTINE cxios_set_file_output_freq
33
34      SUBROUTINE cxios_set_file_output_level(file_hdl, output_level) BIND(C)
35         USE ISO_C_BINDING
36         INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
37         INTEGER (kind = C_INT)     , VALUE :: output_level
38      END SUBROUTINE cxios_set_file_output_level
39
40      SUBROUTINE cxios_set_file_enabled(file_hdl, enabled) BIND(C)
41         USE ISO_C_BINDING
42         INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
43         LOGICAL (kind = C_BOOL)    , VALUE :: enabled
44      END SUBROUTINE cxios_set_file_enabled
45   
46      SUBROUTINE cxios_file_handle_create(ret, idt, idt_size) BIND(C)
47         USE ISO_C_BINDING
48         INTEGER  (kind = C_INTPTR_T)               :: ret
49         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
50         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
51      END SUBROUTINE cxios_file_handle_create
52
53      SUBROUTINE cxios_file_valid_id(ret, idt, idt_size) BIND(C)
54         USE ISO_C_BINDING
55         LOGICAL  (kind = C_BOOL)                   :: ret
56         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
57         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
58      END SUBROUTINE cxios_file_valid_id
59
60     SUBROUTINE cxios_set_file_type(file_hdl, type, type_size) BIND(C)
61         USE ISO_C_BINDING
62         INTEGER  (kind = C_INTPTR_T), VALUE        :: file_hdl
63         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type
64         INTEGER  (kind = C_INT)     , VALUE        :: type_size
65      END SUBROUTINE cxios_set_file_type
66     
67   END INTERFACE
68   
69END MODULE FILE_INTERFACE
Note: See TracBrowser for help on using the repository browser.