HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for metadata cache image message")
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * 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 COPYING file, which can be found at the root of the source code       *
 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
 * If you do not have access to either file, you may request a copy from     *
 * help@hdfgroup.org.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*-------------------------------------------------------------------------
 *
 * Created:     H5Ocache_image.c
 *              June 21, 2015
 *              John Mainzer
 *
 * Purpose:     A message indicating that a metadata cache image block
 *      of the indicated length exists at the specified offset
 *      in the HDF5 file.
 *
 *      The mdci_msg only appears in the superblock extension.
 *
 *-------------------------------------------------------------------------
 */
#include "H5Omodule.h"          /* This source code file is part of the H5O module */
#include "H5private.h"          /* Generic Functions                     */
#include "H5Eprivate.h"         /* Error handling                        */
#include "H5Fprivate.h"     /* Files                */
#include "H5FLprivate.h"        /* Free Lists                            */
#include "H5Opkg.h"             /* Object headers                        */
#include "H5MFprivate.h"        /* File space management                 */
/* Callbacks for message class */
static void *H5O__mdci_decode(H5F_t *f, H5O_t *open_oh, unsigned mesg_flags,
    unsigned *ioflags, size_t p_size, const uint8_t *p);
static herr_t H5O__mdci_encode(H5F_t *f, hbool_t disable_shared, 
    uint8_t *p, const void *_mesg);
static void *H5O__mdci_copy(const void *_mesg, void *_dest);
static size_t H5O__mdci_size(const H5F_t *f, hbool_t disable_shared, 
    const void *_mesg);
static herr_t H5O__mdci_free(void *mesg);
static herr_t H5O__mdci_delete(H5F_t *f, H5O_t *open_oh, void *_mesg);
static herr_t H5O__mdci_debug(H5F_t *f, const void *_mesg, FILE *stream,
    int indent, int fwidth);