awips2/pythonPackages/h5py/h5py/_errors.pxd

239 lines
10 KiB
Cython
Raw Normal View History

# This file is part of h5py, a Python interface to the HDF5 library.
#
# http://www.h5py.org
#
# Copyright 2008-2013 Andrew Collette and contributors
#
# License: Standard 3-clause BSD; see "license.txt" for full license terms
# and contributor agreement.
from api_types_hdf5 cimport *
# Auto-set exception. Returns 1 if exception set, 0 if no HDF5 error found.
cdef int set_exception() except -1
cdef extern from "hdf5.h":
ctypedef enum H5E_major_t:
H5E_NONE_MAJOR = 0, # special zero, no error
H5E_ARGS, # invalid arguments to routine
H5E_RESOURCE, # resource unavailable
H5E_INTERNAL, # Internal error (too specific to document)
H5E_FILE, # file Accessability
H5E_IO, # Low-level I/O
H5E_FUNC, # function Entry/Exit
H5E_ATOM, # object Atom
H5E_CACHE, # object Cache
H5E_BTREE, # B-Tree Node
H5E_SYM, # symbol Table
H5E_HEAP, # Heap
H5E_OHDR, # object Header
H5E_DATATYPE, # Datatype
H5E_DATASPACE, # Dataspace
H5E_DATASET, # Dataset
H5E_STORAGE, # data storage
H5E_PLIST, # Property lists
H5E_ATTR, # Attribute
H5E_PLINE, # Data filters
H5E_EFL, # External file list
H5E_REFERENCE, # References
H5E_VFL, # Virtual File Layer
# H5E_TBBT, # Threaded, Balanced, Binary Trees (not in 1.8)
H5E_TST, # Ternary Search Trees
H5E_RS, # Reference Counted Strings
H5E_ERROR, # Error API
H5E_SLIST # Skip Lists
ctypedef enum H5E_minor_t:
# Generic low-level file I/O errors
H5E_SEEKERROR # Seek failed
H5E_READERROR # Read failed
H5E_WRITEERROR # Write failed
H5E_CLOSEERROR # Close failed
H5E_OVERFLOW # Address overflowed
H5E_FCNTL # File control (fcntl) failed
# Resource errors
H5E_NOSPACE # No space available for allocation
H5E_CANTALLOC # Can't allocate space
H5E_CANTCOPY # Unable to copy object
H5E_CANTFREE # Unable to free object
H5E_ALREADYEXISTS # Object already exists
H5E_CANTLOCK # Unable to lock object
H5E_CANTUNLOCK # Unable to unlock object
H5E_CANTGC # Unable to garbage collect
H5E_CANTGETSIZE # Unable to compute size
H5E_OBJOPEN # Object is already open
# Heap errors
H5E_CANTRESTORE # Can't restore condition
H5E_CANTCOMPUTE # Can't compute value
H5E_CANTEXTEND # Can't extend heap's space
H5E_CANTATTACH # Can't attach object
H5E_CANTUPDATE # Can't update object
H5E_CANTOPERATE # Can't operate on object
# Function entry/exit interface errors
H5E_CANTINIT # Unable to initialize object
H5E_ALREADYINIT # Object already initialized
H5E_CANTRELEASE # Unable to release object
# Property list errors
H5E_CANTGET # Can't get value
H5E_CANTSET # Can't set value
H5E_DUPCLASS # Duplicate class name in parent class
# Free space errors
H5E_CANTMERGE # Can't merge objects
H5E_CANTREVIVE # Can't revive object
H5E_CANTSHRINK # Can't shrink container
# Object header related errors
H5E_LINKCOUNT # Bad object header link
H5E_VERSION # Wrong version number
H5E_ALIGNMENT # Alignment error
H5E_BADMESG # Unrecognized message
H5E_CANTDELETE # Can't delete message
H5E_BADITER # Iteration failed
H5E_CANTPACK # Can't pack messages
H5E_CANTRESET # Can't reset object count
# System level errors
H5E_SYSERRSTR # System error message
# I/O pipeline errors
H5E_NOFILTER # Requested filter is not available
H5E_CALLBACK # Callback failed
H5E_CANAPPLY # Error from filter 'can apply' callback
H5E_SETLOCAL # Error from filter 'set local' callback
H5E_NOENCODER # Filter present but encoding disabled
H5E_CANTFILTER # Filter operation failed
# Group related errors
H5E_CANTOPENOBJ # Can't open object
H5E_CANTCLOSEOBJ # Can't close object
H5E_COMPLEN # Name component is too long
H5E_PATH # Problem with path to object
# No error
H5E_NONE_MINOR # No error
# File accessability errors
H5E_FILEEXISTS # File already exists
H5E_FILEOPEN # File already open
H5E_CANTCREATE # Unable to create file
H5E_CANTOPENFILE # Unable to open file
H5E_CANTCLOSEFILE # Unable to close file
H5E_NOTHDF5 # Not an HDF5 file
H5E_BADFILE # Bad file ID accessed
H5E_TRUNCATED # File has been truncated
H5E_MOUNT # File mount error
# Object atom related errors
H5E_BADATOM # Unable to find atom information (already closed?)
H5E_BADGROUP # Unable to find ID group information
H5E_CANTREGISTER # Unable to register new atom
H5E_CANTINC # Unable to increment reference count
H5E_CANTDEC # Unable to decrement reference count
H5E_NOIDS # Out of IDs for group
# Cache related errors
H5E_CANTFLUSH # Unable to flush data from cache
H5E_CANTSERIALIZE # Unable to serialize data from cache
H5E_CANTLOAD # Unable to load metadata into cache
H5E_PROTECT # Protected metadata error
H5E_NOTCACHED # Metadata not currently cached
H5E_SYSTEM # Internal error detected
H5E_CANTINS # Unable to insert metadata into cache
H5E_CANTRENAME # Unable to rename metadata
H5E_CANTPROTECT # Unable to protect metadata
H5E_CANTUNPROTECT # Unable to unprotect metadata
H5E_CANTPIN # Unable to pin cache entry
H5E_CANTUNPIN # Unable to un-pin cache entry
H5E_CANTMARKDIRTY # Unable to mark a pinned entry as dirty
H5E_CANTDIRTY # Unable to mark metadata as dirty
H5E_CANTEXPUNGE # Unable to expunge a metadata cache entry
H5E_CANTRESIZE # Unable to resize a metadata cache entry
# Link related errors
H5E_TRAVERSE # Link traversal failure
H5E_NLINKS # Too many soft links in path
H5E_NOTREGISTERED # Link class not registered
H5E_CANTMOVE # Move callback returned error
H5E_CANTSORT # Can't sort objects
# Parallel MPI errors
H5E_MPI # Some MPI function failed
H5E_MPIERRSTR # MPI Error String
H5E_CANTRECV # Can't receive data
# Dataspace errors
H5E_CANTCLIP # Can't clip hyperslab region
H5E_CANTCOUNT # Can't count elements
H5E_CANTSELECT # Can't select hyperslab
H5E_CANTNEXT # Can't move to next iterator location
H5E_BADSELECT # Invalid selection
H5E_CANTCOMPARE # Can't compare objects
# Argument errors
H5E_UNINITIALIZED # Information is uinitialized
H5E_UNSUPPORTED # Feature is unsupported
H5E_BADTYPE # Inappropriate type
H5E_BADRANGE # Out of range
H5E_BADVALUE # Bad value
# B-tree related errors
H5E_NOTFOUND # Object not found
H5E_EXISTS # Object already exists
H5E_CANTENCODE # Unable to encode value
H5E_CANTDECODE # Unable to decode value
H5E_CANTSPLIT # Unable to split node
H5E_CANTREDISTRIBUTE # Unable to redistribute records
H5E_CANTSWAP # Unable to swap records
H5E_CANTINSERT # Unable to insert object
H5E_CANTLIST # Unable to list node
H5E_CANTMODIFY # Unable to modify record
H5E_CANTREMOVE # Unable to remove object
# Datatype conversion errors
H5E_CANTCONVERT # Can't convert datatypes
H5E_BADSIZE # Bad size for object
cdef enum H5E_direction_t:
H5E_WALK_UPWARD = 0 # begin deep, end at API function
H5E_WALK_DOWNWARD = 1 # begin at API function, end deep
ctypedef struct H5E_error_t:
H5E_major_t maj_num # major error number
H5E_minor_t min_num # minor error number
char *func_name # function in which error occurred
char *file_name # file in which error occurred
unsigned line # line in file where error occurs
char *desc # optional supplied description
char *H5Eget_major(H5E_major_t n)
char *H5Eget_minor(H5E_minor_t n)
herr_t H5Eclear() except *
ctypedef herr_t (*H5E_auto_t)(void *client_data)
herr_t H5Eset_auto(H5E_auto_t func, void *client_data)
herr_t H5Eget_auto(H5E_auto_t *func, void** client_data)
herr_t H5Eprint(void *stream)
ctypedef herr_t (*H5E_walk_t)(int n, H5E_error_t *err_desc, void* client_data)
herr_t H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
# --- Functions for managing the HDF5 error callback mechanism ---
ctypedef struct err_cookie:
# Defines the error handler state (callback and callback data)
H5E_auto_t func
void *data
# Set (via H5Eset_auto) the HDF5 error handler for this thread. Returns
# the old (presently installed) handler.
cdef err_cookie set_error_handler(err_cookie handler)