# Object Headers

    haddr_t
    H5O_new (hdf5_file_t *f, intn nrefs, size_t size_hint)

    	Creates a new empty object header and returns its address.
    	The SIZE_HINT is the initial size of the data portion of the
    	object header and NREFS is the number of symbol table entries
    	that reference this object header (normally one).

    	If SIZE_HINT is too small, then at least some default amount
    	of space is allocated for the object header.

    intn				        /*num remaining links		*/
    H5O_link (hdf5_file_t *f,		/*file containing header	*/
    	  haddr_t addr,			/*header file address		*/
    	  intn adjust)			/*link adjustment amount	*/

    size_t
    H5O_sizeof (hdf5_file_t *f,		/*file containing header	*/
    	    haddr_t addr,		/*header file address		*/
                H5O_class_t *type,		/*message type or H5O_ANY	*/
    	    intn sequence)		/*sequence number, usually zero	*/

    	Returns the size of a particular instance of a message in an
    	object header.  When an object header has more than one
    	instance of a particular message type, then SEQUENCE indicates
    	which instance to return.

    void *
    H5O_read (hdf5_file_t *f,		/*file containing header	*/
    	  haddr_t addr,			/*header file address		*/
    	  H5G_entry_t *ent,		/*optional symbol table entry	*/
    	  H5O_class_t *type,		/*message type or H5O_ANY	*/
    	  intn sequence,		/*sequence number, usually zero	*/
    	  size_t size,			/*size of output message	*/
    	  void *mesg)			/*output buffer			*/

    	Reads a message from the object header into memory.

    const void *
    H5O_peek (hdf5_file_t *f,		/*file containing header	*/
              haddr_t addr,			/*header file address		*/
    	  H5G_entry_t *ent,		/*optional symbol table entry	*/
    	  H5O_class_t *type,		/*type of message or H5O_ANY	*/
    	  intn sequence)		/*sequence number, usually zero	*/

    haddr_t					/*new heap address		*/
    H5O_modify (hdf5_file_t *f,		/*file containing header	*/
                haddr_t addr,		/*header file address		*/
    	    H5G_entry_t *ent,		/*optional symbol table entry	*/
    	    hbool_t *ent_modified,	/*entry modification flag	*/
    	    H5O_class_t *type,		/*message type			*/
    	    intn overwrite,		/*sequence number or -1		*/
    	    void *mesg)			/*the message			*/

    ===========================================
    Last Modified:  8 July 1998 (technical content)
    Last Modified:  28 April 2000 (included in HDF5 Technical Notes)
    HDF Help Desk:  hdfhelp@ncsa.uiuc.edu