1 | MODULE XML_TREE |
---|
2 | USE, INTRINSIC :: ISO_C_BINDING |
---|
3 | |
---|
4 | INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 |
---|
5 | |
---|
6 | SUBROUTINE xios_xml_tree_add_field(parent_, child_, child_id, child_id_size) BIND(C) |
---|
7 | import C_CHAR, C_INT, C_INTPTR_T |
---|
8 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
9 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
10 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
11 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
12 | END SUBROUTINE xios_xml_tree_add_field |
---|
13 | |
---|
14 | SUBROUTINE xios_xml_tree_add_grid(parent_, child_, child_id, child_id_size) BIND(C) |
---|
15 | import C_CHAR, C_INT, C_INTPTR_T |
---|
16 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
17 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
18 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
19 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
20 | END SUBROUTINE xios_xml_tree_add_grid |
---|
21 | |
---|
22 | SUBROUTINE xios_xml_tree_add_file(parent_, child_, child_id, child_id_size) BIND(C) |
---|
23 | import C_CHAR, C_INT, C_INTPTR_T |
---|
24 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
25 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
26 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
27 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
28 | END SUBROUTINE xios_xml_tree_add_file |
---|
29 | |
---|
30 | SUBROUTINE xios_xml_tree_add_axis(parent_, child_, child_id, child_id_size) BIND(C) |
---|
31 | import C_CHAR, C_INT, C_INTPTR_T |
---|
32 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
33 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
34 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
35 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
36 | END SUBROUTINE xios_xml_tree_add_axis |
---|
37 | |
---|
38 | SUBROUTINE xios_xml_tree_add_domain(parent_, child_, child_id, child_id_size) BIND(C) |
---|
39 | import C_CHAR, C_INT, C_INTPTR_T |
---|
40 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
41 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
42 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
43 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
44 | END SUBROUTINE xios_xml_tree_add_domain |
---|
45 | |
---|
46 | SUBROUTINE xios_xml_tree_add_fieldtofile(parent_, child_, child_id, child_id_size) BIND(C) |
---|
47 | import C_CHAR, C_INT, C_INTPTR_T |
---|
48 | INTEGER (kind = C_INTPTR_T), VALUE :: parent_ |
---|
49 | INTEGER (kind = C_INTPTR_T) :: child_ |
---|
50 | CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id |
---|
51 | INTEGER (kind = C_INT) , VALUE :: child_id_size |
---|
52 | END SUBROUTINE xios_xml_tree_add_fieldtofile |
---|
53 | |
---|
54 | SUBROUTINE xios_xml_tree_show(filename, filename_size) BIND(C) |
---|
55 | import C_CHAR, C_INT |
---|
56 | CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename |
---|
57 | INTEGER (kind = C_INT) , VALUE :: filename_size |
---|
58 | END SUBROUTINE xios_xml_tree_show |
---|
59 | |
---|
60 | SUBROUTINE xios_xml_parse_file(filename, filename_size) BIND(C) |
---|
61 | import C_CHAR, C_INT |
---|
62 | CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename |
---|
63 | INTEGER (kind = C_INT) , VALUE :: filename_size |
---|
64 | END SUBROUTINE xios_xml_parse_file |
---|
65 | |
---|
66 | SUBROUTINE xios_xml_parse_string(xmlcontent, xmlcontent_size) BIND(C) |
---|
67 | import C_CHAR, C_INT |
---|
68 | CHARACTER(kind = C_CHAR), DIMENSION(*) :: xmlcontent |
---|
69 | INTEGER (kind = C_INT) , VALUE :: xmlcontent_size |
---|
70 | END SUBROUTINE xios_xml_parse_string |
---|
71 | |
---|
72 | END INTERFACE |
---|
73 | |
---|
74 | CONTAINS ! Fonctions disponibles pour les utilisateurs. |
---|
75 | |
---|
76 | SUBROUTINE xml_tree_show(filename) |
---|
77 | CHARACTER(len = *), OPTIONAL, INTENT(IN) :: filename |
---|
78 | IF (PRESENT(filename)) THEN |
---|
79 | CALL xios_xml_tree_show(filename, len(filename)) |
---|
80 | ELSE |
---|
81 | CALL xios_xml_tree_show("NONE", -1) |
---|
82 | END IF |
---|
83 | END SUBROUTINE xml_tree_show |
---|
84 | |
---|
85 | SUBROUTINE xml_parse_file(filename) |
---|
86 | CHARACTER(len = *), INTENT(IN) :: filename |
---|
87 | CALL xios_xml_parse_file(filename, len(filename)) |
---|
88 | END SUBROUTINE xml_Parse_File |
---|
89 | |
---|
90 | SUBROUTINE xml_parse_string(xmlcontent) |
---|
91 | CHARACTER(len = *), INTENT(IN) :: xmlcontent |
---|
92 | CALL xios_xml_parse_string(xmlcontent, len(xmlcontent)) |
---|
93 | END SUBROUTINE xml_Parse_String |
---|
94 | |
---|
95 | END MODULE XML_TREE |
---|