/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright by The HDF Group. * * All rights reserved. * * * * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the LICENSE file, which can be found at the root of the source code * * distribution tree, or in https://www.hdfgroup.org/licenses. * * If you do not have access to either file, you may request a copy from * * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ package hdf.hdf5lib.callbacks; import static org.hdfgroup.javahdf5.hdf5_h.*; import java.lang.foreign.MemorySegment; import org.hdfgroup.javahdf5.*; /** * Information class for link callback for H5Piterate. * */ public interface H5P_iterate_cb extends org.hdfgroup.javahdf5.H5P_iterate_t.Function { /** * @ingroup JCALLBK * * application callback for each property list * * @param plist the ID for the property list being iterated over * @param name the name of the current property list * @param op_data the operator data passed in to H5Piterate * * @return operation status * A. Zero causes the iterator to continue, returning zero when all * attributes have been processed. * B. Positive causes the iterator to immediately return that positive * value, indicating short-circuit success. The iterator can be * restarted at the next attribute. * C. Negative causes the iterator to immediately return that value, * indicating failure. The iterator can be restarted at the next * attribute. */ int apply(long id, MemorySegment name, MemorySegment iter_data); }