home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / zfamily.zip / zfamily / ZISFUNCS / SAMPLE / ZGENERAL.H < prev    next >
Text File  |  1993-11-16  |  3KB  |  83 lines

  1. /*
  2. ** /----------------------------------------------------------------------\
  3. ** |             IBM Z Family Reusable Libraries/2 (5641-504)             |
  4. ** |----------------------------------------------------------------------|
  5. ** | (C) Copyright International Business Machines Corporation 1993, 1994 |
  6. ** \----------------------------------------------------------------------/
  7. **
  8. **  Module  : ZGENERAL.H
  9. **  Author  : Dario de Judicibus (DEJUDICI at ROMEPPC)
  10. **            Alessandro Cavallini (CAVALLI at ROMEPPC)
  11. **            Giacomo Lenoci
  12. **  Created : 10 Jan 1992
  13. **  Updated : 11 Nov 1993
  14. **  Version : 2.33
  15. **  Content : General includes for all Z Family/2 DLLs
  16. **
  17. */
  18.  #ifndef zGENERAL
  19.  #define zGENERAL 0
  20.  
  21. /*
  22. **  Copyright and other strings for Z Family/2 libraries
  23. */
  24.  #define zPRODPREF   "FMZ"
  25.  #define zPRODNUMB   "5641-504"
  26.  #define zPRODNAME   "IBM Z Family Reusable Libraries/2"
  27.  #define zCOPYRIGHT  "(C) Copyright IBM Corporation 1993,1994"
  28.  
  29. /*
  30. **  String lengths
  31. */
  32.  #define zNAMESIZE   9
  33.  #define zLEVELSIZE  8
  34.  #define zSTAMPSIZE 26
  35.  
  36. /*
  37. **  The following values specify the minimum and maximum values for DLL and
  38. **  EXE error identifiers. This is a standard to be respected by all Z Family/2
  39. **  DLLs and EXEs.
  40. */
  41.  #define zNULLERRORID      0x0000
  42.  #define zEXEMINERRID      0x0001
  43.  #define zEXEMAXERRID      0x7FFF
  44.  #define zDLLMINERRID      0x8000
  45.  #define zDLLMAXERRID      0xFFFF
  46.  
  47. /*
  48. **  Exception handling types
  49. */
  50.  typedef  int         zSIGNAL          ; // Signal
  51.  typedef  void        (*zSIGHAND)(int) ; // Signal Handler Function
  52.  
  53.  #define  zREGISTERED (zSIGNAL)0L        // Signal was registered
  54.  
  55.  #define  zSignal(s,h) { if (signal((s),(h)) == SIG_ERR) return (s) ; }
  56.  
  57. /*
  58. **  Simple types and macros
  59. */
  60.  typedef unsigned zBIT ;             // Bit to be used  as flags
  61.  
  62.  #define  zIsOn(b)      ((b) != 0)   // Check if zBIT is ON (1)
  63.  #define  zIsOff(b)     ((b) == 0)   // Check if zBIT is OFF (0)
  64.  
  65. /*
  66. **  The following structure is used by all Z Family/2 DLLs to keep the library
  67. **  version information.
  68. */
  69.  typedef struct zLibVersion   // Library Version Structure definition
  70.  {
  71.    USHORT Version            ; // DLL Version (Major Functional Changes)
  72.    USHORT Release            ; // DLL Release (Minor Functional Changes)
  73.    USHORT Modification       ; // DLL Modification (Fixes)
  74.    CHAR   String[zLEVELSIZE] ; // DLL Level String
  75.    CHAR   Stamp[zSTAMPSIZE]  ; // DLL Compile-time Stamp
  76.    CHAR   Name[zNAMESIZE]    ; // DLL Name
  77.  }
  78.  zLIBVERS, *zPLIBVERS ;
  79.  
  80.  typedef struct zLibVersion LIBVERS, *PLIBVERS ; // Obsolete, for compatibility
  81.  
  82.  #endif
  83.