diff options
Diffstat (limited to 'src/H5PLpkg.h')
-rw-r--r-- | src/H5PLpkg.h | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/src/H5PLpkg.h b/src/H5PLpkg.h deleted file mode 100644 index 616bd23..0000000 --- a/src/H5PLpkg.h +++ /dev/null @@ -1,127 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * 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 files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#ifndef H5PL_PACKAGE -#error "Do not include this file outside the H5PL package!" -#endif - -#ifndef _H5PLpkg_H -#define _H5PLpkg_H - -/* Include private header file */ -#include "H5PLprivate.h" - -#define MAX_PATH_NUM 16 - -/****************************/ -/* Macros for supporting - * both Windows and Unix */ -/****************************/ - -/* Handle for dynamic library */ -#ifdef H5_HAVE_WIN32_API -/* Handle for dynamic library */ -#define H5PL_HANDLE HINSTANCE - -/* Get a handle to a plugin library. Windows: TEXT macro handles Unicode strings */ -#define H5PL_OPEN_DLIB(S) LoadLibraryEx(TEXT(S), NULL, LOAD_WITH_ALTERED_SEARCH_PATH) - -/* Get the address of a symbol in dynamic library */ -#define H5PL_GET_LIB_FUNC(H,N) GetProcAddress(H,N) - -/* Close dynamic library */ -#define H5PL_CLOSE_LIB(H) FreeLibrary(H) - -/* Declare error string */ -#define H5PL_ERROR DWORD dw; char *error - -/* Clear error - nothing to do */ -#define H5PL_CLR_ERROR - -/* Print error message */ -#define H5PL_CHECK_ERR(R) { \ - if(R==NULL) { \ - dw = GetLastError(); \ - sprintf(error, "%ld", dw); \ - } \ - else error = NULL; \ -} - -#else -/* Handle for dynamic library */ -#define H5PL_HANDLE void * - -/* Get a handle to a plugin library. Windows: TEXT macro handles Unicode strings */ -#define H5PL_OPEN_DLIB(S) dlopen(S, RTLD_NOW|RTLD_LAZY) - -/* Get the address of a symbol in dynamic library */ -#define H5PL_GET_LIB_FUNC(H,N) dlsym(H,N) - -/* Close dynamic library */ -#define H5PL_CLOSE_LIB(H) dlclose(H) - -/* Declare error string */ -#define H5PL_ERROR char *error - -/* Clear error */ -#define H5PL_CLR_ERROR dlerror() - -/* Print error message */ -#define H5PL_CHECK_ERR(R) { \ - if(R==NULL) { \ - error = dlerror(); \ - } \ - else error = NULL; \ -} - -#endif - -/****************************/ -/* Local typedefs */ -/****************************/ - -/* Type for the list of info for opened plugin libraries */ -typedef struct H5PL_table_t { - H5PL_type_t pl_type; /* plugin type */ - int pl_id; /* ID for the plugin */ - H5PL_HANDLE handle; /* plugin handle */ -} H5PL_table_t; - -/****************************/ -/* Local variables */ -/****************************/ - -/* Table for opened plugin libraries */ -static size_t H5PL_table_alloc_g = 0; -static size_t H5PL_table_used_g = 0; -static H5PL_table_t *H5PL_table_g = NULL; - -/* Table of location paths for plugin libraries */ -static char *path_table[MAX_PATH_NUM]; -static size_t num_paths = 0; -static htri_t path_found = FALSE; - -/******************************/ -/* Package Private Prototypes */ -/******************************/ - -/* Function prototypes for H5PL package scope */ -H5_DLL htri_t H5PL_find(H5PL_type_t plugin_type, int type_id, char *dir, void **info); -H5_DLL htri_t H5PL_open(H5PL_type_t pl_type, char *libname, int plugin_id, void **pl_info); -H5_DLL htri_t H5PL_search_table(H5PL_type_t plugin_type, int type_id, void **info); -H5_DLL herr_t H5PL_close(H5PL_HANDLE handle); - -#endif /* _H5PLpkg_H */ - |