From 670ae864af0d876bb24e20338e3a7204219f2285 Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Wed, 10 Apr 2002 18:37:34 -0500 Subject: [svn-r5165] Purpose: Feature Description: Added comments that this is intended as an example of file driver. Added a macro detection at the end to flag if non-public definitions are used. (only check for H5private.h which is mostly likely used. Not bullet proof at all.) Platforms tested: eirene. --- src/H5FDmulti.c | 14 +++++++++++++- src/H5FDstdio.c | 20 ++++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index b554b88..901e379 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2001 NCSA + * Copyright (C) 1997-2002 NCSA * All rights reserved. * * Programmer: Robb Matzke @@ -9,6 +9,8 @@ * other file drivers depending on the purpose of the address * region being accessed. For instance, all meta-data could be * place in one file while all raw data goes to some other file. + * This also serves as an example of coding a complex file driver, + * therefore, it should not use any non-public definitions. */ #include #include @@ -1869,3 +1871,13 @@ open_members(H5FD_multi_t *file) return 0; } + + +#ifdef _H5private_H +/* + * This is not related to the functionality of the driver code. + * It is added here to trigger warning if HDF5 private definitions are included + * by mistake. The code should use only HDF5 public API and definitions. + */ +#error "Do not use HDF5 private definitions" +#endif diff --git a/src/H5FDstdio.c b/src/H5FDstdio.c index d292727..4085de7 100644 --- a/src/H5FDstdio.c +++ b/src/H5FDstdio.c @@ -1,11 +1,13 @@ /* - * Copyright © 1999-2001 NCSA + * Copyright (C) 1999-2002 NCSA * All rights reserved. * - * Programmer: Robb Matzke - * Wednesday, October 22, 1997 + * Programmer: Robb Matzke + * Wednesday, October 22, 1997 * - * Purpose: This is the Posix stdio.h I/O subclass of H5Flow. + * Purpose: This is the Posix stdio.h I/O subclass of H5Flow. + * It also serves as an example of coding a simple file driver, + * therefore, it should not use any non-public definitions. * * Notes: Ported to the new H5FD architecture on 10/18/99 - QAK * @@ -836,3 +838,13 @@ H5FD_stdio_flush(H5FD_t *_file) return(0); } + + +#ifdef _H5private_H +/* + * This is not related to the functionality of the driver code. + * It is added here to trigger warning if HDF5 private definitions are included + * by mistake. The code should use only HDF5 public API and definitions. + */ +#error "Do not use HDF5 private definitions" +#endif -- cgit v0.12