home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / zfamily.zip / zfamily / ZISFUNCS / HELP / ZISFUNCS.INF (.txt) next >
OS/2 Help File  |  1993-11-17  |  52KB  |  1,472 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Document Content ΓòÉΓòÉΓòÉ
  3.  
  4. This document is made up of five parts: 
  5.  
  6. Library Card 
  7.    General information card for this library. 
  8.  
  9. Installation Guide 
  10.    How to install the Z Family/2 reusable library and how to use the installed 
  11.    files. 
  12.  
  13. User's Guide 
  14.    How to integrate the library with your application and how to call the 
  15.    corresponding functions and macros. 
  16.  
  17. Reference Manual 
  18.    Reference information for the functions, macros and structures provided by 
  19.    this library. 
  20.  
  21. Sample Program 
  22.    How to call and use the sample program. 
  23.  
  24.  
  25. ΓòÉΓòÉΓòÉ 2. Library card ΓòÉΓòÉΓòÉ
  26.  
  27.  
  28. ΓòÉΓòÉΓòÉ <hidden> Dummy ΓòÉΓòÉΓòÉ
  29.  
  30. Package:      ZISFUNCS 
  31.  
  32. Library:      FMZISFUN.DLL 
  33.  
  34. Version:      3.20 
  35.  
  36. Requirements: 
  37.  
  38.   OS/2 2.x, C Set/2 or IBM C/C++ Tools 2.0, Toolkit 2.x. 
  39.  
  40. Trademarks 
  41.  
  42.  
  43. ΓòÉΓòÉΓòÉ <hidden> Dummy ΓòÉΓòÉΓòÉ
  44.  
  45.  
  46. ΓòÉΓòÉΓòÉ <hidden> Dummy ΓòÉΓòÉΓòÉ
  47.  
  48. Contact:      Dr. Dario de Judicibus 
  49. IBMMAIL:      ITIBM98W 
  50. Internet:     ddj@vnet.ibm.com 
  51.  
  52.  
  53. ΓòÉΓòÉΓòÉ 3. Installation Guide ΓòÉΓòÉΓòÉ
  54.  
  55. Select one: 
  56.  
  57. Library installation 
  58.  
  59. The expanded tree 
  60.  
  61.  
  62. ΓòÉΓòÉΓòÉ 3.1. Library installation ΓòÉΓòÉΓòÉ
  63.  
  64. Select one: 
  65.  
  66. Γûá Package content
  67. Γûá How to install the library
  68.  
  69.  
  70. ΓòÉΓòÉΓòÉ 3.1.1. Package content ΓòÉΓòÉΓòÉ
  71.  
  72. FMZISFUN.DLL is distributed as a package containing the following files: 
  73.  
  74.    ZISFUNCS.ZIP            A ZIP compressed file which contains the library 
  75.                            modules. 
  76.    ZISFUNCS.INF            The on-line documentation for this reusable library. 
  77.  
  78.  
  79. ΓòÉΓòÉΓòÉ 3.1.2. How to install the library ΓòÉΓòÉΓòÉ
  80.  
  81. To install the libraries, you have to perform the following steps: 
  82.  
  83.   1. Locate the directory of the CD-ROM, remote partition, or diskette where 
  84.      ZISFUNCS.ZIP is placed. Let's say, for example, P:\ZFAMILY. 
  85.  
  86.   2. Move to the directory on your system where you want to install the 
  87.      reusable library. For example, move to D:\REUSE. 
  88.  
  89.   3. Unpack the ZIP file by using option -d. Please, note that such option must 
  90.      be lower case. In our case, issue the following command: 
  91.  
  92.            [D:\REUSE]  PKUNZIP2 -d P:\ZFAMILY\ZISFUNCS.ZIP
  93.  
  94.   4. When the command is terminated, a new directory is available on your 
  95.      system. In our example, P:\ZFAMILY\ZIS. Such a directory contains several 
  96.      other sub-directories which contains all the files needed to use the 
  97.      reusable library. The directory tree is described in Library Tree. The 
  98.      content of each directory is described in detail in Content of 
  99.      directories. 
  100.  
  101.   5. In order to use the library, you must now move the unpacked files to the 
  102.      appropriate directories in your development environment. In particular 
  103.      move 
  104.  
  105.     o the headers from .\ZIS\H to any directory listed in your INCLUDE 
  106.       environment variable. 
  107.  
  108.     o the import and/or object libraries from .\ZIS\LIB and .\ZIS\DEVEL to any 
  109.       directory listed in your LIB environment variable. 
  110.  
  111.     o the dynamic link libraries from .\ZIS\DLL to any directory listed in your 
  112.       LIBPATH environment variable. 
  113.  
  114.      You may also want to move this file from .\ZIS\HELP to any directory 
  115.      listed in your BOOKSHELF environment variable. 
  116.  
  117.  Now you are ready to work with the ZIS reusable library. 
  118.  
  119.  
  120. ΓòÉΓòÉΓòÉ 3.2. The expanded tree ΓòÉΓòÉΓòÉ
  121.  
  122. Select one: 
  123.  
  124. Γûá Library tree
  125. Γûá Content of directories
  126.  
  127.  
  128. ΓòÉΓòÉΓòÉ 3.2.1. Library tree ΓòÉΓòÉΓòÉ
  129.  
  130. When you unpack ZISFUNCS.ZIP, a new sub-directory is created on your system: 
  131. ZIS. Its structure is the following: 
  132.  
  133.   current dir
  134.   Γöé
  135.   Γöé ZIS
  136.   Γö£ΓöÇΓöÉ
  137.   Γöé Γö£ΓöÇΓöÇΓöÇΓöÇ H
  138.   . Γö£ΓöÇΓöÇΓöÇΓöÇ DLL
  139.   . Γö£ΓöÇΓöÇΓöÇΓöÇ LIB
  140.   . Γö£ΓöÇΓöÇΓöÇΓöÇ MRI
  141.   . Γö£ΓöÇΓöÇΓöÇΓöÇ HELP
  142.   . Γö£ΓöÇΓöÇΓöÇΓöÇ DEVEL
  143.   . ΓööΓöÇΓöÇΓöÇΓöÇ SAMPLE
  144.  
  145.  
  146. ΓòÉΓòÉΓòÉ 3.2.2. Content of directories ΓòÉΓòÉΓòÉ
  147.  
  148. Hereinafter is the list of the directories that are created when ZISFUNCS.ZIP 
  149. is unpacked as described in How to install the library.  The content of each 
  150. directory is described in detail. 
  151.  
  152. The H sub-directory contains all the header files (H  and RCH) to be added to 
  153. the INCLUDE path of the application development environment. Move all the files 
  154. from this directory to the appropriate path in your environment. 
  155.  
  156.    Important If you use other Z Family/2 reusable libraries in your development 
  157.    environment, ensure that you are using the latest version of the zgeneral.h 
  158.    header file, which is available in all  the library packages. You may do 
  159.    that by comparing the update dates in the prologue of the header file. 
  160.  
  161.        /*
  162.        **  Module  : ZGENERAL.H
  163.        **  Authors : Dario de Judicibus (DEJUDICI at ROMEPPC)
  164.        **       Alessandro Cavallini (CAVALLI at ROMEPPC)
  165.        **       Giacomo Lenoci
  166.        **  Created : 10 Jan 1992
  167.        **  Updated : 01 Feb 1993
  168.        **  Version : 2.30
  169.        **  Content : General includes for all Z Family/2 DLLs
  170.        **  Product : Z Family/2 Project (5641-504) FMZ
  171.        **
  172.        */
  173.  
  174.  The DLL sub-directory contains all the dynamic link library or libraries (DLL) 
  175.  to be added to the LIBPATH path of the application development environment and 
  176.  of the run environment. Move all the files from this directory to the 
  177.  appropriate path in your environment. 
  178.  
  179.  The LIB sub-directory contains all the import library or libraries (LIB) to be 
  180.  added to the LIB path of the application development environment. Move all the 
  181.  files from this directory to the appropriate path in your environment. 
  182.  
  183.  The MRI sub-directory contains all the translatable objects, that is texts 
  184.  that might be translated to other languages (see Machine Readable Information 
  185.  for additional information). 
  186.  
  187.  The HELP sub-directory contains the documentation of libraries, and a news 
  188.  file (ZISNEWS.DOC) containing modifications applied at the last minute and not 
  189.  available in the on-line manuals, and the history of changes. 
  190.  
  191.  The DEVEL sub-directory contains the object library or libraries (LIB) and the 
  192.  sample of the DEF and MAK files that can be used to generate your own DLL(s) 
  193.  (see Create your own library for details). 
  194.  
  195.  The SAMPLE sub-directory contains the source code and the executable code of 
  196.  the sample program. It doesn't contain the DLL file(s) too, anyway. So, to run 
  197.  the sample, you must ensure that all the required DLL files have been copied 
  198.  to any directory of your LIBPATH. Such files are not only those pertaining to 
  199.  this library, but also those belonging on any pre-requisite Z Family/2 
  200.  Reusable Library. 
  201.  
  202.    Important If the library depends on other Z Family/2 reusable libraries, all 
  203.    the files belonging to the pre-requisite libraries will be part of the 
  204.    dependent library only in the beta versions of the package. 
  205.  
  206.    The final version won't contain any pre-requisite file.  That is true for 
  207.    the SAMPLE sub-directory too. So, you won't be able to recompile the sample 
  208.    program unless you install the pre-requisite packages too. 
  209.  
  210.  
  211. ΓòÉΓòÉΓòÉ 4. User's Guide ΓòÉΓòÉΓòÉ
  212.  
  213. Select one: 
  214.  
  215.  General information 
  216.  
  217.  Basic topics 
  218.  
  219.  Advanced topics 
  220.  
  221.  
  222. ΓòÉΓòÉΓòÉ 4.1. General information ΓòÉΓòÉΓòÉ
  223.  
  224. Select one: 
  225.  
  226. Γûá Library overview
  227. Γûá Include files
  228. Γûá Requirements
  229. Γûá Development rules
  230. Γûá Trademarks
  231.  
  232.  
  233. ΓòÉΓòÉΓòÉ 4.1.1. Library overview ΓòÉΓòÉΓòÉ
  234.  
  235. This DLL contains a set of functions to verify if a certain object belongs or 
  236. not to a specific class. They should be considered as an extension of ANSI C 
  237. is-macros. 
  238.  
  239. In the current version most of functions can be used to check if a character 
  240. string represents a certain type of number according to a specific notation. 
  241.  
  242. FMZISFUN.DLL is NLS enabled, that is recognizes the current settings for the 
  243. decimal and thousand separators. 
  244.  
  245. For details see 
  246.  
  247. Γûá Library Purpose
  248. Γûá Definitions and notations
  249. Γûá Algebra
  250.  
  251.  
  252. ΓòÉΓòÉΓòÉ 4.1.2. Include files ΓòÉΓòÉΓòÉ
  253.  
  254. The system include files that are requested to use this library are: 
  255.  
  256.  #define INCL_PM
  257.  #define INCL_DOS
  258.  #include <os2.h>
  259.  #include <ctype.h>
  260.  #include <stdio.h>
  261.  #include <stdlib.h>
  262.  #include <string.h>
  263.  #include <signal.h>
  264.  
  265. The specific include files that are requested to use this library are: 
  266.  
  267.  zgeneral.h 
  268.       Definitions and types for all Z Family/2 Reusable Libraries. 
  269.  
  270.  zisdefs.h 
  271.       Macro and constants for this library. 
  272.  
  273.  zistypes.h 
  274.       Type definitions for this library. 
  275.  
  276.  zisproto.h 
  277.       Function prototypes for this library. 
  278.  
  279.  Note:  The specific includes must be included in the order as listed above. 
  280.  
  281.  
  282. ΓòÉΓòÉΓòÉ 4.1.3. Requirements ΓòÉΓòÉΓòÉ
  283.  
  284. FMZISFUN.DLL is intended to run under OS/2 2.x.  It doesn't run under previous 
  285. versions of OS/2. 
  286.  
  287. FMZISFUN.DLL has been compiled by IBM C/C++ Tools 2.0 and statically linked to 
  288. the C run-time libraries. Then you don't need such libraries to use it. 
  289.  
  290. Notes 
  291.  
  292. FMZISFUN.DLL functions can be called either from C and from C++. In addition, 
  293. an exception handler is registered for each exported function. 
  294.  
  295. This version of DLL is NLS enabled since it uses DosQueryCtryInfo() to obtain 
  296. the current settings for the thousand and the decimal separators. 
  297.  
  298. A sample program that shows how to use FMZISFUN.DLL functions is provided in 
  299. the DLL's package too. A short description of that sample is available in 
  300. Sample program tutorial. 
  301.  
  302. The sample program uses the IMPORTS statement in its .DEF to import the 
  303. FMZISFUN.DLL functions. File FMZISFUN.LIB is provided too as an alternative to 
  304. such solution. 
  305.  
  306. It is also possible to create a clone of FMZISFUN.DLL by using the files 
  307. available in the DEVEL sub-directory of the tree created by exploding the ZIP 
  308. file distributed with the package (see Create your own library). 
  309.  
  310.  
  311. ΓòÉΓòÉΓòÉ 4.1.4. Development rules ΓòÉΓòÉΓòÉ
  312.  
  313. To safely integrate any Z Family/2 reusable library in your application, you 
  314. need to follow a simple set of rules: 
  315.  
  316.   1. Do not use names beginning by a lower case "z" for 
  317.  
  318.     o functions 
  319.     o macros 
  320.     o global structures 
  321.     o types 
  322.     o constants 
  323.     o #define 
  324.     o global variables 
  325.  
  326.   2. Do not use names beginning by a "z" for 
  327.  
  328.     o include files (.H) 
  329.     o dynamic link libraries (.DLL) 
  330.  
  331.  Follow these rules and your code can take full advantage of the services 
  332.  provided by the current and future Z Family Reusable Libraries/2. 
  333.  
  334.  
  335. ΓòÉΓòÉΓòÉ 4.1.5. Trademarks ΓòÉΓòÉΓòÉ
  336.  
  337. IBM Z Family/2 Reusable Libraries is copyrighted by IBM Corporation. 
  338.  
  339. IBM Corporation trademarks 
  340.  
  341.  CUA
  342.  Common User Access
  343.  IBM
  344.  IBM C Set/2
  345.  IBM C/C++ Tools
  346.  Operating System/2
  347.  OS/2
  348.  Presentation Manager
  349.  SAA
  350.  Systems Application Architecture
  351.  Workplace Shell
  352.  
  353. Other trademarks 
  354.  
  355.  Intel is a trademark of the Intel Corporation.
  356.  Microsoft and Windows are trademarks of the Microsoft Corporation.
  357.  PKZIP and PKUNZIP are trademarks of the PKWare Corporation.
  358.  80386 is a trademark of the Intel Corporation.
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ 4.2. Basic topics ΓòÉΓòÉΓòÉ
  362.  
  363. Select one: 
  364.  
  365. Γûá Library Purpose
  366. Γûá Definitions and notations
  367. Γûá Algebra
  368.  
  369.  
  370. ΓòÉΓòÉΓòÉ 4.2.1. Library purpose ΓòÉΓòÉΓòÉ
  371.  
  372. FMZISFUN.DLL extends the services provided by the built-in C macros isxxxxx(), 
  373. hereinafter called is-macros. That is, it allows to check if a certain string, 
  374. integer, real, or in general any value satisfies certain requirements. 
  375.  
  376. Currently two different set of services are supported: 
  377.  
  378.  o checking for strings representing numbers 
  379.  o checking for integers belonging to a specific range of values 
  380.  
  381.  Additional services will be available in future. 
  382.  
  383.  This kind of services are useful to check, for instance, if a certain value 
  384.  loaded from an entry field of a user interface is a valid number according to 
  385.  a certain notation. 
  386.  
  387.  Note:  Library functions do not perform any string conversion, but check the 
  388.  matching between the string value and the specified requirements. 
  389.  
  390.  
  391. ΓòÉΓòÉΓòÉ 4.2.2. Definitions and notations ΓòÉΓòÉΓòÉ
  392.  
  393. The following definitions are used in this document. 
  394.  
  395.  Flat notation 
  396.       Just digits, without thousands separators. Decimal separator is accepted 
  397.       for reals only. 
  398.  
  399.  Thousand notation 
  400.       Like the flat notation, but thousands separators are required. In case of 
  401.       reals, thousands separator must be used for both the integer and decimal 
  402.       part. 
  403.  
  404.  Scientific notation 
  405.       It applies to real numbers only. Number is represented by a mantissa and 
  406.       exponent. The absolute value of the mantissa is always less than one. The 
  407.       exponent is separated from the mantissa by the character E or e. 
  408.  
  409.  Exponential notation 
  410.       It applies to real numbers only. Number is represented by a mantissa and 
  411.       exponent. The absolute value of the mantissa can assume any value. The 
  412.       exponent is separated from the mantissa by the character E or e. 
  413.  
  414.  Note:  The characters representing the decimal separator and the thousands 
  415.  separator are not fixed, but retrieved from the system according to the 
  416.  current user settings. In fact, such characters are different in different 
  417.  countries, and can be customized by users. 
  418.  
  419.  Typical decimal separators are commas (,) and dots (.). 
  420.  
  421.  Typical thousands separators are commas (,), dots (.), single spaces (b) and 
  422.  stright single quotes ('). 
  423.  
  424.  
  425. ΓòÉΓòÉΓòÉ 4.2.3. Algebra ΓòÉΓòÉΓòÉ
  426.  
  427. Note that according to the algebra of the supported number types, naturals are 
  428. a subset of integers, which in turn are a subset of reals. 
  429.  
  430. In addition, it is assumed that the subset of natural numbers does include 
  431. zero. 
  432.  
  433.  
  434. ΓòÉΓòÉΓòÉ 4.3. Advanced topics ΓòÉΓòÉΓòÉ
  435.  
  436. Select one: 
  437.  
  438. Γûá Machine Readable Information
  439. Γûá Signal handling
  440. Γûá Create your own library
  441. Γûá How to generate the clone
  442. Γûá How to use the object library
  443.  
  444.  
  445. ΓòÉΓòÉΓòÉ 4.3.1. Machine Readable Information ΓòÉΓòÉΓòÉ
  446.  
  447. If the library contains translatable pieces of information, they are contained 
  448. in resource files available in the MRI sub-directory of the ZIS directory, 
  449. created at installation time (see Installation). 
  450.  
  451. To use such files, move all the header files in the H sub-directory to the 
  452. appropriate path in your development environment, translate the resource files 
  453. to the target language, recompile the file by using the command 
  454.  
  455.  rc -r <resource>.RC
  456.  
  457. to generate the corresponding RES file, and apply the result to the DLL file by 
  458. using the command 
  459.  
  460.  rc <resource>.RES <name>.DLL
  461.  
  462. Note that <name> is not FMZISFUN but the name of the DLL cloned as described in 
  463. Create your own library. 
  464.  
  465.  
  466. ΓòÉΓòÉΓòÉ 4.3.2. Signal handling ΓòÉΓòÉΓòÉ
  467.  
  468. FMZISFUN.DLL enables the handling of signals as follows. 
  469.  
  470. First, each exported function is preceeded in code by the corresponding pragma 
  471. handler: 
  472.  
  473.    Sample 
  474.  
  475.        #pragma handler(zisLibraryVersion)
  476.  
  477.        VOID EXPENTRY zisLibraryVersion
  478.         .
  479.         .
  480.         .
  481.  
  482.  Second, a standard function, available in any Z Family/2 reusable library, is 
  483.  provided to register a user's signal handler: zisRegisterSignal (see 
  484.  zisRegisterSignal). 
  485.  
  486.  The user's signal handler is a function that accepts as input parameter an 
  487.  integer, and returns a void. A sample is shown hereinafter: 
  488.  
  489.    Sample 
  490.  
  491.        void UserSignalHandler (int signal)
  492.        {
  493.         switch (signal)
  494.         {
  495.          case SIGILL  : /* Prepare to handle SIGILL  */ break ;
  496.          case SIGSEGV : /* Prepare to handle SIGSEGV  */ break ;
  497.          case SIGFPE  : /* Prepare to handle SIGFPE  */ break ;
  498.          case SIGTERM : /* Prepare to handle SIGTERM  */ break ;
  499.          case SIGABRT : /* Prepare to handle SIGABRT  */ break ;
  500.          case SIGINT  : /* Prepare to handle SIGINT  */ break ;
  501.          case SIGUSR1 : /* Prepare to handle SIGUSR1  */ break ;
  502.          case SIGUSR2 : /* Prepare to handle SIGUSR2  */ break ;
  503.          case SIGUSR3 : /* Prepare to handle SIGUSR3  */ break ;
  504.          case SIGBREAK: /* Prepare to handle SIGBREAK */ break ;
  505.          default    : /* Unknown signal       */ break ;
  506.         }
  507.  
  508.         /*
  509.         **  Handle the received signal according to the previous
  510.         **  preparation. In general, show a message and terminate
  511.         **  the program.
  512.         */
  513.  
  514.        }
  515.  
  516.  
  517. ΓòÉΓòÉΓòÉ 4.3.3. Create your own library ΓòÉΓòÉΓòÉ
  518.  
  519. It is possible for the reuser to decide to clone a Z Family/2 reusable library 
  520. with a different name.  Since the source code is not available to reusers, it 
  521. is possible to do that by using the files in the DEVEL sub-directory. 
  522.  
  523.    Important Such files are not intended to be used as they are, but should be 
  524.    modified as described below. 
  525.  
  526.  The DEVEL directory contains at least  four files: 
  527.  
  528.  ZISFUNCS.LIB        An object library 
  529.  ZISFUNCS.DEF        A skeleton for the definition file 
  530.  ZISCLONE.MAK        A skeleton for the make file 
  531.  ZISSTUB.C           A stub file used to generate the library 
  532.  
  533.  In addition, it may also contain one or more resource files, that is 
  534.  ZISxxxxx.RES files. 
  535.  
  536.    Important 
  537.  
  538.    This library may need to load resources from itself, or to get its module 
  539.    handle. If you clone the library and change its name, it has no way to 
  540.    automatically know which is its new name. So you need to tell it about. You 
  541.    can do that by using the zisSetLibraryName() function. 
  542.  
  543.  
  544. ΓòÉΓòÉΓòÉ 4.3.4. How to generate the clone ΓòÉΓòÉΓòÉ
  545.  
  546. To generate a clone of FMZISFUN.DLL with a different name, you have to execute 
  547. the following steps: 
  548.  
  549.   1. Edit ZISCLONE.MAK (see Skeleton of a makefile to clone a Z Family/2 DLL) 
  550.      changing USRNAME to the wanted name. Let's say, for example, DLLCLONE. You 
  551.      may want to add other instructions to this make file, but be careful if 
  552.      you want to change the existing ones In particular, the OPTIONS constant 
  553.      contains the same options used to compile FMZISFUN.DLL. If you change 
  554.      them, the new DLL may not work as expected. 
  555.  
  556.      Skeleton of a makefile to clone a Z Family/2 DLL 
  557.  
  558.           #
  559.           #  Module   : ZxxCLONE.MAK
  560.           #  Authors  : Luca Miccoli (MICCOLI at ROMEPPC)
  561.           #  Reviewer  : Dario de Judicibus (DEJUDICI at ROMEPPC)
  562.           #  Created  : 06 Apr 1993
  563.           #  Reviewed  : 21 Apr 1993
  564.           #  Version  : 1.00
  565.           #  Content  : Make File for Z Family/2 Clones
  566.           #
  567.           #  ------------------------------------------------------------------------------
  568.           #
  569.           #  NOTE : This is a SAMPLE makefile. You may need to modify it to satisfy your
  570.           #     specific needs. You may also want to include it in a larger MAKE file
  571.           #     which is used to generate your application. In any case, read carefully
  572.           #     the comments below and the "User's Guide", to understand what you can
  573.           #     change, and what should be used as is.
  574.           #  ------------------------------------------------------------------------------
  575.  
  576.           #
  577.           #  User provided name of the .DLL (to be filled)
  578.           #
  579.           USRNAME = ________
  580.  
  581.           STBNAME = zxxstub
  582.           INTNAME = zxxfuncs
  583.           RESNAME = zxxrsrcs
  584.  
  585.           #
  586.           #  Do not change OPTIONS unless really needed. They SHOULD match the original ones.
  587.           #
  588.           OPTIONS = /Kb /Ge- /Sm /Ss /Gd- /Gm+ /Ms /I-
  589.           LINKOPT = /NOI
  590.  
  591.           #
  592.           #  MAKE file generates a DLL and the corresponding IMPORT library having the
  593.           #  name specified as USRNAME above.
  594.           #
  595.           all: $(USRNAME).dll $(USRNAME).lib
  596.  
  597.           #
  598.           #  STUB should be compiled by using the same options used for Z Family/2 DLL
  599.           #
  600.           $(STBNAME).obj: $(STBNAME).c
  601.             icc /C+ $(OPTIONS) $(STBNAME).c
  602.  
  603.           #
  604.           #  Use STUB and Z Family/2 OBJECT library to generate the User's Cloned DLL
  605.           #  Use $(INTNAME).def to make your $(USRNAME).def, changing the name after
  606.           #  LIBRARY (first instruction of the definition file).
  607.           #
  608.           $(USRNAME).dll: $(STBNAME).obj $(INTNAME).lib $(USRNAME).def $(RESNAME).res
  609.            link386 $(LINKOPT) $(STBNAME).obj,$(USRNAME).dll,,$(INTNAME).lib,$(USRNAME).def ;
  610.            rc $(RESNAME).res $(USRNAME).dll
  611.  
  612.           #
  613.           #  Use the User's Cloned DLL to generate the corresponding IMPORT library
  614.           #
  615.           $(USRNAME).lib: $(USRNAME).dll $(USRNAME).def
  616.            implib $(USRNAME).lib $(USRNAME).def
  617.  
  618.   2. Edit ZISFUNCS.DEF (see Skeleton of a definition to clone a Z Family/2 DLL) 
  619.      changing the name after LIBRARY  keyword to the wanted name, that is, 
  620.      DLLCLONE. 
  621.  
  622.      Skeleton of a definition to clone a Z Family/2 DLL 
  623.  
  624.           ;
  625.           ; Module   : ZxxFUNCS.DEF
  626.           ; Authors  : Dario de Judicibus (DEJUDICI at ROMEPPC)
  627.           ;       Mario Turaccio (TURACCIO at ROMEPPC)
  628.           ; Reviewer  : Dario de Judicibus (DEJUDICI at ROMEPPC)
  629.           ; Created  : 21 Oct 1991
  630.           ; Updated  : 01 Apr 1993
  631.           ; Version  : 1.00
  632.           ; Content  : Module Definition File for FMZLXFUN.DLL
  633.           ; Product  : Z Family/2 Project (5641-504) FMZ
  634.           ;
  635.  
  636.           LIBRARY FMZxxFUN INITINSTANCE TERMINSTANCE
  637.           DESCRIPTION '... , Z Family/2 5641-504 (C) Copyright IBM Corporation 1993,1994.'
  638.  
  639.           PROTMODE
  640.           CODE  LOADONCALL
  641.           DATA  MULTIPLE READWRITE NONSHARED
  642.           HEAPSIZE  32768
  643.           STACKSIZE 32768
  644.  
  645.           IMPORTS
  646.                FMZyyFUN.zgsLibraryVersion
  647.                FMZyyFUN.zgsRegisterSignal
  648.                ...
  649.           EXPORTS
  650.                zxxLibraryVersion
  651.                zxxRegisterSignal
  652.                ...
  653.  
  654.   3. Generate the new DLL by executing: 
  655.  
  656.            NMAKE - af ZISCLONE.MAK
  657.  
  658.  
  659. ΓòÉΓòÉΓòÉ 4.3.5. How to use the object library ΓòÉΓòÉΓòÉ
  660.  
  661. An object library called ZISFUNCS.LIB is available in DEVEL sub-directory. 
  662.  
  663. Such a library is provided to allow the user to clone the FMZISFUN.DLL library, 
  664. as explained in Create your own library. 
  665.  
  666.    Important 
  667.  
  668.    You may also decide to clone only few function rather than the whole 
  669.    library. However you cannot use this library to statically link some library 
  670.    function to your program. In fact, those functions which may need to load 
  671.    resources from the DLL itself, or to get the library handle to perform 
  672.    specific activities, wouldn't work any more. This use of the object library 
  673.    is not supported. You may do that, but at your own risk. 
  674.  
  675.  
  676. ΓòÉΓòÉΓòÉ 5. Reference Manual ΓòÉΓòÉΓòÉ
  677.  
  678. Select one: 
  679.  
  680.  Function sheets 
  681.  
  682.  Macro sheets 
  683.  
  684.  Data sheets 
  685.  
  686.  
  687. ΓòÉΓòÉΓòÉ 5.1. Function sheets ΓòÉΓòÉΓòÉ
  688.  
  689. Select one: 
  690.  
  691. Γûá zisLibraryVersion
  692. Γûá zisSetLibraryName
  693. Γûá zisRegisterSignal
  694. Γûá zisAnyIntString
  695. Γûá zisAnyNatString
  696. Γûá zisAnyRealString
  697. Γûá zisExpRealString
  698. Γûá zisInIntRange
  699. Γûá zisIntString
  700. Γûá zisNatString
  701. Γûá zisRealString
  702. Γûá zisSciRealString
  703. Γûá zisThsIntString
  704. Γûá zisThsNatString
  705. Γûá zisThsRealString
  706.  
  707.  
  708. ΓòÉΓòÉΓòÉ 5.1.1. zisLibraryVersion ΓòÉΓòÉΓòÉ
  709.  
  710. Provide information about library version and the date and time of compilation 
  711. of the DLL source code. 
  712.  
  713. Prototype 
  714.  
  715.  VOID EXPENTRY zisLibraryVersion
  716.  (
  717.   zPLIBVERS pLibVers
  718.  ) ;
  719.  
  720. Parameters 
  721.  
  722.  pLibVers 
  723.       Pointer to a zLIBVERS structure. That structure should be allocated by 
  724.       the caller. Its content, if any, will be overwritten. 
  725.  
  726.  result 
  727.       The zLIBVERS structure whose pointer is provided as input parameter is 
  728.       filled. 
  729.  
  730.  Notes 
  731.  
  732.  Look at zLIBVERS for the definition of zLIBVERS structure. 
  733.  
  734.  Known bugs 
  735.  
  736.  None. 
  737.  
  738.  
  739. ΓòÉΓòÉΓòÉ 5.1.2. zisSetLibraryName ΓòÉΓòÉΓòÉ
  740.  
  741. Set the value of the private variable zisDllName. See also Create your own 
  742. library. 
  743.  
  744.    Important If called, this function must be called before any other library 
  745.    function. 
  746.  
  747.  Prototype 
  748.  
  749.    VOID EXPENTRY zisSetLibraryName
  750.    (
  751.     PSZ szNewName
  752.    ) ;
  753.  
  754.  Parameters 
  755.  
  756.  szNewName 
  757.       Pointer to the string containing the new name of library. If you pass a 
  758.       NULL pointer or an empty string, the library name is set to its default, 
  759.       that is zisDLLNAME. 
  760.  
  761.  result 
  762.       None. 
  763.  
  764.  Notes 
  765.  
  766.  If you clone FMZISFUN.DLL, you obtain a new library with a new name. Since 
  767.  this library may need to know its name to load resources or get its module 
  768.  handle, you have to tell it which is the new name. You can use this function 
  769.  to do that. The default name is zisDLLNAME. 
  770.  
  771.  Known bugs 
  772.  
  773.  None. 
  774.  
  775.  
  776. ΓòÉΓòÉΓòÉ 5.1.3. zisRegisterSignal ΓòÉΓòÉΓòÉ
  777.  
  778. It allows to register an application signal handler for exception handling. 
  779.  
  780. Prototype 
  781.  
  782.  zSIGNAL EXPENTRY zisRegisterSignal
  783.  (
  784.   zSIGHAND  SigHandler
  785.  )
  786.  
  787. Parameters 
  788.  
  789.  SigHandler 
  790.       Pointer to the application signal handler to be registered.  Type is 
  791.       zSIGHAND (see Z Family/2 general constants). 
  792.  
  793.  result 
  794.       zREGISTERED if the handler has been successfully registered, otherwise it 
  795.       returns the signal for which the registration failed.  See Signal 
  796.       handling types for the complete list of signals and their meaning. 
  797.  
  798.  Notes 
  799.  
  800.  Look at Signal handling  for a description of the exception handling feature 
  801.  provided by FMZISFUN.DLL. 
  802.  
  803.  Known bugs 
  804.  
  805.  None. 
  806.  
  807.  
  808. ΓòÉΓòÉΓòÉ 5.1.4. zisAnyIntString ΓòÉΓòÉΓòÉ
  809.  
  810. Check if a string represents an integer in any notation (flat or thousand). 
  811.  
  812. Prototype 
  813.  
  814.  BOOL EXPENTRY zisAnyIntString
  815.  (
  816.    PSZ pszString
  817.  ) ;
  818.  
  819. Parameters 
  820.  
  821.  psz 
  822.       Pointer to the string to be checked. 
  823.  
  824.  result 
  825.       TRUE if the string represents a valid integer in flat or thousand 
  826.       notation, otherwise FALSE. 
  827.  
  828.  Notes 
  829.  
  830.  To have a valid representation at least one digit has to be supplied. 
  831.  
  832.  Known bugs 
  833.  
  834.  None 
  835.  
  836.  
  837. ΓòÉΓòÉΓòÉ 5.1.5. zisAnyNatString ΓòÉΓòÉΓòÉ
  838.  
  839. Check if a string represents a natural number in any notation (flat or 
  840. thousand). 
  841.  
  842. Prototype 
  843.  
  844.  BOOL EXPENTRY zisAnyNatString
  845.  (
  846.    PSZ pszString
  847.  ) ;
  848.  
  849. Parameters 
  850.  
  851.  psz 
  852.       Pointer to the string to be checked. 
  853.  
  854.  result 
  855.       TRUE if the string represents a valid natural in flat or thousand 
  856.       notation, otherwise FALSE. 
  857.  
  858.  Notes 
  859.  
  860.  To have a valid representation at least one digit has to be supplied. 
  861.  
  862.  Known bugs 
  863.  
  864.  None. 
  865.  
  866.  
  867. ΓòÉΓòÉΓòÉ 5.1.6. zisAnyRealString ΓòÉΓòÉΓòÉ
  868.  
  869. Check if a string represents a real number in any notation (flat, thousand, 
  870. scientific or exponential). 
  871.  
  872. Prototype 
  873.  
  874.  BOOL EXPENTRY zisAnyRealString
  875.  (
  876.    PSZ pszString
  877.  ) ;
  878.  
  879. Parameters 
  880.  
  881.  psz 
  882.       Pointer to the string to be checked. 
  883.  
  884.  result 
  885.       TRUE if the string represents a valid real in flat, thousand, scientific 
  886.       or exponential notation, otherwise FALSE . 
  887.  
  888.  Notes 
  889.  
  890.  To have a valid representation at least one digit has to be supplied. 
  891.  
  892.  Note that scientific and exponential notations cannot contain thousand 
  893.  separators. 
  894.  
  895.  Known bugs 
  896.  
  897.  None 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 5.1.7. zisExpRealString ΓòÉΓòÉΓòÉ
  901.  
  902. Check if a string represents a real in exponential notation. 
  903.  
  904. Prototype 
  905.  
  906.  BOOL EXPENTRY zisExpRealString
  907.  (
  908.    PSZ pszString
  909.  ) ;
  910.  
  911. Parameters 
  912.  
  913.  psz 
  914.       Pointer to the string to be checked. 
  915.  
  916.  result 
  917.        TRUE if the string represents a valid real in exponential notation, 
  918.       otherwise FALSE. 
  919.  
  920.  Notes 
  921.  
  922.  The exponential notation is described in Definitions and notations. 
  923.  
  924.  Any real number will be considered a valid value. So the decimal separator is 
  925.  optional too. 
  926.  
  927.  If the exponent symbol is found at least one digit has to follow it. 
  928.  
  929.  Known bugs 
  930.  
  931.  None 
  932.  
  933.  
  934. ΓòÉΓòÉΓòÉ 5.1.8. zisInIntRange ΓòÉΓòÉΓòÉ
  935.  
  936. Check if an integer value is included between the specified boundaries. 
  937.  
  938. Prototype 
  939.  
  940.  BOOL EXPENTRY zisInIntRange
  941.  (
  942.    INT value  ,
  943.    INT first  ,
  944.    INT second
  945.  );
  946.  
  947. Parameters 
  948.  
  949.  value 
  950.       Value to be checked 
  951.  
  952.  first 
  953.       First boundary of the range (not necessarly the lower value) 
  954.  
  955.  second_limit 
  956.       Second boundary of the range (not necessarly the upper value) 
  957.  
  958.  result 
  959.       TRUE if the string is inside the provided range, otherwise FALSE. 
  960.  
  961.  Notes 
  962.  
  963.  No assumption is made about the order of first and second. For example, 
  964.  
  965.    zisInIntRange(12,4,15)  is  TRUE
  966.    zisInIntRange(12,15,4)  is  TRUE
  967.  
  968.    zisInIntRange(12,3,10)  is  FALSE
  969.    zisInIntRange(12,10,3)  is  FALSE
  970.  
  971.  Known bugs 
  972.  
  973.  None 
  974.  
  975.  
  976. ΓòÉΓòÉΓòÉ 5.1.9. zisIntString ΓòÉΓòÉΓòÉ
  977.  
  978. Check if a string represents an integer in flat notation. Both signed and 
  979. unsigned integers are accepted. 
  980.  
  981. Prototype 
  982.  
  983.  BOOL EXPENTRY zisIntString
  984.  (
  985.    PSZ pszString
  986.  ) ;
  987.  
  988. Parameters 
  989.  
  990.  psz 
  991.       Pointer to the string to be checked 
  992.  
  993.  result 
  994.       TRUE if the string represents a valid integer in flat notation, otherwise 
  995.       FALSE. 
  996.  
  997.  Notes 
  998.  
  999.  To have a valid representation at least one digit has to be supplied. 
  1000.  
  1001.  Known bugs 
  1002.  
  1003.  None 
  1004.  
  1005.  
  1006. ΓòÉΓòÉΓòÉ 5.1.10. zisNatString ΓòÉΓòÉΓòÉ
  1007.  
  1008. Check if a string represents a Natural number in flat notation. 
  1009.  
  1010. Prototype 
  1011.  
  1012.  BOOL EXPENTRY zisNatString
  1013.  (
  1014.    PSZ pszString
  1015.  ) ;
  1016.  
  1017. Parameters 
  1018.  
  1019.  psz 
  1020.       Pointer to the string to be checked. 
  1021.  
  1022.  result 
  1023.       TRUE if the string represents a valid natural in flat notation, otherwise 
  1024.       FALSE. 
  1025.  
  1026.  Notes 
  1027.  
  1028.  To have a valid representation at least one digit has to be supplied. 
  1029.  
  1030.  Known bugs 
  1031.  
  1032.  None 
  1033.  
  1034.  
  1035. ΓòÉΓòÉΓòÉ 5.1.11. zisRealString ΓòÉΓòÉΓòÉ
  1036.  
  1037. Check if a string represents a real in flat notation. 
  1038.  
  1039. Prototype 
  1040.  
  1041.  BOOL EXPENTRY zisRealString
  1042.  (
  1043.    PSZ pszString
  1044.  ) ;
  1045.  
  1046. Parameters 
  1047.  
  1048.  psz 
  1049.       Pointer to the string to be checked. 
  1050.  
  1051.  result 
  1052.       TRUE if the string represents a valid real in flat notation, otherwise 
  1053.       FALSE. 
  1054.  
  1055.  Notes 
  1056.  
  1057.  To have a valid representation at least one digit has to be supplied. The 
  1058.  decimal separator is not required, that is a natural or an integer in flat 
  1059.  notation is accepted too. 
  1060.  
  1061.  Known bugs 
  1062.  
  1063.  None 
  1064.  
  1065.  
  1066. ΓòÉΓòÉΓòÉ 5.1.12. zisSciRealString ΓòÉΓòÉΓòÉ
  1067.  
  1068. Check if a string represents a real in scientific notation. 
  1069.  
  1070. Prototype 
  1071.  
  1072.  BOOL EXPENTRY zisSciRealString
  1073.  (
  1074.    PSZ pszString
  1075.  ) ;
  1076.  
  1077. Parameters 
  1078.  
  1079.  psz 
  1080.       Pointer to the string to be checked. 
  1081.  
  1082.  result 
  1083.       TRUE if the string represents a valid real in scientific notation, 
  1084.       otherwise FALSE. 
  1085.  
  1086.  Notes 
  1087.  
  1088.  The scientific notation is described in Definitions and notations. 
  1089.  
  1090.  Since that notation requires that the first digit be a zero, any real number 
  1091.  whose absolute value is less than one will be considered a valid value. Then 
  1092.  the decimal separator is mandatory. 
  1093.  
  1094.  The zero before the decimal separator may be omitted. 
  1095.  
  1096.  If the exponent symbol is found at least one digit has to follow it. 
  1097.  
  1098.  Known bugs 
  1099.  
  1100.  None. 
  1101.  
  1102.  
  1103. ΓòÉΓòÉΓòÉ 5.1.13. zisThsIntString ΓòÉΓòÉΓòÉ
  1104.  
  1105. Check if a string represents an integer in thousand notation. Both signed and 
  1106. unsigned integers are accepted. 
  1107.  
  1108. Prototype 
  1109.  
  1110.  BOOL EXPENTRY zisThsIntString
  1111.  (
  1112.    PSZ pszString
  1113.  ) ;
  1114.  
  1115. Parameters 
  1116.  
  1117.  psz 
  1118.       Pointer to the string to be checked. 
  1119.  
  1120.  result 
  1121.       TRUE if the string represents a valid integer in thousand notation, 
  1122.       otherwise FALSE. 
  1123.  
  1124.  Notes 
  1125.  
  1126.  To have a valid representation at least one digit has to be supplied. 
  1127.  
  1128.  Known bugs 
  1129.  
  1130.  None 
  1131.  
  1132.  
  1133. ΓòÉΓòÉΓòÉ 5.1.14. zisThsNatString ΓòÉΓòÉΓòÉ
  1134.  
  1135. Check if a string represents a natural number in thousand notation. 
  1136.  
  1137. Prototype 
  1138.  
  1139.  BOOL EXPENTRY zisThsNatString
  1140.  (
  1141.    PSZ pszString
  1142.  ) ;
  1143.  
  1144. Parameters 
  1145.  
  1146.  psz 
  1147.       Pointer to the string to be checked. 
  1148.  
  1149.  result 
  1150.       TRUE if the string represents a valid natural in thousand notation, 
  1151.       otherwise FALSE. 
  1152.  
  1153.  Notes 
  1154.  
  1155.  To have a valid representation at least one digit has to be supplied. 
  1156.  
  1157.  Known bugs 
  1158.  
  1159.  None 
  1160.  
  1161.  
  1162. ΓòÉΓòÉΓòÉ 5.1.15. zisThsRealString ΓòÉΓòÉΓòÉ
  1163.  
  1164. Check if a string represents a real in thousand notation. 
  1165.  
  1166. Prototype 
  1167.  
  1168.  BOOL EXPENTRY zisThsRealString
  1169.  (
  1170.    PSZ pszString
  1171.  ) ;
  1172.  
  1173. Parameters 
  1174.  
  1175.  psz 
  1176.       Pointer to the string to be checked. 
  1177.  
  1178.  result 
  1179.       TRUE notation, otherwise FALSE. 
  1180.  
  1181.  Notes 
  1182.  
  1183.  To have a valid representation at least one digit has to be supplied. The 
  1184.  decimal separator is not required, that is a natural or an integer in thousand 
  1185.  notation is accepted too. 
  1186.  
  1187.  Known bugs 
  1188.  
  1189.  None 
  1190.  
  1191.  
  1192. ΓòÉΓòÉΓòÉ 5.2. Macro sheets ΓòÉΓòÉΓòÉ
  1193.  
  1194. This library has no macros. 
  1195.  
  1196.  
  1197. ΓòÉΓòÉΓòÉ 5.3. Data sheets ΓòÉΓòÉΓòÉ
  1198.  
  1199. Select one: 
  1200.  
  1201. Γûá zLIBVERS
  1202. Γûá Signal handling types
  1203. Γûá Library constants
  1204. Γûá Z Family/2 general constants
  1205.  
  1206.  
  1207. ΓòÉΓòÉΓòÉ 5.3.1. zLIBVERS ΓòÉΓòÉΓòÉ
  1208.  
  1209. This structure is used by all Z Family/2 DLL's to maintain information about 
  1210. the level of the library, and the date and time of compilation of library 
  1211. source code. 
  1212.  
  1213. Structure 
  1214.  
  1215.  typedef struct zLibVersion
  1216.  {
  1217.   USHORT Version       ;
  1218.   USHORT Release       ;
  1219.   USHORT Modification    ;
  1220.   CHAR  String[zLEVELSIZE] ;
  1221.   CHAR  Stamp[zSTAMPSIZE]  ;
  1222.   CHAR  Name[zNAMESIZE]   ;
  1223.  }
  1224.  zLIBVERS, *zPLIBVERS ;
  1225.  
  1226. Fields 
  1227.  
  1228.  Version 
  1229.       Library version.  Updated only when major functional changes are applied 
  1230.       to the library code. 
  1231.  
  1232.  Release 
  1233.       Library release.  Updated only when minor functional changes are applied 
  1234.       to the library code. 
  1235.  
  1236.  Modification 
  1237.       Library modification.  Updated when fixes are applied to the library 
  1238.       code. 
  1239.  
  1240.  String 
  1241.       A string containing the library level (version plus release). It must 
  1242.       match the values of version and release. 
  1243.  
  1244.  Stamp 
  1245.       A string containing the compilation time stamp. Usually the C Set/2 
  1246.       predefined constant __TIMESTAMP__ is assigned to this field. 
  1247.  
  1248.  Name 
  1249.       A string containing the library name. If the library was cloned with a 
  1250.       different name, and zisSetLibraryName() was previously called, this 
  1251.       string contains the name of the clone. 
  1252.  
  1253.  Include file 
  1254.  
  1255.  zgeneral.h 
  1256.  
  1257.  Notes 
  1258.  
  1259.  This structure is the same for all the Z Family/2 DLL's. 
  1260.  
  1261.  
  1262. ΓòÉΓòÉΓòÉ 5.3.2. Signal handling types ΓòÉΓòÉΓòÉ
  1263.  
  1264. Two types are used in the signal handling feature of FMZISFUN.DLL: zSIGHAND 
  1265. and zSIGNAL. 
  1266.  
  1267. zSIGHAND is the pointer to a signal handler function that can be used as 
  1268. argument when ZISRegisterSignal() is called (see Signal handling for details 
  1269. about how to write a signal handler). 
  1270.  
  1271. zSIGNAL  is the signal event that may be returned by zisRegisterSignal() if the 
  1272. registration of the signal handler fails. 
  1273.  
  1274. Definition 
  1275.  
  1276.  typedef int  zSIGNAL      ;
  1277.  typedef void (*zSIGHAND)(int) ;
  1278.  
  1279. Signals 
  1280.  
  1281. This is the list of the possible values whose type is zSIGNAL. 
  1282.  
  1283.  SIGILL 
  1284.       Illegal instruction (invalid function image) 
  1285.  
  1286.  SIGSEGV 
  1287.       Invalid access to memory 
  1288.  
  1289.  SIGFPE 
  1290.       Floating point exception 
  1291.  
  1292.  SIGTERM 
  1293.       OS/2 SIGTERM (killprocess) signal 
  1294.  
  1295.  SIGABRT 
  1296.       Abort() signal 
  1297.  
  1298.  SIGINT 
  1299.       OS/2 SIGINTR signal 
  1300.  
  1301.  SIGUSR1 
  1302.       User exception in range 0xA0000000-0xBFFFFFFF 
  1303.  
  1304.  SIGUSR2 
  1305.       User exception in range 0xC0000000-0xDFFFFFFF 
  1306.  
  1307.  SIGUSR3 
  1308.       User exception in range 0xE0000000-0xFFFFFFFF 
  1309.  
  1310.  SIGBREAK 
  1311.       OS/2 Ctrl-Break sequence 
  1312.  
  1313.  Include file 
  1314.  
  1315.  zgeneral.h 
  1316.  
  1317.  Notes 
  1318.  
  1319.  These types are the same for all the Z Family/2 DLL's. 
  1320.  
  1321.  
  1322. ΓòÉΓòÉΓòÉ 5.3.3. Library constants ΓòÉΓòÉΓòÉ
  1323.  
  1324. Hereinafter a list of all the constants that could be used by the applications 
  1325. that are dynamically linked to FMZISFUN.DLL is shown. 
  1326.  
  1327.  zisDLLNAME 
  1328.       The default name of this library. Note that, if you clone this library, 
  1329.       the real name must be changed by using the zisSetLibraryName() function. 
  1330.       In such a case, you cannot use any more this constant. 
  1331.  
  1332.  zisZPREFIX 
  1333.       The Z Family/2 identifier of this library. 
  1334.  
  1335.  Include file 
  1336.  
  1337.  zisdefs.h 
  1338.  
  1339.  Notes 
  1340.  
  1341.  None. 
  1342.  
  1343.  
  1344. ΓòÉΓòÉΓòÉ 5.3.4. Z Family/2 general constants ΓòÉΓòÉΓòÉ
  1345.  
  1346. Hereinafter a list of all the constants shared by all Z Family/2 DLL's is 
  1347. shown. 
  1348.  
  1349.  zPRODPREF 
  1350.       Z Family/2 product three character prefix identifier (ZIS). 
  1351.  
  1352.  zPRODNUMB 
  1353.       Z Family/2 product number (5641-504). 
  1354.  
  1355.  zCOPYRIGHT 
  1356.       Z Family/2 copyright statement. 
  1357.  
  1358.  zNAMESIZE 
  1359.       Maximum size of Name string in zLIBVERS. 
  1360.  
  1361.  zLEVELSIZE 
  1362.       Maximum size of Level string in zLIBVERS. 
  1363.  
  1364.  zSTAMPSIZE 
  1365.       Maximum size of Stamp string in zLIBVERS. 
  1366.  
  1367.  zNULLERRORID 
  1368.       Null error identifier. To be used when the error identifier can be 
  1369.       ignored by the called function. 
  1370.  
  1371.  zEXEMINERRID 
  1372.       Minimum value of error identifiers for user applications. 
  1373.  
  1374.  zEXEMAXERRID 
  1375.       Maximum value of error identifiers for user applications. 
  1376.  
  1377.  zDLLMINERRID 
  1378.       Minimum value of error identifiers for the Z Family/2 DLL's. 
  1379.  
  1380.  zDLLMAXERRID 
  1381.       Maximum value of error identifiers for the Z Family/2 DLL's. 
  1382.  
  1383.  zSIGNAL 
  1384.       Z Family/2 signal type for signal handling. 
  1385.  
  1386.  zSIGHAND 
  1387.       Z Family/2 signal handler type for signal handling. 
  1388.  
  1389.  zBIT 
  1390.       Z Family/2 type used for unsigned bits. 
  1391.  
  1392.  Include file 
  1393.  
  1394.  zgeneral.h 
  1395.  
  1396.  Notes 
  1397.  
  1398.  Error identifiers are used to identify both the error itself, and the message 
  1399.  associated to it. 
  1400.  
  1401.  
  1402. ΓòÉΓòÉΓòÉ 6. Sample Program ΓòÉΓòÉΓòÉ
  1403.  
  1404. Select one: 
  1405.  
  1406.  Running the sample program 
  1407.  
  1408.  Sample program tutorial 
  1409.  
  1410.  
  1411. ΓòÉΓòÉΓòÉ 6.1. Running the sample program ΓòÉΓòÉΓòÉ
  1412.  
  1413.  Important 
  1414.  
  1415.  To run the sample program, you must already have installed the library as 
  1416.  described in How to install the library. 
  1417.  
  1418.  Do not double-click on the item below unless 
  1419.  
  1420.   1. you copied the sample program to a directory listed in your PATH, or added 
  1421.      the directory where the sample program is to your PATH. 
  1422.  
  1423.   2. you copied all the needed dynamic libraries to a directory listed in your 
  1424.      LIBPATH, or added the directory where such libraries are to your LIBPATH. 
  1425.  
  1426.    Hit me to run the sample 
  1427.  
  1428.  
  1429. ΓòÉΓòÉΓòÉ 6.2. Sample program tutorial ΓòÉΓòÉΓòÉ
  1430.  
  1431. The FMZISFUN.DLL package contains also a sample program that shows how to use 
  1432. the DLL functions. 
  1433.  
  1434. The program is called CHKFUN and can be launched either from an OS/2 window (or 
  1435. full-screen), or from the OS/2 Desktop, double-clicking on its icon. 
  1436.  
  1437. When the program is executed, a small windows appear on the screen. 
  1438.  
  1439. If you open that menu you can see three items: 
  1440.  
  1441.    Start... 
  1442.         A dialog box is displayed. Its title is Check numbers. Such a dialog 
  1443.         allows you to select the type of number you wish to check and which 
  1444.         notation should be used. As soon as you select such values, a 
  1445.         corresponding sample is shown in the Sample field. 
  1446.  
  1447.         Now you should simply enter any number in the Input value field and 
  1448.         press ENTER or click on the Check  value  button to see if the 
  1449.         provided value corresponds to the type of number and notation 
  1450.         previously selected. 
  1451.  
  1452.         You may compare other values with the same selection by simply entering 
  1453.         the new values, or you may make another selection by using the two drop 
  1454.         down lists in the top half of the dialog box. 
  1455.  
  1456.         To leave the dialog just click on the EXIT  button. 
  1457.  
  1458.    About 
  1459.         A message box containing the name of the library, its version, the 
  1460.         author and some other related information (eg. copyright) is displayed. 
  1461.         The first two fields are obtained by the zisLibraryVersion()  function. 
  1462.  
  1463.    Exit 
  1464.         The user is prompted for the confirmation of the EXIT  request. 
  1465.  
  1466.         Program ends. 
  1467.  
  1468.    Note:  Since FMZISFUN.DLL is NLS enabled, you should use the decimal and 
  1469.    thousand separators corresponding to the current settings of your machine. 
  1470.  
  1471.    The purpose of the sample field is that to show to you which are the current 
  1472.    settings for such separators.