-
Notifications
You must be signed in to change notification settings - Fork 10
WdmEnt: Library for WDM Access
The purpose of this library is to provide a 64-bit compatible DLL for communication between an external program and WDM files. The DLL includes the entry points described below. Source code for the DLL is available here: https://github.com/respec/FORTRAN/tree/master/f90apps/WdmEnt
Test sequences are being developed for exercising all the entry points of the DLL from a dotNet application as well as from a Fortran program. For dotNet testing code, see https://github.com/respec/FORTRAN/tree/master/vbDrivers/WdmEntDriverVB. For Fortran testing code, see https://github.com/respec/FORTRAN/tree/master/f90apps/WdmEntDriverFortran.
The WdmEnt DLL is rebuilt using the Visual Studio solution file https://github.com/respec/FORTRAN/blob/master/f90apps/WdmEnt/WdmEnt15.sln. This solution compiles both debug and release versions of Win32 and x64 versions of WdmEnt.dll.
This solution uses the Intel FORTRAN Compiler from Intel Parallel Studio 2017. For distribution, the Intel redistributable files libifcoremd.dll and libmmd.dll are required along with the WdmEnt.dll.
F90_MSG (atcWDM) calls LOG_MSG, has entry point
F90_W99OPN (atcWDM) open unit 99 for writing messages
F90_W99CLO (atcWDM) close unit 99 for writing messages
F90_WDMOPN (IHM) given a wdm file name and a unit number, open it if it isn't already open
F90_WDMCLO (IHM) close a wdm file with a fortran close statement, mark records in buffer as not usable
F90_WDBOPN (IHM) given a wdm file name and a read-only flag, open the wdm file
F90_WDBOPNR (atcWDM) subroutine version of above, returns wdm file unit number and a retcod
F90_WDFLCL (atcWDM) close a wdm file using wdm code to remove it from the wdm buffer
F90_INQNAM (atcWDM) check to see if a file name is open
F90_WDDSNX (atcWDM) search for the next data set greater than or equal to dsn
F90_WDCKDT (atcWDM) check data set for existance and type
F90_WDTGET (atcWDM) get timeseries information from wdm file
F90_WDTPUT (IHM, atcWDM) put timeseries data into a wdm file
F90_WTFNDT (atcWDM) determine starting and ending dates of data in data set
F90_WDBSGC (atcWDM) get value of character search attribute for a dsn
F90_WDBSGI (IHM, atcWDM) get value of integer search attribute for a dsn
F90_WDBSGR (atcWDM) get value of real search attribute for a dsn
F90_WDBSAC (atcWDM) adds (or modifies) character search attribute on given dsn
F90_WDBSAI (atcWDM) adds (or modifies) integer search attribute on given dsn
F90_WDBSAR (atcWDM) adds (or modifies) real search attribute on given dsn
F90_WDLBAX (atcWDM) add a new data-set label, but no search attributes or data, sets pointers
F90_WDDSDL (atcWDM) delete a data set from the WDMSFL with no user interaction
F90_WDSAGY (atcWDM) gets general detail information about specified attribute
F90_GETATT (atcWDM) calls wdgtat to retrieve search attributes by position in label
LOG_MSG write message to error.fil
INQUIRE_NAME given a file name, return its unit number if it is open, else return first available unit number
GET_WDM_FUN given a file unit number, return this one if it isn't in use, else the next available