Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
file-handle.c File Reference
#include <stdlib.h>
#include <string.h>
#include <H5Ipublic.h>
#include <H5Tpublic.h>
#include "file-handle.h"
#include "status.h"
#include "util.h"
+ Include dependency graph for file-handle.c:

Go to the source code of this file.

Defines

#define FILE_HANDLE_MAGIC   0xFEEDFEED

Functions

int mhdf_check_valid_file (FileHandle *handle, mhdf_Status *status)
FileHandlemhdf_alloc_FileHandle (hid_t hdf_table, hid_t id_type, mhdf_Status *status)

Define Documentation

#define FILE_HANDLE_MAGIC   0xFEEDFEED

MOAB, a Mesh-Oriented datABase, is a software component for creating, storing and accessing finite element mesh data.

Copyright 2004 Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

Definition at line 24 of file file-handle.c.

Referenced by mhdf_alloc_FileHandle(), and mhdf_check_valid_file().


Function Documentation

FileHandle* mhdf_alloc_FileHandle ( hid_t  hdf_table,
hid_t  id_type,
mhdf_Status status 
)

Definition at line 43 of file file-handle.c.

References FILE_HANDLE_MAGIC, struct_FileHandle::hdf_handle, struct_FileHandle::id_type, struct_FileHandle::magic, struct_FileHandle::max_id, mhdf_malloc(), mhdf_setFail(), and struct_FileHandle::open_handle_count.

Referenced by mhdf_createFile(), and mhdf_openFileWithOpt().

{
    FileHandle* rval;

    /* check that id_type is sane */
    if( id_type == -1 )
    {
        id_type = H5T_NATIVE_ULONG;
    }
    else if( H5T_INTEGER != H5Tget_class( id_type ) )
    {
        mhdf_setFail( status, "Invalid ID type: not integer class" );
        return 0;
    }

    rval = (FileHandle*)mhdf_malloc( sizeof( FileHandle ), status );
    if( !rval ) return NULL;

    rval->magic             = FILE_HANDLE_MAGIC;
    rval->hdf_handle        = hdf_table;
    rval->open_handle_count = 0;
    rval->id_type           = id_type;
    rval->max_id            = 0L;
    return rval;
}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines