MISLIB
General Purpose & Utility
Routines for the Auditory Lab
 
Table of Contents
  1. Introduction
  2. Usage
  3. Description of Routines
  4. Examples of Use
  5. References
  6. Acknowledgements
  7. Error Codes
 
Ravi Kochhar
Department of Physiology
University of Wisconsin
Madison, Wi. 53706
 
Technical Report no. 14
Jan. 30, 2002
Rev. 1.03, July 24, 2003
 
Back to Computing Page

Back to Top

(1) Introduction

MISLIB is a library of general purpose routines which are needed frequently for common tasks in the Auditory Lab computing environment. MIS stands for "miscellaneous" because these are routines that don't fit well into other broad categories. Additional routines for the Auditory Lab are available in DAFLIB (data storage and retrieval), NUMLIB (numerical), DCPLIB (data collection), DSSLIB (hardware control) and PLTWIN and PLTMFC (graphing and plotting).

This document contains a description of the routines in MISLIB as well as suggestions for how to use them. It is a work in progess, so not all routines may be listed here.

The routines in MISLIB were first written for the Harris computer (mid 1970's), then converted for the PDP-11 (RSX-11M, early 1980's) and VAX/VMS (late 1980's) and finally for the 32-bit Windows system (late 1990's). In their present version, most of them work on both OpenVMS and Windows, but a few may work on one but not the other. These cases are noted in the description of the relevant routines.

Back to Top

(2) Usage

VAX/VMS: The routines described in this report are all in library MISLIB and may be linked to user programs as follows :

    LINK program,........,L:MISLIB/L

The library MISLIB resides in directory L: on the VAX.

Windows 9x/NT/2000/XP: The routines in this report are all in library MISLIB.LIB which presently resides in folder c:\audstuff\L on the c: drive.

When linking with a MS Visual Studio project (e.g.) you should select Project -> Settings -> Link Tab. Then select Category -> Input and in the "Additonal library path" field, enter c:\audstuff\L and in the "Object/library modules" field, insert mislib.lib at the beginning of the list of libraries for the current project.

You will also need to include the header file c:\audstuff\L\mislib.h at the start of your C or CPP file. To avoid hard-coding the folder location in the source file, include the header file as follows:

        #include "mislib.h"

and then specify the path in the project settings as follows:

In MS Visual Studio, select Project -> Settings -> C/C++ tab. Then select category -> Prepocessor and in the "Additional include paths" field, enter c:\audstuff\L, or append it to what is already there.

In most of the routines described below, an error code value NER is returned. The value of NER indicates whether the routine completed successfully or whether an error condition was detected. In all cases, a value of NER=0 indicates successful completion. If NER is non-zero, it can indicate a variety of problems. A complete list of error code descriptions can found in file c:\audstuff\d\error.txt

All integer arguments must be declared type INTEGER. On the VAX this means 4-byte integers. In a few cases the integer arguments must be explicitly declared as INTEGER*2 or as INTEGER*4. These cases are mentioned with each routine where applicable.

The routines can be called from any VMS or Win32 compatible language, e.g. FORTRAN or C or C++. From FORTRAN, they are all called as subroutines, e.g. "CALL PCUR(..)".

Examples of use are provided in a separate section below.

See below for a detailed description of the arguments of these routines.

Back to Top

