summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorFrank Baker <fbaker@hdfgroup.org>2003-10-21 21:13:32 (GMT)
committerFrank Baker <fbaker@hdfgroup.org>2003-10-21 21:13:32 (GMT)
commit72f1dea7fbfed8f4bf7583d65287e1eeeee56188 (patch)
treef47a0c712f45c14912ed6c204542e2935f96076b /doc
parentc5bb3515619bdcf9b45b7611971bc4b5d9808995 (diff)
downloadhdf5-72f1dea7fbfed8f4bf7583d65287e1eeeee56188.zip
hdf5-72f1dea7fbfed8f4bf7583d65287e1eeeee56188.tar.gz
hdf5-72f1dea7fbfed8f4bf7583d65287e1eeeee56188.tar.bz2
[svn-r7689]
Description: Integrate Fortran90 function descriptions Remove "Non-C APIs" sections; add "Fortran90 Interface" sections Remove note that Fortran APIs are described in a separate window Add H5Fget_freelist/h5fget_freelist_f Platforms tested: Safari, IE 5
Diffstat (limited to 'doc')
-rw-r--r--doc/html/RM_H5F.html364
1 files changed, 304 insertions, 60 deletions
diff --git a/doc/html/RM_H5F.html b/doc/html/RM_H5F.html
index c14c064..2dad429 100644
--- a/doc/html/RM_H5F.html
+++ b/doc/html/RM_H5F.html
@@ -81,21 +81,22 @@ documented below.
<li><a href="#File-Open">H5Fopen</a>
<li><a href="#File-Reopen">H5Freopen</a>
<li><a href="#File-Close">H5Fclose</a>
+ <li><a href="#File-Flush">H5Fflush</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
- <li><a href="#File-Flush">H5Fflush</a>
<li><a href="#File-IsHDF5">H5Fis_hdf5</a>
<li><a href="#File-Mount">H5Fmount</a>
<li><a href="#File-Unmount">H5Funmount</a>
+ <li><a href="#File-GetVfdHandle">H5Fget_vfd_handle</a>
+ <li><a href="#File-GetCreatePlist">H5Fget_create_plist</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
- <li><a href="#File-GetVfdHandle">H5Fget_vfd_handle</a>
- <li><a href="#File-GetCreatePlist">H5Fget_create_plist</a>
<li><a href="#File-GetAccessPlist">H5Fget_access_plist</a>
<li><a href="#File-GetObjCount">H5Fget_obj_count</a>
<li><a href="#File-GetObjIDs">H5Fget_obj_ids</a>
+ <li><a href="#File-GetFreespace">H5Fget_freespace</a>
</ul>
</td></tr>
</table>
@@ -119,11 +120,11 @@ documented below.
<td valign="top">
<ul>
+ <li><a href="#File-GetFreespace">H5Fget_freespace</a>
<li><a href="#File-GetObjCount">H5Fget_obj_count</a>
<li><a href="#File-GetObjIDs">H5Fget_obj_ids</a>
<li><a href="#File-GetVfdHandle">H5Fget_vfd_handle</a>
<li><a href="#File-IsHDF5">H5Fis_hdf5</a>
- <li><a href="#File-Mount">H5Fmount</a>
</ul>
</td>
@@ -131,6 +132,7 @@ documented below.
<td valign="top">
<ul>
+ <li><a href="#File-Mount">H5Fmount</a>
<li><a href="#File-Open">H5Fopen</a>
<li><a href="#File-Reopen">H5Freopen</a>
<li><a href="#File-Unmount">H5Funmount</a>
@@ -161,21 +163,22 @@ facilitate moving easily between them.</i>
<li><a href="#File-Open">h5fopen_f</a>
<li><a href="#File-Reopen">h5freopen_f</a>
<li><a href="#File-Close">h5fclose_f</a>
+ <li><a href="#File-Flush">h5fflush_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
- <li><a href="#File-Flush">h5fflush_f</a>
<li><a href="#File-IsHDF5">h5fis_hdf5_f</a>
<li><a href="#File-Mount">h5fmount_f</a>
<li><a href="#File-Unmount">h5funmount_f</a>
+ <li><a href="#File-GetVfdHandle">h5fget_vfd_handle_f</a>
+ <li><a href="#File-GetCreatePlist">h5fget_create_plist_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
- <li><a href="#File-GetVfdHandle">h5fget_vfd_handle_f</a>
- <li><a href="#File-GetCreatePlist">h5fget_create_plist_f</a>
<li><a href="#File-GetAccessPlist">h5fget_access_plist_f</a>
<li><a href="#File-GetObjCount">h5fget_obj_count_f</a>
<li><a href="#File-GetObjIDs">h5fget_obj_ids_f</a>
+ <li><a href="#File-GetFreespace">h5fget_freespace_f</a>
</ul>
</td></tr>
</table>
@@ -237,10 +240,20 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fclose_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fclose_f
+ <dd>
+ <pre>
+SUBROUTINE h5fclose_f(file_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fclose_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -345,10 +358,39 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a file identifier if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fcreate_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fcreate_f
+ <dd>
+ <pre>
+SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, &
+ creation_prp, access_prp)
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
+ INTEGER, INTENT(IN) :: access_flag ! File access flags
+ ! Possible values are:
+ ! H5F_ACC_RDWR_F
+ ! H5F_ACC_RDONLY_F
+ ! H5F_ACC_TRUNC_F
+ ! H5F_ACC_EXCL_F
+ ! H5F_ACC_DEBUG_F
+ INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp
+ ! File creation propertly
+ ! list identifier, if not
+ ! specified its value is
+ ! H5P_DEFAULT_F
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp
+ ! File access property list
+ ! identifier, if not
+ ! specified its value is
+ ! H5P_DEFAULT_F
+END SUBROUTINE h5fcreate_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -402,10 +444,23 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fflush_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fflush_f
+ <dd>
+ <pre>
+SUBROUTINE h5fflush_f(obj_id, new_file_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
+ INTEGER, INTENT(IN) :: scope ! Flag with two possible values:
+ ! H5F_SCOPE_GLOBAL_F
+ ! H5F_SCOPE_LOCAL_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fflush_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -439,10 +494,22 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a file access property list identifier if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fget_access_plist_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fget_access_plist_f
+ <dd>
+ <pre>
+SUBROUTINE h5fget_access_plist_f(file_id, fcpl_id, hdferr)
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER(HID_T), INTENT(OUT) :: fapl_id ! File access property list identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fget_access_plist_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -479,10 +546,74 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a file creation property list identifier if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fget_create_plist_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fget_create_plist_f
+ <dd>
+ <pre>
+SUBROUTINE h5fget_create_plist_f(file_id, fcpl_id, hdferr)
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER(HID_T), INTENT(OUT) :: fcpl_id ! File creation property list
+ ! identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fget_create_plist_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+
+
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_freespace" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="File-GetFreeSpace">H5Fget_freespace</a>
+<dt><strong>Signature:</strong>
+ <dd><em>hssize_t </em><code>H5Fget_freespace</code>(<em>hid_t</em> <code>file_id</code>)
+<dt><strong>Purpose:</strong>
+ <dd>Returns the amount of free space in a file.
+<dt><strong>Description:</strong>
+ <dd>Given the identifier of an open file, <code>file_id</code>,
+ <code>H5Fget_freespace</code> returns the amount of space that is
+ unused by any objects in the file.
+ <p>
+ Currently, the HDF5 library only tracks free space in a file from a
+ file open or create until that file is closed, so this routine will
+ only report the free space that has been created during that
+ interval.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>file_id</code>
+ <dd>IN: Identifier of a currently-open HDF5 file
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a the amount of free space in the file if successful;
+ otherwise returns a negative value.
+<dt><strong>Returns:</strong>
+ <dd>Returns a file creation property list identifier if successful;
+ otherwise returns a negative value.
+<dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f
+ <dd>
+ <pre>
+SUBROUTINE h5fget_freespace_f(file_id, free_space, hdferr)
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER(HSSIZE_T), INTENT(OUT) :: free_space ! Amount of free space in file
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fget_freespace_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -559,10 +690,28 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a the number of open objects if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fget_obj_count_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fget_obj_count_f
+ <dd>
+ <pre>
+SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr)
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are:
+ ! H5F_OBJ_FILE_F
+ ! H5F_OBJ_GROUP_F
+ ! H5F_OBJ_DATASET_F
+ ! H5F_OBJ_DATATYPE_F
+ ! H5F_OBJ_ALL_F
+ INTEGER, INTENT(OUT) :: obj_count ! Number of opened objects
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fget_obj_count_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -612,10 +761,32 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns number of objects placed into <code>obj_id_list</code> if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fget_obj_ids_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fget_obj_ids_f
+ <dd>
+ <pre>
+SUBROUTINE h5fget_obj_ids_f(file_id, obj_type, max_objs, obj_ids, hdferr)
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are:
+ ! H5F_OBJ_FILE_F
+ ! H5F_OBJ_GROUP_F
+ ! H5F_OBJ_DATASET_F
+ ! H5F_OBJ_DATATYPE_F
+ ! H5F_OBJ_ALL_F
+ INTEGER, INTENT(IN) :: max_objs ! Maximum number of object
+ ! identifiers to retrieve
+ INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: obj_ids
+ ! Array of requested object
+ ! identifiers
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fget_obj_ids_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -665,11 +836,18 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
+<dt><strong>Fortran90 Interface:</strong>
+ <dd>None.
+
<!--
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fget_vfd_handle_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
---> <!--
+ <pre>
+SUBROUTINE
+ </pre>
+-->
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -697,10 +875,23 @@ facilitate moving easily between them.</i>
<dd>When successful, returns a positive value, for <code>TRUE</code>,
or <code>0</code> (zero), for <code>FALSE</code>.
Otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fis_hdf5_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fis_hdf5_f
+ <dd>
+ <pre>
+SUBROUTINE h5fis_hdf5_f(name, status, hdferr)
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
+ LOGICAL, INTENT(OUT) :: status ! This parameter indicates
+ ! whether file is an HDF5 file
+ ! ( TRUE or FALSE )
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fis_hdf5_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -744,10 +935,22 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fmount_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fmount_f
+ <dd>
+ <pre>
+SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN):: name ! Group name at locationloc_id
+ INTEGER(HID_T), INTENT(IN) :: child_id ! File(to be mounted) identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5fmount_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -844,10 +1047,29 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a file identifier if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fopen_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5fopen_f
+ <dd>
+ <pre>
+SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, &
+ access_prp)
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
+ INTEGER, INTENT(IN) :: access_flag ! File access flags
+ ! Possible values are:
+ ! H5F_ACC_RDWR_F
+ ! H5F_ACC_RDONLY_F
+ INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp
+ ! File access property list
+ ! identifier
+END SUBROUTINE h5fopen_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -889,10 +1111,21 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a new file identifier if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5freopen_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5freopen_f
+ <dd>
+ <pre>
+SUBROUTINE h5freopen_f(file_id, new_file_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
+ INTEGER(HID_T), INTENT(OUT) :: new_file_id ! New file identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5freopen_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -935,10 +1168,21 @@ facilitate moving easily between them.</i>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5funmount_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+<dt><strong>Fortran90 Interface:</strong> h5funmount_f
+ <dd>
+ <pre>
+SUBROUTINE h5funmount_f(loc_id, name, child_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN):: name ! Group name at location loc_id
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
+END SUBROUTINE h5funmount_f
+ </pre>
+
+ <!--<dt><strong>Non-C API(s):</strong>
+ <dd>
+
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
@@ -986,7 +1230,7 @@ And in this document, the
Describes HDF5 Release 1.6.0, July 2003
</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
<!--
-document.writeln("Last modified: 3 October 2003");
+document.writeln("Last modified: 21 October 2003");
-->
</SCRIPT>