(3) Description


	void DEFTER(NRD,NER)

	Initialize the console mode I/O routine

        NRD    : Terminal logical unit number
	NER    : Error code (normally zero)

        NRD must be supplied while NER will be returned.
        This routine should normally be called (once) before any other
        terminal I/O routines such as PCUR, ERAZE etc.
        For Windows, the value of MRD is ignored, but must still
        be supplied, you can set it to 0 (e.g.)

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void ERAZE(chCode)

        This routine can be used to erase all or part of the console
        window screen. At the moment, the Windows version ignores
        the value of chCode and always erases the entire screen.
        For VMS, chCode is a Fortran character string and is
        interpreted as follows:
          chCode : A Fortran Character String interpreted as:
                    'HL' = Erase the current line where cursor is
                    'BL' = Erase from beginning of line to cursor
                    'EL' = Erase from cursor to end of line
                    'HS' = Erase the entire screen
                    'BS' = Erase from beginninbg of screen to cursor
                    'ES' = Erase from cursor to end of screen
        chCode must be supplied.
        Routine DEFTER must called before this routine.
        For use from C/C++, use the equivalent routine ERAZEI (see below).

        Compatibility: VMS and Win32 (Fortran)
        Link: mislib.lib


	void ERAZEI(Code)

        This routine can be used to erase all or part of the console
        window screen. At the moment, the Windows version ignores
        the value of "Code" and always erases the entire screen.

        This routine is identical in function to the routine ERAZE (see
        above) with the difference that here "Code" is supplied as a
        zero-terminated C-style char array (or a Fortran integer or byte
        array). This variant is provided solely for convenience for
        C/C++ users.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void PCUR(chCode,IPX,IPY)

        Position the cursor to specified location on console or terminal
        screen.

          chCode : Positioning code (Fortran character string)
                   Can be one of the following:
                     'AB' = Cursor is positioned to absolute position
                     'RL' = Cursor is positioned to relative position
          IPX    : X-position (1 to 80)
          IPY    : Y-Position (1 to 24)

        All parameters must be supplied. The value of "chCode" is
        ignored in Windows but must still be supplied. Windows only
        supports chCode='AB' (i.e. absolute positioning).
        The position is specified from the upper left corner of
        the screen. Thus PCUR('AB',1,1) would position the cursor
        to the upper left corner of the screen, PCUR('AB',80,1)
        would position it to the upper right corner, and so on.
        Routine DEFTER must called before this routine.

        For C/C++ users, the equivalent routine PCURI is available (see below)

        Compatibility: VMS and Win32 (Fortran)
        Link: mislib.lib


	void PCURI(Code,IPX,IPY)

        Position the cursor to specified location on console or terminal
        screen.

        This routine is identical in function to the routine PCUR (see
        above) with the difference that here "Code" is supplied as a
        zero-terminated C-style char array (or a Fortran integer or byte
        array). This variant is provided solely for convenience for
        C/C++ users.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib

	void RALPHA(LEN,BBUF,NER)

        Read an alphanumeric string from the console/terminal
        at the current cursor position.

          LEN   :  Length of buffer to read (integer)
          BBUF  :  Byte array to hold buffer (or C-style char string)
          NER   :  Error or special key code

        LEN must be supplied, while BBUF and NER will be returned.
        The value of NER is interpreted as follows:
          NER=0  No error and no special key preseed
          NER=1  User pushed  key for first charcater
          NER=2  User poshed the CTRL-B key
          NER=3  User poshed the CTRL-Z key
          NER=5  Up-Arrow pressed
          NER=6  Down-Arrow pressed
          NER=7  Right-Arrow pressed
          NER=8  Left-Arrow pressed
          NER=9  CTRL-P preseed
          NER=10 CTRL-N preseed
          NER=11 CTRL-G preseed
          NER=12 CTRL-K preseed
          NER=13 Backspace Key preseed
        Routine DEFTER must called before this routine.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void YESNO(NER)

        This routine accepts a single character in response to 
        a Y/N query, and returns an integer code (NER).

          NER  : Integer code, interpreted as follows:
                 =1   "Y" or 'y' or  was pressed
                 =2   CTRL-B pressed
                 =3   CTRL-Z pressed
                 =4   'N' or 'n' pressed
                 =5   Up-Arrow pressed
                 =6   Down-Arrow pressed
                 =7   Right-Arrow pressed
                 =8   Left-Arrow pressed
                 =9   CTRL-P preseed
                 =10  CTRL-N preseed
                 =11  CTRL-G preseed
                 =12  CTRL-K preseed
        Routine DEFTER must called before this routine.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void RCHAR(BCH,NER)

        Read a single character or keystroke from the keyboard

          BCH   : Byte-buffer to hold char value
          NER   : Error/status code, normally zero

        BCH and NER will both be returned. The value of NER is
        interpreted as follows:
                 =0   No error
                 =5   Up-Arrow pressed
                 =6   Down-Arrow pressed
                 =7   Right-Arrow pressed
                 =8   Left-Arrow pressed
                 =10  Backspace preseed

        When called, this routine will return only after at least
        one key has been pressed.
        Routine DEFTER must called before this routine.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib

	void BELL()

        Rings the computer bell or beeper once.
        Routine DEFTER must called before this routine.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void WCHAR(BCH,NER)

        Write a single character to console screen at current cursor position

          BCH   : Byte-buffer that holds char value
          NER   : Error/status code, normally zero

        BCH must be supplied, while NER will be returned.
        Routine DEFTER must called before this routine.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void GCUR(IPX,IPY)

        Get the current cursor position

          IPX   : Cursor X-position (1 to 80)
          IPY   : Cursor Y-position (1 to 24)

        Routine DEFTER must be called before this one.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void WSTRNG(LEN,cBuf,NER)

        Write character string at current character position

          LEN    : Number of characters in "cBuf"
          cBuf   : String to be written out (zero-terminated int array)
          NER    : Error code, normally zero

        LEN and cBuf must be supplied, while NER will be returned.
        Routine DEFTER must be called before this one.

        Compatibility: VMS and Win32
        Header: mislib.h
        Link: mislib.lib


	void MISF_GET_PROGRAM_PATH(chPath,NER)

        Get the path (folder name) from where current program was launched

          chPath : Folder Name (Character String)
          NER    : Error code, normally zero

        Both chPath and NER will be returned. If the size of chPath is
        too small to hold the path then the path will be truncated.
        The trailing slash is not included. Thus the routine may return
        "c:\myprogram" but not "c:\myprogram\"

        This routine returns the path as a Fortran character string. 
        For use with C/C++ use the equivalent routine MISC_GET_PROGRAM_PATH
        which is described below.

        Compatibility: Win32 (Fortran)
        Link: mislib.lib


	void MISC_GET_PROGRAM_PATH(szPath,iMax,NER)

        Get the path (folder name) from where current program was launched

          szPath : Folder Name (zero-terminated char array)
          iMax   : Max size of "szPath" (integer pointer)
          NER    : Error code, normally zero (integer pointer)

        iMax must be supplied, and is normally the size of the array "szPath"
        Both szPath and NER will be returned. If the size of szPath is
        too small to hold the path then a non-zero value will be returned
        in NER.
        The trailing slash is not included. Thus the routine may return
        "c:\myprogram" but not "c:\myprogram\"

        This routine returns the path as a C-style zero terminated char array. 
        This routine can be called from either C/C++ or Fortran, though
        use with Fortran use the equivalent routine MISF_GET_PROGRAM_PATH
        which is described above and may be more convenient.

        Compatibility: Win32
        Header: mislib.h
        Link: mislib.lib


	void MISF_GTFNAME(nMax,chPath,NER)

        Get the path (folder name) for current user for storing temporary files.

          nMax   : Max number of chars that "chPath" can hold
          chPath : Folder Name (Character String)
          NER    : Error code, normally zero

        nMax must be supplied, while chPath and NER
        will both be returned. 
        The trailing slash may not be included. Thus the routine may return
        "c:\temp" or "c:\temp\"

        This routine returns the path as a Fortran character string. 
        For use with C/C++ use the equivalent routine MISC_GTFNAME
        which is described below.

        Compatibility: Win32 (Fortran)
        Link: mislib.lib


	void MISC_GTFNAME(nMax,szPath,NER)

        Get the path (folder name) for current user for storing temporary files.

          nMax   : Max number of chars that "szPath" can hold (type int*)
          szPath : Folder Name (zero-terminated char array)
          NER    : Error code, normally zero (type int*)

        nMax must be supplied, while szPath and NER
        will both be returned. 
        The trailing slash may not be included. Thus the routine may return
        "c:\temp" or "c:\temp\"

        This routine returns the path as a zero-terminated C-style char array. 
        This routine can be called from either C/C++ or Fortran, though
        for use with Fortran use the equivalent routine MISF_GTFNAME
        which is described above and may be more convenient.

        Compatibility: Win32
        Header: mislib.h
        Link: mislib.lib

	void CVRVTI(VALV,VALI,NER)

        Convert a single-precision value from VAX to IEEE format

          VALV   : Real value in VAX format
          VALI   : Real value in IEEE format
          NER    : Error code, normally zero (integer pointer)

        VALV must be supplied, while VALI and NER will be returned.
        Note: VMS stores floating point values in a format that is 
        internally different than MS Windows, which uses the IEEE
        representation. This routine allows the formats to be converted
        to allow reading data files that were created on the other system.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void CVRITV(VALI,VALV,NER)

        Convert a single-precision value from IEEE to VAX format

          VALI   : Real value in IEEE format
          VALV   : Real value in VAX format
          NER    : Error code, normally zero (integer pointer)

        VALI must be supplied, while VALV and NER will be returned.
        Note: VMS stores floating point values in a format that is 
        internally different than MS Windows, which uses the IEEE
        representation. This routine allows the formats to be converted
        to allow reading data files that were created on the other system.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void MISF_CVTW(BUF,NPTS)

        Convert floating point values in array "BUF" from VMS to IEEE format

          BUF    : Real array with values in VMS format
          NPTS   : Number of values in "BUF" (integer)

        BUF and NPTS must be supplied, while the converted values will
        be returned back in the same array (BUF) in IEEE format.
        Note: VMS stores floating point values in a format that is 
        internally different than MS Windows, which uses the IEEE
        representation. This routine allows the formats to be converted
        to ease reading data files that were created on the other system.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void MISF_CWTV(BUF,NPTS)

        Convert floating point values in array "BUF" from IEEE to VMS format

          BUF    : Real array with values in IEEE format
          NPTS   : Number of values in "BUF" (integer)

        BUF and NPTS must be supplied, while the converted values will
        be returned back in the same array (BUF) in VMS format.
        Note: VMS stores floating point values in a format that is 
        internally different than MS Windows, which uses the IEEE
        representation. This routine allows the formats to be converted
        to ease reading data files that were created on the other system.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void CUC(chSTR,NC)

        Convert the specified character string to all upper case letters.

          chSTR  : Character string (Fortran character type)
          NC     : Number of characters in chSTR (integer)

        chSTR and NC must be supplied. The resulting (all upper case) string
        will replace the original contents of "chSTR". For example, if
        chSTR contains "abXY25z" it will be returned as "ABXY25Z".

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib


	void CUCI(ISTR,NC)

        Convert the specified character string to all upper case letters.

          ISTR   : Character string (zero-terminated byte array)
          NC     : Number of characters in ISTR (integer)

        ISTR and NC must be supplied. The resulting (all upper case) string
        will replace the original contents of ISTR. For example, if
        ISTR contains "abXY25z" it will be returned as "ABXY25Z".

        This routine is the same as CUC (above) except here the character
        string is supplied as zero-terminated integer (or byte) array. This
        is for convenience in calling it from C/C++ routines. Fortran users
        may find it easier to work with CUC instead.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	int NONBLK(chSTR)

        Get the number of Non-blank characters in specified string.

          chSTR  : Character string (Fortran character type)

        chSTR must be supplied. The return value of the function will
        be the number of non-blank characters in the string (including
        any embedded blanks). Thus, if chSTR="ABC" the value will be 3,
        if chSTR="ABCD  " the value will be 4, if chSTR=" ABCD" the
        value will be 5, and if chSTR="AB CD" the value will be 5.
        This is because leading and embedded blanks are counted, while
        trailing blanks are not.

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib


	int SMINMX(X,NUM,SMIN,SMAX)

        Get the min and max values in a floating point array.

          X      : Floating Point Array (pointer to float)
          NUM    : Number of values in "X" (integer pointer)
          SMIN   : Minimum value in "X" (float pointer)
          SMAX   : Maximum value in "X" (float pointer)

        X and NUM must be supplied, while SMIN and SMAX will be returned.
        Note that all floating point variables are single-precision
        (float in C/C++ and REAL in Fortran).

        The value returned is 1 for success and anything other than 1
        indicates an error.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void DFTYPE(LUN,NTYP,NER)

        Determine Data File Type.

          LUN    : Logical Unit Number assigned to File (integer)
          NTYP   : Data File Type Code (integer)
          NER    : Error code, normally zero (integer)

        LUN must be supplied, while NTYP and NER will be returned.
        This routine is typically called after a call to some other
        routine that opens a data file (e.g. INITDF (see DAFLIB) or
        INITSC). It returns an integer code NTYP whose value indicates
        the format of data in the file. A partial list of possible values
        for NTYP is as follows:
               NTYP        Format
                 0         Unknown
                 1         VMS format EDF
                 2         VMS format Statpk file
                21         Harris format EDF
                22         Harris format Statpk file
                31         Windows format EDF
                32         .wav format


        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void CRSTAT(SFNAME,MAXE,LUN,NER)

        Create a new Statpk data file on disk and open it.

          SFNAME : Statpk file name to be created (Fortran character string)
          MAXE   : Number of directory entries to plan for
          LUN    : Logical Unit Number to assign to File (integer)
          NER    : Error code, normally zero (integer)

        SFNAME, MAXE and LUN must be supplied, while NER will be
        returned. This routine will create a new Statpk file with
        the specified name, and reserve enough space in its header
        to hold MAXE data sets. The folder name where the file should
        be created should be supplied as part of SFNAME.

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib


	void SOPN(LUN,SFNAME,NER)

        Open a Statpk data file for full access and check its validity.

          LUN    : Logical Unit Number to assign to File (integer)
          SFNAME : Statpk file name (Fortran character string)
          NER    : Error code, normally zero (integer)

        LUN and SFNAME must be supplied, while NER will be returned.
        This routine will open the Statpk file for full (read/write)
        access and check whether it is a valid Statpk format file or not.
        It is necessary to call this routine before certain other routines
        that operate on Statpk data, e.g. DLSTAT or GSIDL etc.

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib


	void STATFT(LUN,NSTFT,NER)

        Determine "Type" of currently open Statpk file

          LUN    : Logical Unit Number assigned to File (integer)
          NSTFT  : Statpk file type (integer)
          NER    : Error code, normally zero (integer)

        LUN must be supplied, while NSTFT and NER will be returned.
        NSTFT=1 means Windows format, =2 means VMS format Statpk file.
        The Statpk file must have been opened earlier by a call to SOPN.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void DLSTAT(LUN,NUMDS,NER)

        Delete specified data set from current Statpk File.

          LUN    : Logical Unit Number assigned to File (integer)
          NUMDS  : Data set number to be deleted (integer)
          NER    : Error code, normally zero (integer)

        LUN and NUMDS must be supplied, while NER will be returned.
        The Statpk file must have been opened earlier by a call to SOPN.

        Compatibility: Win32 and VMS
        Header: mislib.h
        Link: mislib.lib


	void GSIDL(LUN,MAXI,CIDL,NUMI,NER)

        Get the list of ID's for all data sets in current Statpk file.

          LUN    : Logical Unit Number assigned to File (integer)
          MAXI   : Max number of ID's that "CIDL" may contain (integer)
          CIDL   : Character Array to hold ID's (Fortran Char Array)
          NUMI   : Number of ID's returned in CIDL (integer)
          NER    : Error code, normally zero (integer)

        LUN and MAXI must be supplied, while CIDL, NUMI and NER will
        be returned. The Statpk file must have been opened earlier by a 
        call to SOPN.

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib


	void MSTID(LUN,SID,NDS,NER)

        Search for specified Data Set ID in current Statpk file.

          LUN    : Logical Unit Number assigned to File (integer)
          SID    : Data set ID to be macthed (Fortran char string)
          NDS    : Data set number if ID was matched successfully (integer)
          NER    : Error code, normally zero (integer)

        LUN and SID must be supplied, while NDS and NER will be returned.
        The Statpk file must have been opened earlier by a call to SOPN.

        Compatibility: Win32 and VMS (Fortran)
        Link: mislib.lib

Back to Top

(4) Examples of Use

The following are examples of C and FORTRAN programs used to fetch some basic information from a data file and a data set. In these examples the checking for error codes (NER) has been omitted for brevity. In a real case, you should always check the value of NER after every call to a MISLIB routine which returns NER.

<...The examples will be added in a future version...>

Back to Top

(5) References

  1. "DAFLIB - Directory and Data File Structure for the Neurophysiology Auditory Computer Laboratory", R.Kochhar and Y.Samad, Oct. 1977.

  2. "Data File Structure", Conversion to the PDP-11 : Report number 2, R.Kochhar, Sept. 23, 1981.

  3. "Data File Structure - Part 2", Conversion to the PDP-11 : Report number 6, R.Kochhar, Apr. 27, 1982.

  4. "DAFLIB", Conversion to the PDP-11 : Report number 4, R.Kochhar, M.Clark and R.Kettner, May 6, 1982.

  5. "Unit Data Storage - Part 1", Conversion to the PDP-11 : Report number 10, Sept. 2, 1982.

  6. "Unit Data Storage - Part 2", Conversion to the PDP-11 : Report number 15, July 7, 1983.

  7. "STATUS Table Formats", R.Kochhar, Programming note no. 18, Dept. of Physiology, Nov. 1999

  8. "RA - Response Area Data Collection", R.Kochhar, Technical Report no. 3, Dept. of Physiology, Oct. 1996

  9. "FF - Virtual Free Field Data Collection", R.Kochhar, Technical Report no. 19, Dept. of Physiology, Aug. 1997

  10. "COM - Cat Oculomotor Data Collection", J.Sekulski, Dept. of Physiology, Oct. 1996.

  11. "BC - Behaving Cat Data Collection", R.Kochhar, Technical Report no. 16, Dept. of Physiology, Aug. 1992.
Back to Top

(6) Acknowledgements

The work described in this report has been carried out under the overall supervision of Dr. W.S.Rhode.

Supported in part by a grant from NIH.

Back to Top

(7) Error Codes

	  Code	Interpretation
	  ----	--------------
	  101	Data set not found in data file
          102 Invalid schema name
             .This data set is not suitable for RAP analysis
          103 INITSC or HINITSC must be called first
          105 This is not an integer*4 variable
          106 Variable name not found in schema
          107 This is not a type REAL variable
          108 This is not a repeating group name
          109 This variable is not type "character"
          110 Cannot divide by zero
          115 Invalid number of repeating group occurrences
          116 RG did not occur this many times
          117 Variable does not occur within specified RG
          118 File not suitable for RAP analysis
          121 Supplied buffer is too small
          122 Number of spikes exceeds buffer size
          123 Variable value is undefined
          127 Invalid repeating group length
          128 This variable is not type "vector string"
          129 This variable is not type "vector RG"
          130 Error converting Harris character to VAX character string
          131 Error converting Harris integer to VAX integer
          132 Error converting Harris floating point to VAX floating pt.
          133 Invalid repeating group occurrence number
          134 Number of points is too small
          135 This is not Tuning Curve data
          137 Frequency increment is improper
          139 Character variable number out of range
          140 Improper Schema name for this operation
          146 Impossible error, consult programmer
          147 Error converting from integer array to character string
          148 Unable to obtain value of variable
          149 Unable to extract unit number from DSID
          151 Too few or too many points
          152 Number of points must be power of two
          153 Invalid time resolution
          155 Trial number is outside range specified by user
          159 Specified character string is of improper length
          160 Syntax error
          161 Variable value is out of range
          162 Too many windows
          163 Too few columns
          164 Invalid spike number
          165 Improper analysis for this program
          166 Value must be positive, non-zero
          167 Invalid message number
          168 Invalid Unit Event Timer channel number
          173 Indexing is improper
          174 Unable to form a new DSID
          175 Work buffer is too small, try again, or consult programmer
          201 Parameter 1 is invalid
          202 Parameter 2 is invalid
          203 Parameter 3 is invalid
          221 Too few entries in directory
          222 No entries were deleted
          223 The FROM number cannot exceed the TO number
          224 Invalid data set number
          225 INITDF or INITRF must be called first
          226 Entry already exists in directory
          228 Data File directory is full
          229 Bad Directory Header
          231 Unable to read Event Flag, consult programmer, or try again
          232 Unable to create VMS mailbox, consult programmer
          241 Bad data in file
          250 File Read error
          251 File Write error
          252 File Open error
             .Please use the DIR command to check for file existence
             .Also make sure you are authorized to access the file
          253 Invalid Logical Unit Number
          254 File name already includes directory spec
          264 Invalid pointer into buffer
          265 Too many real variables, Buffer is full
          266 Too many character variables, Buffer is full
          267 Variable already defined as a different data type
          272 Too many points in Tuning Curve, buffer overflow
          274 Improper number of values in line-table buffer
          275 Unable to get logical unit number
          280 Improper data storage format
          285 No space to create temp. array, out of memory space
          286 Invalid array size
          289 Array is undefined
          290 Array sizes are not the same
          291 Invalid array number
          292 This array already exists with a different size
          294 A user file is already assigned to this number
             .File open failed, try a different number
          301 Improper STATUS table type
             .This data may not be suitable for RAP analysis
          303 Invalid histogram type
          307 Improper number of RA variables
          308 Invalid number of plots along X-direction
          310 Improper number of repetitions
          311 Improper number of sequences
          312 Improper number of STATUS table pointers
          314 Invalid time base
          315 Invalid stimulus duration
          316 Invalid repetition interval
          317 Improper number of DSS's
          318 Invalid master DSS number
          319 No data recorded at this stimulus point
          320 Invalid value of sync. coefficient
          321 Invalid Rise/Fall envelope shape
          322 Invalid units for duration time
          323 Invalid units for repetition interval
          324 Invalid units for delay
          325 Invalid units for time base
          328 Invalid repetition number
          329 Only Type-2 STATUS table supported for this operation
          330 STATUS Tables for the two data sets must be the same TYPE
          331 Number of reps for the two data sets must be the same
          332 Stimulus duration for the two data sets must be the same
          333 Repetition interval for the two data sets must be the same
          334 Number of RA variables for the two data sets must be same
          335 Variable increments for the two data sets must be the same
          337 Invalid variable type for this operation
          338 Array element is out of bounds
          339 Only Type-1 STATUS table supported for this operation
          340 No data within specified time range
             .Please pick a different range
          355 Invalid number of histogram bins
          356 No binning frequency specified
          357 This is not one of the RA variables
          360 Variable number is out of range
          362 Spike time cannot be negative
          363 Invalid variable name
          375 Invalid binning frequency
          410 Destination file format is improper
          430 Keyword not found in database
          443 Invalid time format, consult programmer, or try again
Back to Top

If you have questions or suggestions about this document, please send them by e-mail to kochhar@physiology.wisc.edu.

Return to Documentation Page
Return to Computing Page
Back to The Basement
This page last modified on : July 24, 2003