home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v3.zip / INF / DDE3WF.INF (.txt) < prev    next >
OS/2 Help File  |  1993-05-03  |  49KB  |  1,697 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Special Notices ΓòÉΓòÉΓòÉ
  3.  
  4. References in this help to IBM products, programs, or services do not imply 
  5. that IBM intends to make these available in all countries in which IBM 
  6. operates. 
  7.  
  8. Any reference to an IBM licensed program in this help is not intended to state 
  9. or imply that only IBM's licensed program may be used. Any functionally 
  10. equivalent product, program, or service that does not infringe any of IBM's 
  11. intellectual property rights may be used instead of the IBM product, program, 
  12. or service. 
  13.  
  14. Evaluation and verification of operation in conjunction with other products, 
  15. except those expressly designated by IBM, is the user's responsibility. 
  16.  
  17. IBM may have patents or pending patent applications covering subject matter in 
  18. this help. The furnishing of this help does not give you any license to these 
  19. patents. 
  20.  
  21. The following terms, denoted by an asterisk (*) in this help, are trademarks of 
  22. the IBM Corporation in the United States and/or other countries: 
  23.  
  24. IBM 
  25. OS/2 
  26. Operating System/2 
  27. Presentation Manager 
  28. WorkFrame/2. 
  29.  
  30. The following terms used in this publication are trademarks of Microsoft 
  31. Corporation. They are denoted by a double asterisk (**) when they appear in the 
  32. text. 
  33.  
  34. Microsoft 
  35. Windows. 
  36.  
  37. This help contains examples of data and reports used in daily business 
  38. operations. To illustrate them as completely as possible, the examples include 
  39. the names of individuals, companies, brands, and products. All of these names 
  40. are fictitious and any similarity to the names and addresses used by an actual 
  41. business enterprise is entirely coincidental. 
  42.  
  43.  
  44. ΓòÉΓòÉΓòÉ 2. Addtool - Introduction ΓòÉΓòÉΓòÉ
  45.  
  46. Use the Addtool utility to add tools to the WorkFrame/2 product from a command 
  47. line rather than using the WorkFrame/2's interface. 
  48.  
  49. Adding tools from a command line is a fast way of adding your own tools or ones 
  50. from a vendor. In addition, you can control where the tool appears in the Tools 
  51. pulldown menu of the WorkFrame/2 interface. 
  52.  
  53. Warning: Do not run Addtool while the WorkFrame/2 window is open. 
  54.  
  55. The Addtool utility requires an initialization file. If you are familiar with 
  56. initialization files, you can use the Quick Reference topic to get the 
  57. information you need to create the initialization file. Then you can proceed 
  58. immediately to Step 3 which tells you how to use the addtool command to add the 
  59. tools. 
  60.  
  61. Or, if you would prefer to use a step-by-step approach to creating the 
  62. initialization file, do all the following steps: 
  63.  
  64. o Step 1 - Create a resource script file that contains information about the 
  65.   tool. 
  66.  
  67. o Step 2 - Use the OS/2* operating system MAKEINI.EXE tool to compile the 
  68.   resource script file into an initialization file. 
  69.  
  70. o Step 3 - Use the Addtool utility to add the tools to the WorkFrame/2 product. 
  71.  
  72.  
  73. ΓòÉΓòÉΓòÉ 3. Quick Reference ΓòÉΓòÉΓòÉ
  74.  
  75. If you are familiar with initialization (.INI) files, you can use this panel as 
  76. a reminder of what needs to be specified for the Addtool utility. 
  77.  
  78. The number of applications depends on the number of tools you are adding. The 
  79. first application, TOOLS, has one key called COUNT. And the value of COUNT is 
  80. the number of tools being added. 
  81.  
  82. Each of the other applications is called TOOLSn, where n is an integer from 1 
  83. (one) to the number of tools being added. The TOOLSn applications have the 
  84. following keys 
  85.  
  86. Key               Description of Value 
  87.  
  88. TITLE             The title you want to identify the tool. 
  89.  
  90. PRG               The path and file name of the executable file. 
  91.  
  92. DIR               The directory to be used as the working directory of the 
  93.                   tool. 
  94.  
  95. INVOKE            The parameters you want to start the tool with. 
  96.  
  97. PROMTYPE          Indicates whether or not the user should be prompted when the 
  98.                   tool is started. Zero ('0') means no prompt and one ('1') 
  99.                   causes a prompt to be displayed. 
  100.  
  101. PROMPT            The text of the prompt. 
  102.  
  103. PRGMTYPE          The type of program. Must be one of the following values: 
  104.  
  105.    0         Let the header of the tool's executable file control how the tool 
  106.              is run. 
  107.  
  108.    1         Run the program as an OS/2* operating system full-screen program. 
  109.  
  110.    2         Run the program as an OS/2* operating system text-windowed 
  111.              program. 
  112.  
  113.    3         Run the program as a Presentation Manager* program. 
  114.  
  115.    4         Run the program as a DOS full-screen program. 
  116.  
  117.    7         Run the program as a DOS text-windowed program. 
  118.  
  119.    256       Run the program as an OS/2* operating system command file. Let the 
  120.              command processor, CMD.EXE, control how it runs. 
  121.  
  122.    257       Run the program as an OS/2* operating system command file in a 
  123.              full-screen. 
  124.  
  125.    258       Run the program as an OS/2* operating system command file in 
  126.              text-windowed mode. 
  127.  
  128. SESSION           Indicate whether or not you want the tool to run in the 
  129.                   foreground ('0') or background ('1'). 
  130.  
  131. If you require more information about the keys and their values, see Step 1. 
  132.  
  133.  
  134. ΓòÉΓòÉΓòÉ 4. Step 1 - Creating a Resource Script File ΓòÉΓòÉΓòÉ
  135.  
  136. This section describes how to specify information about tools in a resource 
  137. script file that can be used as input to the MAKEINI.EXE utility. You can use 
  138. select Copy (under the Services pulldown) to create a file with the contents of 
  139. the example on the right. This file can then be used as a template for your own 
  140. resource script file. 
  141.  
  142. First, identify the number of tools being added with the line: 
  143.  
  144.   "TOOLS"    "COUNT"    "Number_of_tools"
  145.  
  146. Number_of_tools is replaced by a numerical value. In the example, three tools 
  147. are being added so its value is 3. Throughout the rest of the string table, the 
  148. tools are identified by the labels TOOLS1, TOOLS2, and TOOLS3. If more tools 
  149. were being added, their labels would be TOOLS4, TOOLS5 and so on. 
  150.  
  151. Next, specify the characteristics described below for each tool starting with 
  152. the first tool. 
  153.  
  154. o Specify the title with the line: 
  155.  
  156.        "TOOLS1"   "TITLE"    "Title_of_the_tool"
  157.  
  158.   Title_of_the_tool is replaced by a character string. In the example, it is My 
  159.   Command Window. 
  160.  
  161.   The title identifies the tool in window headings, messages, pulldowns, and 
  162.   list boxes. Therefore, make it meaningful and unique. 
  163.  
  164.   It can be up to 100 characters long. 
  165.  
  166. o Specify the path and name of the executable file of the tool with the line: 
  167.  
  168.       "TOOLS1"   "PRG"     "Path_and_file_name"
  169.  
  170.   In the example, the executable file name of the tool is 
  171.   d:\my_tools\my_cmd.exe. 
  172.  
  173.   If the path is not fully specified, (for example, .\my_tool.exe) the 
  174.   WorkFrame/2 product searches the path specified in the PATH environment 
  175.   variable when the program is started. 
  176.  
  177. o Specify the path of the directory you want to use as the directory when the 
  178.   tool is run: 
  179.  
  180.       "TOOLS1"   "DIR"     "Current_directory"
  181.  
  182.   In the example, the tool will run in the directory d:\temp. 
  183.  
  184.   If you want to use the directory associated with the current project when the 
  185.   tool is invoked, use a single period (.). 
  186.  
  187. o Specify the parameters to be passed to the tool when it is started: 
  188.  
  189.        "TOOLS1"   "INVOKE"    "Invocation_parameters"
  190.  
  191.   In the example, /k is the invocation parameter. 
  192.  
  193.   You can use substitution variables. 
  194.  
  195.   You can enter up to 100 characters. 
  196.  
  197. o Specify whether or not a prompt should appear before the tool is run: 
  198.  
  199.       "TOOLS1"   "PROMTYPE"   "Prompt_or_no_prompt"
  200.  
  201.   Prompt_or_no_prompt is replaced by: 
  202.  
  203.    0 (zero)  If no prompt is to be displayed when the tool is run. 
  204.  
  205.    1 (one)   If a prompt is to be displayed. 
  206.  
  207.   Having a prompt lets you enter or change the the invocation parameters just 
  208.   before the tool is run. 
  209.  
  210. o The text in the prompt is specified with the line: 
  211.  
  212.       "TOOLS1"   "PROMPT"    "Text_of the_prompt"
  213.  
  214.   In the example, the text displayed to prompt the user is 
  215.   Enter in the form /k command eg /kdir . 
  216.  
  217. o Specify the type of program that the tool is with the line: 
  218.  
  219.       "TOOLS1"   "PRGMTYPE"   "Type_of_program"
  220.   Type_of_program is one of the following values: 
  221.  
  222.    0         Let the header of the tool's executable file control how the tool 
  223.              is run. 
  224.  
  225.    1         Run the program as an OS/2* operating system full-screen program. 
  226.  
  227.    2         Run the program as an OS/2* operating system text-windowed 
  228.              program. 
  229.  
  230.    3         Run the program as a Presentation Manager* program. 
  231.  
  232.    4         Run the program as a DOS full-screen program. 
  233.  
  234.    7         Run the program as a DOS text-windowed program. 
  235.  
  236.    256       Run the program as an OS/2* operating system command file. Let the 
  237.              command processor, CMD.EXE, control how it runs. 
  238.  
  239.    257       Run the program as an OS/2* operating system command file in a 
  240.              full-screen. 
  241.  
  242.    258       Run the program as an OS/2* operating system command file in 
  243.              text-windowed mode. 
  244.  
  245.   Specify 0 (zero) to run the program as specified in the header of its 
  246.   executable file. By specifying another option, you can override the 
  247.   specification in the header of the executable file. You could, for example, 
  248.   start a windowed tool as a full screen tool. Do not start an application that 
  249.   is not a Presentation Manager* program as a Presentation Manager* program or 
  250.   vice versa. If the program is a Presentation Manager* program, specify 0 
  251.   (zero) or 3. 
  252.  
  253. o Specify whether you want to run the tool in the foreground or the background: 
  254.  
  255.       "TOOLS1"   "SESSION"   " Session_type"
  256.  
  257.   Session_type is either 0 or 1. 
  258.  
  259.   If you select 0, the tool runs in the foreground. The tool will appear next 
  260.   to Sessions in the Windows pulldown. 
  261.  
  262.   If you select 1, the tool runs as a background process. The tool will appear 
  263.   next to Dialogs in the Windows pulldown. A Monitor window displays showing 
  264.   the standard output. Only select 1 if the program does not interact with the 
  265.   user. 
  266.  
  267.   Note:  If the tool is a Presentation Manager* program, specify 0 to make sure 
  268.          the tool runs in the foreground. 
  269.  
  270.   If the tool is a command file, it is invoked with the /K parameter if it is 
  271.   to run in the foreground. If it is to rund in the background, it is invoked 
  272.   with the /C parameter. 
  273.  
  274.   In the example, the tool is to run in the foreground so 0 is specified. 
  275.  
  276. Repeat the above steps for each tool being added. When the resource script file 
  277. is complete, go to Step 2. 
  278.  
  279.  
  280. ΓòÉΓòÉΓòÉ 4.1. Resource Script File - Example ΓòÉΓòÉΓòÉ
  281.  
  282.  
  283. /*****************************************/
  284. /* Example of a Resource Script File     */
  285. /* that can be used by MAKEINI.EXE to    */
  286. /* create an intitialization file.       */
  287. /*****************************************/
  288.  
  289. CODEPAGE 850
  290.  
  291. STRINGTABLE
  292. BEGIN
  293.   ""
  294.   ""
  295.   ""
  296.   ""
  297.   ""
  298.   ""
  299.   ""
  300.   ""
  301.   ""
  302.   ""
  303.  
  304.  
  305.   "TOOLS"      "COUNT"      "3"
  306.  
  307.   "TOOLS1"     "TITLE"       "My Command Window"
  308.   "TOOLS1"     "PRG"         "d:\my_tools\my_cmd.exe"
  309.   "TOOLS1"     "DIR"         "d:\temp"
  310.   "TOOLS1"     "INVOKE"      "/k"
  311.   "TOOLS1"     "PROMTYPE"    "1"
  312.   "TOOLS1"     "PROMPT"      "Enter '/k command' (eg. /k dir)"
  313.   "TOOLS1"     "PRGMTYPE"    "2"
  314.   "TOOLS1"     "SESSION"     "1"
  315.  
  316.   "TOOLS2"     "TITLE"        "Dialog Box Editor"
  317.   "TOOLS2"     "PRG"          "DLGEDIT.EXE"
  318.   "TOOLS2"     "DIR"          "."
  319.   "TOOLS2"     "INVOKE"       "%f"
  320.   "TOOLS2"     "PROMTYPE"     "0"
  321.   "TOOLS2"     "PROMPT"       ""
  322.   "TOOLS2"     "PRGMTYPE"     "3"
  323.   "TOOLS2"     "SESSION"      "0"
  324.  
  325.   "TOOLS3"     "TITLE"        "IPF Compiler"
  326.   "TOOLS3"     "PRG"          "IPFC.EXE"
  327.   "TOOLS3"     "DIR"          "."
  328.   "TOOLS3"     "INVOKE"       "%f"
  329.   "TOOLS3"     "PROMTYPE"     "0"
  330.   "TOOLS3"     "PROMPT"       ""
  331.   "TOOLS3"     "PRGMTYPE"     "0"
  332.   "TOOLS3"     "SESSION"      "1"
  333.  
  334.   ""                   ""                  ""
  335. END
  336.  
  337.  
  338. ΓòÉΓòÉΓòÉ 5. Step 2 - Making An Initialization File ΓòÉΓòÉΓòÉ
  339.  
  340. The next step is to make an initialization file that can be used by the Addtool 
  341. utility. 
  342.  
  343. To make an initialization file, use the OS/2 operating system utility 
  344. MAKEINI.EXE to compile the resource script file (created in Step 1) into an 
  345. initialization file. 
  346.  
  347. For example, 
  348.  
  349.   makeini sample.ini sample.rc
  350.  
  351. creates the initialization file sample.ini from the resource script file 
  352. sample.rc. 
  353.  
  354. If any errors occur while using MAKEINI.EXE with your resource script file, 
  355. correct them and try again. If you need more information, consult the OS/2* 
  356. operating system online reference. 
  357.  
  358. When you initialization file has been successfully created, go to Step 3. 
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ 6. Step 3 - Using Addtool To Add the Tools ΓòÉΓòÉΓòÉ
  362.  
  363. To add the tools to the WorkFrame/2 product, enter the following command: 
  364.  
  365.   addtool ini_file [ordinal]
  366. where 
  367.  
  368. ini_file  Is the file name of the initialization file created in step 2. 
  369.  
  370. ordinal   Indicates where the tools should appear in the Tools pulldown. Use: 
  371.  
  372.    o 0 to put the tools at the top of the list 
  373.  
  374.    o 1 to put them after the first tool already in the list 
  375.  
  376.    o 2 to put them after the second tool already in the list and so on. 
  377.  
  378.           If the ordinal exceeds the number of tools in the Tools pulldown or 
  379.           is unspecified, the new tool is added to to the end of the tools 
  380.           list. 
  381.  
  382.  
  383. ΓòÉΓòÉΓòÉ 6.1. Adding Tools - Example ΓòÉΓòÉΓòÉ
  384.  
  385. Here's an example of commands used to add two tools to the WorkFrame/2 product: 
  386.  
  387.    addtool tool_x.ini 2
  388.   addtool tool_y.ini 99
  389.  
  390. Note:  The first command places the tools specified in tool_x.ini after the 
  391.        second item in the Tools pulldown. 
  392.  
  393. The second one places the tools specified in tool_y.ini at the end of the Tools 
  394. pulldown if there are less than 99 items in the pulldown. 
  395.  
  396.  
  397. ΓòÉΓòÉΓòÉ 7. Help for Messages ΓòÉΓòÉΓòÉ
  398.  
  399. For help on a particular message: 
  400.  
  401.  1. Select the plus ('+') symbol beside the Help for Messages heading in the 
  402.     Contents window to display a list of message identifiers. 
  403.  
  404.  2. Select the message identifier corresponding to the that displayed by the 
  405.     Addtool utility to see more information about it. 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 7.1. ADT0001E: Message Help ΓòÉΓòÉΓòÉ
  409.  
  410. Incorrect syntax. 
  411.  
  412. The syntax entered for the Addtool command is not valid. 
  413.  
  414. Recovery 
  415.  
  416. Ensure that the command you enter corresponds to the correct syntax: 
  417.  
  418.    addtool ini_file [ordinal]
  419. where 
  420.  
  421. ini_file  Is the file name of the initialization file created in step 2. 
  422.  
  423. ordinal   Indicates where the tools should appear in the Tools pulldown. Use: 
  424.  
  425.    o 0 to put the tools at the top of the list 
  426.  
  427.    o 1 to put them after the first tool already in the list 
  428.  
  429.    o 2 to put them after the second tool already in the list and so on. 
  430.  
  431.           If the ordinal exceeds the number of tools in the Tools pulldown or 
  432.           is unspecified, the new tool is added to to the end of the tools 
  433.           list. 
  434.  
  435.  
  436. ΓòÉΓòÉΓòÉ 7.2. ADT0002E: Message Help ΓòÉΓòÉΓòÉ
  437.  
  438. The ordinal (insertion point) must be numeric. 
  439.  
  440. The ordinal entered on the command line was not numerical. 
  441.  
  442. Recovery 
  443.  
  444. Enter the command again with a numerical ordinal. 
  445.  
  446.  
  447. ΓòÉΓòÉΓòÉ 7.3. ADT0003E: Message Help ΓòÉΓòÉΓòÉ
  448.  
  449. Unable to open input file <name_of_file>. 
  450.  
  451. The Addtool utility could not open the indicated file. 
  452.  
  453. Recovery 
  454.  
  455. Ensure that the file is not being used by another process and try again. 
  456.  
  457.  
  458. ΓòÉΓòÉΓòÉ 7.4. ADT0004E: Message Help ΓòÉΓòÉΓòÉ
  459.  
  460. Tool count missing from profile. 
  461.  
  462. The COUNT key is missing from the initialization file. 
  463.  
  464. Recovery 
  465.  
  466. Ensure that the COUNT key is specified in the initialization file. 
  467.  
  468.  
  469. ΓòÉΓòÉΓòÉ 7.5. ADT0005E: Message Help ΓòÉΓòÉΓòÉ
  470.  
  471. Memory allocation failure. 
  472.  
  473. An error occurred while trying to allocate memory. There may not be sufficient 
  474. memory to complete the task. 
  475.  
  476. Recovery 
  477.  
  478. Close one or more other tasks, and retry the command. 
  479.  
  480.  
  481. ΓòÉΓòÉΓòÉ 7.6. ADT0006E: Message Help ΓòÉΓòÉΓòÉ
  482.  
  483. Too many tools. The new total of new_total would exceed the maximum of 
  484. maximum_number_of_tools. 
  485.  
  486. By adding the tools specified in the file, the new total would be greater than 
  487. that allowed by the WorkFrame/2 product. 
  488.  
  489. Recovery 
  490.  
  491. Remove enough unused tools from the WorkFrame/2 product so that the new 
  492. additions keep the total less than 100. Then add the new tools. 
  493.  
  494.  
  495. ΓòÉΓòÉΓòÉ 7.7. ADT0007E: Message Help ΓòÉΓòÉΓòÉ
  496.  
  497. Addtool utility ending because of errors. 
  498.  
  499. One or more errors occurred before the Addtool utility finished. 
  500.  
  501. Recovery 
  502.  
  503. The errors that occurred were displayed previously to this one. Look up the 
  504. errors in the Contents section and correct the problem. 
  505.  
  506.  
  507. ΓòÉΓòÉΓòÉ 7.8. ADT0008E: Message Help ΓòÉΓòÉΓòÉ
  508.  
  509. Addtool utility finished successfully. 
  510.  
  511. The tools have been added to the WorkFrame/2 product. 
  512.  
  513.  
  514. ΓòÉΓòÉΓòÉ 7.9. ADT0009E: Message Help ΓòÉΓòÉΓòÉ
  515.  
  516. Error loading the WorkFrame/2 profile. 
  517.  
  518. The Addtool utility cannot load the user profile IBMWF.INI from the 
  519. installation directory. One of three conditions has occurred: 
  520.  
  521.  1. The installation directory of the WorkFrame/2 product could not be found by 
  522.     looking in OS2.INI. 
  523.  
  524.     Use the ADDUSER.EXE utility to specify the installation directory in the 
  525.     OS2.INI file. 
  526.  2. The profile failed to open. 
  527.  
  528.     If the file is being held by another process, release it and try again. 
  529.  3. The file has been corrupted. 
  530.  
  531.     In the last situation, you will have to install the WorkFrame/2 again. The 
  532.     environment will be preserved if you specify the same home directory, but 
  533.     you will have to specify your preferences again. 
  534.  
  535.  
  536. ΓòÉΓòÉΓòÉ 7.10. ADT0010E: Message Help ΓòÉΓòÉΓòÉ
  537.  
  538. Error reading WorkFrame/2 profile, OS/2* operating system return code is 
  539. <return_code>. 
  540.  
  541. The WorkFrame/2 initialization cannot read the user profile IBMWF.INI from the 
  542. installation directory. 
  543.  
  544. Recovery 
  545.  
  546. Look up the return code in the OS/2* operating system online reference for more 
  547. information and correct the problem. 
  548.  
  549.  
  550. ΓòÉΓòÉΓòÉ 7.11. ADT0011E: Message Help ΓòÉΓòÉΓòÉ
  551.  
  552. An error occurred while writing the WorkFrame/2 profile, OS/2* operating system 
  553. return code is <return_code>. 
  554.  
  555. The Addtool utility could not update the WorkFrame/2 profile. 
  556.  
  557. Recovery 
  558.  
  559. Look up the return code in the OS/2* operating system online reference for more 
  560. information and correct the problem. 
  561.  
  562.  
  563. ΓòÉΓòÉΓòÉ 7.12. ADT0012E: Message Help ΓòÉΓòÉΓòÉ
  564.  
  565. Profile tool string exceeded 65335 bytes when adding tool <name_of_tool>. 
  566.  
  567. The profile string used to hold the information about the WorkFrame/2's tools 
  568. reached its limit when trying to store the information about the indicated 
  569. tool. 
  570.  
  571. Recovery 
  572.  
  573. Delete tools from the WorkFrame/2 product that are no longer needed and try 
  574. again. 
  575.  
  576.  
  577. ΓòÉΓòÉΓòÉ 7.13. ADT0013E: Message Help ΓòÉΓòÉΓòÉ
  578.  
  579. Title is missing for tool <name_of_tool> 
  580.  
  581. The title is missing. 
  582.  
  583. A title must be provided before a tool can be added or changed. Your title is 
  584. missing or blank. 
  585.  
  586. Recovery 
  587.  
  588. Specify the title you want to use for this tool. 
  589.  
  590.  
  591. ΓòÉΓòÉΓòÉ 7.14. ADT0014E: Message Help ΓòÉΓòÉΓòÉ
  592.  
  593. Program name is missing for tool <name_of_tool>. 
  594.  
  595. No program name was specified for the indicated tool. 
  596.  
  597. Recovery 
  598.  
  599. Correct the resource script file so that the tool has a program name. 
  600.  
  601.  
  602. ΓòÉΓòÉΓòÉ 7.15. ADT0015E: Message Help ΓòÉΓòÉΓòÉ
  603.  
  604. Invocation string for tool <name_of_tool> incorrect - string terminated with a 
  605. '%'. 
  606.  
  607. The last character was a % character. It must be followed by another character 
  608. to form a recognized substitution variable. Recognized substitution variables 
  609. are %%, %a, %d, %e, %f, %m, %n, %o, %r, or %z. 
  610.  
  611. Recovery 
  612.  
  613. Add the appropriate character to the end of the string to create a substitution 
  614. variable or delete the % character. 
  615.  
  616.  
  617. ΓòÉΓòÉΓòÉ 7.16. ADT0016E: Message Help ΓòÉΓòÉΓòÉ
  618.  
  619. Invocation string for tool <name_of_tool> incorrect substitution variable found 
  620. within '%a...%z' string. 
  621.  
  622. Only '%%', %d, or '%z' can follow '%a'. 
  623.  
  624. A substitution variable other than %%, %d, or %z was found following a %a. 
  625.  
  626. Recovery 
  627.  
  628. Either remove the substitution variable, change it to a %%, %d, or %z, or add a 
  629. %z ahead of it. 
  630.  
  631.  
  632. ΓòÉΓòÉΓòÉ 7.17. ADT0017E: Message Help ΓòÉΓòÉΓòÉ
  633.  
  634. Invocation string for tool <name_of_tool> incorrect - '%z' found without '%a'. 
  635.  
  636. A %z substitution variable must be preceeded by a matching %a. 
  637.  
  638. Recovery 
  639.  
  640. Make sure the separator character or string that is to be used between the file 
  641. names is placed inbetween %a and %z symbols. Or remove the %z substitution 
  642. variable. 
  643.  
  644.  
  645. ΓòÉΓòÉΓòÉ 7.18. ADT0018E: Message Help ΓòÉΓòÉΓòÉ
  646.  
  647. Invocation string for tool <name_of_tool> incorrect - unrecognized substitution 
  648. variable <variable>. 
  649.  
  650. An unrecognized substitution variable was used. Recognized substitution 
  651. variables are %%, %a, %d, %e, %f, %m, %n, %o, %r, or %z. 
  652.  
  653. Recovery 
  654.  
  655. Change the substitution variable to a recognized substitution variable or 
  656. remove it. 
  657.  
  658.  
  659. ΓòÉΓòÉΓòÉ 7.19. ADT0019E: Message Help ΓòÉΓòÉΓòÉ
  660.  
  661. Invocation string for tool <name_of_tool> incorrect - '%a' found without '%z'. 
  662.  
  663. A %a substitution variable must be followed by a matching %z. 
  664.  
  665. Recovery 
  666.  
  667. Make sure the separator character or string that is to be used between the file 
  668. names is placed inbetween %a and %z symbols. Or remove the %a substitution 
  669. variable. 
  670.  
  671.  
  672. ΓòÉΓòÉΓòÉ 7.20. ADT0020E: Message Help ΓòÉΓòÉΓòÉ
  673.  
  674. Prompt type for tool <name_of_tool> must be 0 (zero)  or 1 (one). 
  675.  
  676. The "PROMPT" entry in the resource script file in neither a zero  ('0') nor a 
  677. one ('1'). 
  678.  
  679. 0 (zero)  If no prompt is to be displayed when the tool is run. 
  680.  
  681. 1 (one)   If a prompt is to be displayed. 
  682.  
  683. Recovery 
  684.  
  685. Specify either a 0 or a 1 for "PROMPT" in the resource script file. 
  686.  
  687.  
  688. ΓòÉΓòÉΓòÉ 7.21. ADT0021E: Message Help ΓòÉΓòÉΓòÉ
  689.  
  690. Session type for tool <name_of_tool> must be 0 (zero)  or 1 (one). 
  691.  
  692. The "SESSION" entry in the resource script file in neither a zero  ('0') nor a 
  693. one ('1'). 
  694.  
  695. If you select 0, the tool runs in the foreground. The tool will appear next to 
  696. Sessions in the Windows pulldown. 
  697.  
  698. If you select 1, the tool runs as a background process. The tool will appear 
  699. next to Dialogs in the Windows pulldown. A Monitor window displays showing the 
  700. standard output. Only select 1 if the program does not interact with the user. 
  701.  
  702. Note:  If the tool is a Presentation Manager* program, specify 0 to make sure 
  703.        the tool runs in the foreground. 
  704.  
  705. If the tool is a command file, it is invoked with the /K parameter if it is to 
  706. run in the foreground. If it is to rund in the background, it is invoked with 
  707. the /C parameter. 
  708.  
  709. Recovery 
  710.  
  711. Specify either a 0 or a 1 for "SESSION" in the resource script file. 
  712.  
  713.  
  714. ΓòÉΓòÉΓòÉ 7.22. ADT0022E: Message Help ΓòÉΓòÉΓòÉ
  715.  
  716. Program type for tool <name_of_tool> is incorrect. It must be one of the 
  717. following values: 0, 1, 2, 3, 4, 7, 256, 257, or 258. 
  718.  
  719. The value specified in the "PROMTYPE" line in the resource script file is not 
  720. one of the valid values. 
  721.  
  722. Recovery 
  723.  
  724. Correct the value in the "PROMTYPE" line. 
  725.  
  726. 0         Let the header of the tool's executable file control how the tool is 
  727.           run. 
  728.  
  729. 1         Run the program as an OS/2* operating system full-screen program. 
  730.  
  731. 2         Run the program as an OS/2* operating system text-windowed program. 
  732.  
  733. 3         Run the program as a Presentation Manager* program. 
  734.  
  735. 4         Run the program as a DOS full-screen program. 
  736.  
  737. 7         Run the program as a DOS text-windowed program. 
  738.  
  739. 256       Run the program as an OS/2* operating system command file. Let the 
  740.           command processor, CMD.EXE, control how it runs. 
  741.  
  742. 257       Run the program as an OS/2* operating system command file in a 
  743.           full-screen. 
  744.  
  745. 258       Run the program as an OS/2* operating system command file in 
  746.           text-windowed mode. 
  747.  
  748.  
  749. ΓòÉΓòÉΓòÉ 7.23. ADT0023E: Message Help ΓòÉΓòÉΓòÉ
  750.  
  751. Prompt is missing for tool <name_of_tool>. 
  752.  
  753. You have selected to have a prompt provided but have not specified a value for 
  754. the PROMPT key. 
  755.  
  756. Recovery 
  757.  
  758. Enter a value for the PROMPT key. 
  759.  
  760.  
  761. ΓòÉΓòÉΓòÉ 7.24. ADT0028E: Message Help ΓòÉΓòÉΓòÉ
  762.  
  763. Error creating backup of WorkFrame/2 profile, OS/2* operating system return 
  764. code is <return_code>. 
  765.  
  766. The Addtool utility could not make a backup of the WorkFrame/2 profile. 
  767.  
  768. Recovery 
  769.  
  770. Look up the OS/2* operating system return code in the online reference for more 
  771. information and correct the problem. 
  772.  
  773.  
  774. ΓòÉΓòÉΓòÉ 7.25. ADT0029E: Message Help ΓòÉΓòÉΓòÉ
  775.  
  776. The <name_of_string> for tool <name_of_tool> must be numeric. 
  777.  
  778. The value for the indicated string is not numeric. 
  779.  
  780. Recovery 
  781.  
  782. Specify a numeric value for the string. 
  783.  
  784.  
  785. ΓòÉΓòÉΓòÉ 7.26. ADT0030E: Message Help ΓòÉΓòÉΓòÉ
  786.  
  787. Tool count is not numeric. 
  788.  
  789. The value for the COUNT key in the initialization file is not numeric. 
  790.  
  791. Recovery 
  792.  
  793. Specify a numeric value for the COUNT key in the initialization file. 
  794.  
  795.  
  796. ΓòÉΓòÉΓòÉ 7.27. ADT0031E: Message Help ΓòÉΓòÉΓòÉ
  797.  
  798. Tool count is greater than the number of tools allowed. The maximum is 100. 
  799.  
  800. The value for the COUNT key is greater than 100. 
  801.  
  802. Recovery 
  803.  
  804. Ensure that the value is small enough so that the number of tools being added 
  805. plus the number already added does not exceed 100. 
  806.  
  807.  
  808. ΓòÉΓòÉΓòÉ <hidden> Current directory ΓòÉΓòÉΓòÉ
  809.  
  810. The current directory is the directory being used by the current project. 
  811.  
  812.  
  813. ΓòÉΓòÉΓòÉ <hidden> Monitor ΓòÉΓòÉΓòÉ
  814.  
  815. The Monitor window displays whenever a tool is running in the background or 
  816. Compile, Build, Link, or Make is selected from the Actions pulldown. Output 
  817. from the action displays in the list box so you can see what is happening. 
  818.  
  819. While the Monitor window list box is being updated, you can only select Stop. 
  820.  
  821. Select Stop to halt the tools or action associated with the window. 
  822.  
  823. If the action is completed successfully you will hear a high-pitched beep. If 
  824. the action is not successfully completed, then you will hear a low-pitched 
  825. beep. 
  826.  
  827. Note:  Some tools cannot be interrupted. 
  828.  
  829. The other pushbuttons are only available if: 
  830.  
  831. o The action has stopped on its own. 
  832.  
  833. o You have pressed the Stop pushbutton and the action has stopped. 
  834.  
  835. Once the action has stopped, you can use the: Print, Save, and Cancel 
  836. pushbuttons. 
  837.  
  838. You can double-click on a line in the Monitor window list box to edit files if 
  839. the dynamic link library of the compiler can parse the message line into a file 
  840. name. 
  841.  
  842. Once the editor has started, it can scroll to the line indicated in the message 
  843. if: 
  844.  
  845. o The editor supports the communication of error messages and the Send compiler 
  846.   errors check box (in the Configure Editor window) is selected. 
  847.  
  848. o The message line matches the form of the error message template specified in 
  849.   the Compile options dynamic link library. If you are using the default 
  850.   dynamic link library for the compile options, you can specify the error 
  851.   message template. If the dynamic link library is designed for a specific 
  852.   compiler, the error message template may already be built in. 
  853.  
  854. For example, if you are using the OS/2 Enhanced Editor editor and a compiler 
  855. which can send the line number in the message, you can use the monitor window 
  856. to move around the editing session. Suppose you are compiling a program and the 
  857. following messages appear in the Monitor window. 
  858.  
  859. DAVID.C(0184):Missing ';'.
  860. DAVID.C(1318):Wrong number of parameters.
  861. DAVID.C(3679):Unexpected text identifier.
  862. You could start the editing session by clicking on the first line. The OS/2 
  863. Enhanced Editor editor would not only display the file for editing but 
  864. automatically move to line 184. After inserting a ';', you could click on the 
  865. next message line to move to line 1318 of the file being edited. 
  866.  
  867. The feature works with most text mode editors and some editors based on the 
  868. Presentation Manager* program. 
  869.  
  870. For example, when you are fixing errors found by a compiler, just find the 
  871. error in the list box and select it to edit the source file. 
  872.  
  873.  
  874. ΓòÉΓòÉΓòÉ <hidden> Substitution Variables ΓòÉΓòÉΓòÉ
  875.  
  876. Substitution variables are symbols you can specify as invocation parameters. 
  877.  
  878. The WorkFrame/2 product supports the following substitution variables: 
  879.  
  880. %a...%z   Will be replaced by all the file names selected in the corresponding 
  881.           listbox. The file names will be separated by the characters specified 
  882.           between the 'a' and the '%' of the %z substitution variable. 
  883.  
  884.           For example, if the selected files are cat.obj, dog.obj, and 
  885.           bird.obj, the substitution variable %a+-%z will result in the string 
  886.  
  887.                     cat.obj+-dog.obj+-bird.obj
  888.  
  889.           The only substitution variable allowed within the %a...%z 
  890.           substitution variables are %% and %d. 
  891.  
  892. %d        Will be replaced with the directory of the current project. Use this 
  893.           substitution variable to qualify the name of file as in %d\%f or 
  894.           %d\%n.%e. 
  895.  
  896. %e        Will be replaced by the extension (without the period) of the first 
  897.           selected file. 
  898.  
  899. %f        Will be replaced with the first file selected in the corresponding 
  900.           listbox. 
  901.  
  902.           Specifying %f is the same as specifying %n.%e. 
  903.  
  904. %m        Will be replaced by the make file name specified when the project was 
  905.           created. 
  906.  
  907. %n        Will be replaced by the file name (without an extension) of the first 
  908.           selected file. 
  909.  
  910. %o        Will be replaced by the target file name specified when the project 
  911.           was created. 
  912.  
  913. %r        Will be replaced by the run options set for the current project. 
  914.  
  915. %%        Will be replaced by a % symbol. 
  916.  
  917.  
  918. ΓòÉΓòÉΓòÉ 8. LIB - Introduction ΓòÉΓòÉΓòÉ
  919.  
  920. The IBM* Library Manager (also referred to as LIB in this reference) lets you 
  921. create and maintain libraries of object code. 
  922.  
  923. Library files are given the extension of ".LIB" (as in MYLIB.LIB). High 
  924. Performance File System (HPFS) file names are also supported as long as the 
  925. file names ends with ".LIB" (as in MYLIBRARYFILE.NEW.LIB). 
  926.  
  927. LIB works with standard libraries and OS/2* import libraries. It does not work 
  928. with Dynamic Link Libraries (DLL). 
  929.  
  930. Use LIB to: 
  931.  
  932. o Create a new library 
  933. o Add, delete, or replace modules in a library 
  934. o Copy object modules in a library to object files 
  935. o List the contents of a library 
  936.  
  937.  
  938. ΓòÉΓòÉΓòÉ 9. Running LIB ΓòÉΓòÉΓòÉ
  939.  
  940. Run LIB by typing "LIB" at the operating system prompt. 
  941.  
  942. Parameters can be supplied by one of three methods: 
  943.  
  944.  1. Enter them directly on the command line. 
  945.  2. Respond to prompts. 
  946.  3. Put them in a text file called a response file and specify the file name 
  947.     after the LIB command. 
  948.  
  949. To enter more commands than can be conveniently entered on one line, type an 
  950. ampersand (&) at the end of the line and press Enter to extend the command 
  951. field to a new line. The ampersand can be used with all three input methods. 
  952.  
  953. You can press Ctrl+C or Ctrl+Break at any time during a LIB run to return to 
  954. the operating system. Interrupting LIB before completion restores the library 
  955. from the backup. 
  956.  
  957. Note: 
  958.  
  959. o When started, LIB makes a backup copy of the original library in case it is 
  960.   interrupted or a mistake is made. Make sure you have enough disk space for 
  961.   both your original library and the modified copy. 
  962.  
  963. o The library must end with the extension ".LIB". If an extension is not 
  964.   specified, the default extension, ".LIB", will be appended. HPFS file names 
  965.   are supported. Hence, MYLIBRARYNAME.NEW.LIB is still a valid library. Note 
  966.   that this implies that MYLIBRARYNAME.NEW refers to MYLIBRARYNAME.NEW.LIB. 
  967.  
  968. o If you enter an input library name and follow it immediately with a semicolon 
  969.   (;), LIB performs a consistency check on the library and takes no other 
  970.   action. 
  971.  
  972.  
  973. ΓòÉΓòÉΓòÉ 9.1. Using the Command Line ΓòÉΓòÉΓòÉ
  974.  
  975. You can specify all the input LIB needs on the command line. The syntax of the 
  976. command line is: 
  977.  
  978. LIB [options] inlibrary [commands] [[,listfile] [, outlibrary]] [;]
  979.  
  980. inlibrary        The input library to be modified. 
  981.  
  982. options          Options that affect the way LIB runs. 
  983.  
  984. commands         Commands used to add, delete, replace, copy, and move modules 
  985.                  within the library. 
  986.  
  987. listfile         The name for a listing file. If you don't specify a name, no 
  988.                  file is created. 
  989.  
  990. outlibrary       The output library created from the input library. If you 
  991.                  don't specify an output library, your input library is 
  992.                  replaced with the modified version (see below). 
  993.  
  994. Commas are used to separate commands and options. The semicolon (;) is used to 
  995. mark the end of the command line. 
  996.  
  997.  
  998. ΓòÉΓòÉΓòÉ 9.2. Using LIB Prompts ΓòÉΓòÉΓòÉ
  999.  
  1000. If you don't provide input to LIB on the command line, LIB prompts you for the 
  1001. information it needs by displaying the following messages, one at a time: 
  1002.  
  1003. Prompt               Enter 
  1004.  
  1005. Library name 
  1006.                    Name of the input library to be modified. 
  1007.  
  1008. Operations 
  1009.                    Commands to modify the library. If no operations are 
  1010.                    specified, the input library is unchanged. 
  1011.  
  1012. List file 
  1013.                    Name for a listing file If no listing file is specified, no 
  1014.                    listing file is created. 
  1015.  
  1016. Output library 
  1017.                    Name of the output library to be created from the input 
  1018.                    library. If no output library is specified, LIB modifies the 
  1019.                    input library. 
  1020.  
  1021. Enter the same information that you would enter when using the LIB command 
  1022. line. 
  1023.  
  1024. Notes 
  1025.  
  1026. o LIB waits for you to respond to each prompt before displaying the next 
  1027.   prompt. If you notice that you have entered an incorrect response to a 
  1028.   previous prompt, press Ctrl+C or Ctrl+Break to exit LIB and begin again. 
  1029. o A file name must be entered at the Library name: prompt. To choose a default 
  1030.   response for any of the other prompts, press Enter. To choose default 
  1031.   responses for all remaining prompts, type a semicolon (;) and press Enter. 
  1032.  
  1033.  
  1034. ΓòÉΓòÉΓòÉ 9.3. Using a LIB Response File ΓòÉΓòÉΓòÉ
  1035.  
  1036. To provide input to LIB with a response file, type: 
  1037.  
  1038. LIB @responsefile;
  1039.  
  1040. The field responsefile is the name of a file containing the same information 
  1041. that can be specified on the command line. 
  1042.  
  1043. In a sense, a response file extends the command line to include everything in 
  1044. the response file. To split input to LIB between the command line and a 
  1045. response file, put part of your input on the command line and specify a 
  1046. response file (preceding the response file name with the at sign (@)). The 
  1047. response file name can be any valid OS/2 file. To use special characters such 
  1048. as a space or the @ symbol, the filename must be enclosed in quotes. 
  1049.  
  1050. LIB responds to input you place in a response file just as it does to input you 
  1051. enter on a command line or after a prompt. Using a newline character in the 
  1052. response file is the equivalent of pressing the Enter key after a LIB prompt. 
  1053.  
  1054. A response file uses one text line for each prompt. To extend a LIB command to 
  1055. multiple lines, end each line except the last with an ampersand (&). Responses 
  1056. must appear in the same order as the prompts. If a response for one of the 
  1057. prompts does not appear, the default is used. 
  1058.  
  1059. Use a response file for: 
  1060.  
  1061. o Complex and long commands you type frequently 
  1062.  
  1063. o Strings of commands that exceed the limit for command line length. 
  1064.  
  1065.  
  1066. ΓòÉΓòÉΓòÉ <hidden> Specifying LIB Parameters - Examples ΓòÉΓòÉΓòÉ
  1067.  
  1068. This panel shows you examples of each method for specifying parameters to LIB. 
  1069.  
  1070. In the examples, the following operations create a new library, NEWLIB.LIB, and 
  1071. its listing file, NEWLIB.LST, from the existing MYLIB.LIB library. MYLIB.LIB is 
  1072. unchanged, but NEWLIB.LIB has these changes: 
  1073.  
  1074. o The contents are case-insensitive. 
  1075. o The module TIM is deleted. 
  1076. o The object file SIMON.OBJ is appended as an object module with the name 
  1077.   SIMON. 
  1078. o The existing module KEHM is deleted and is replaced by a new KEHM which is 
  1079.   appended after SIMON. 
  1080. o The module LAM is copied into an object file named LAM.OBJ. 
  1081.  
  1082. Command Line Method 
  1083.  
  1084. At the operating system prompt, enter the following two lines. 
  1085.  
  1086. LIB /I MYLIB, SIMON-TIM-+KEHM &
  1087. *LAM, NEWLIB.LST, NEWLIB;
  1088.  
  1089. LIB Prompts Method 
  1090.  
  1091. To have LIB prompt you for input, enter LIB with no parameters. 
  1092.  
  1093. Library name: /I MYLIB
  1094. Operations: +SIMON-TIM-+KEHM &
  1095. Operations: *LAM
  1096. List file: NEWLIB.LST
  1097. Output library: NEWLIB
  1098.  
  1099. Response File Method 
  1100.  
  1101. First, create a response file with the following contents. 
  1102.  
  1103. /I MYLIB
  1104. +SIMON-TIM-+KEHM &
  1105. *LAM
  1106. NEWLIB.LST
  1107. NEWLIB
  1108. Then, assuming the name of the response file is response.fil, invoke LIB with: 
  1109.  
  1110. LIB @RESPONSE.FIL;
  1111.  
  1112. Note that the lines in the response file match the entries you would have made 
  1113. with the prompting method. Even the ampersand character (&), the continuation 
  1114. character, is used in the same way. 
  1115.  
  1116.  
  1117. ΓòÉΓòÉΓòÉ 10. Creating a New Library ΓòÉΓòÉΓòÉ
  1118.  
  1119. To create a new library file, give the name of the library file you want to 
  1120. create in the inlibrary field on the command line (or at the Library name: 
  1121. prompt when using LIB prompts). 
  1122.  
  1123. Note:  A library file is automatically created if the library file name you 
  1124. specify is immediately followed by a command, comma, or semicolon. In this 
  1125. case, the prompt does not appear. 
  1126.  
  1127. If the name you specify for the new library file already exists, LIB assumes 
  1128. that you want to modify the existing file. 
  1129.  
  1130. When you give the name of a file that does not currently exist, LIB displays 
  1131. the following prompt: 
  1132.  
  1133. Library does not exist.  Create library? (y or n)
  1134.  
  1135. Type y to create the file; type n to terminate the LIB run. If you specified an 
  1136. extension other than .LIB, LIB will try to append the .LIB extension to the 
  1137. entire file name. If a library name is not entered, LIB will prompt you with 
  1138. Library name:. 
  1139.  
  1140.  
  1141. ΓòÉΓòÉΓòÉ 11. Modifying a Library ΓòÉΓòÉΓòÉ
  1142.  
  1143. You can use LIB to alter the contents of any object code library. For example, 
  1144. if you work with high level language libraries, you may want to replace a 
  1145. standard routine with your own version of the routine. You may also want to add 
  1146. a new routine to the standard library so that your routine is available along 
  1147. with the standard routines. 
  1148.  
  1149. To modify an existing library file, give the name of the library file you want 
  1150. to modify in the inlibrary field of the command line (or at the Library name: 
  1151. prompt when using LIB prompts). 
  1152.  
  1153. In the command field, enter one or more commands to add, delete, or replace 
  1154. modules in the input library. Each command consists of a command character 
  1155. immediately followed by the name of the module or object file. Note that the 
  1156. Add command can be used to combine libraries as well as to add object files to 
  1157. a library. See: 
  1158.  
  1159. Add Command (+) 
  1160. Delete Command (-) 
  1161. Replace Command (-+) 
  1162.  
  1163. LIB creates a backup file of the library being modified if it already exists. 
  1164. This backup file has the same name as the original library with ".BAK" as the 
  1165. extension. 
  1166.  
  1167.  
  1168. ΓòÉΓòÉΓòÉ 12. Copying Object Modules to Object Files ΓòÉΓòÉΓòÉ
  1169.  
  1170. To copy a module from a library file to an object file, give the name of the 
  1171. library file in the inlibrary field on the command line (or at the Library 
  1172. name: prompt when using LIB prompts). 
  1173.  
  1174. The command field on the command line allows you to move or copy modules. 
  1175.  
  1176. Command   Action 
  1177.  
  1178. copy (*)  LIB copies the module to an object file and retains the module in the 
  1179.           library. 
  1180.  
  1181. move (-*) LIB copies the module to an object file and deletes the module from 
  1182.           the library. 
  1183.  
  1184.  
  1185. ΓòÉΓòÉΓòÉ 13. Listing the Current Contents of a Library ΓòÉΓòÉΓòÉ
  1186.  
  1187. Listings give you the exact names of modules and public symbols, allowing you 
  1188. to inspect the contents within a library. 
  1189.  
  1190. To generate a listing file, enter the following on the command line (or at the 
  1191. appropriate LIB prompt): 
  1192.  
  1193. o The name of the library file in the inlibrary field 
  1194.  
  1195. o The name of the listing file in the listfile field 
  1196.  
  1197. When generating a listing file, the amount of detail can be varied. The level 
  1198. of detail is specified with the 
  1199.  
  1200.      /Listlevel:n
  1201. option, with three different levels being available. 
  1202.  
  1203. Level 1 is the default. It is the fastest to generate and contains the least 
  1204. amount of information. All modules are listed in order of occurrence. For each 
  1205. module, the level 1 option: 
  1206.  
  1207.  1. Shows the relative position and size of each module. 
  1208.  
  1209.  2. Lists all the public symbols defined in the module. 
  1210.  
  1211.  3. Lists all external symbols which must be resolved at link time. 
  1212.  
  1213. Level 2 contains all the information of level 1. In addition, for each external 
  1214. symbol, level 2 shows which module in the library contains the required public 
  1215. symbols for resolving at link time. This can be overridden if a module is 
  1216. linked to another module that already contains the symbol. 
  1217.  
  1218. Level 3 contains all the information of level 2. In addition, Level 3 displays 
  1219. the technical characteristics of the library. This option also contains a dump 
  1220. of the extended dictionary. This is useful to determine which modules will be 
  1221. implicitly linked in whenever a particular module is linked in. 
  1222.  
  1223. Note:  If you are using the IBM C/C++ Tools product, the listings will show 
  1224.        both the mangled name for each C++ function and the demangled name. 
  1225.  
  1226. Sample Cross Reference Listing 
  1227.  
  1228. LIB /LISTLEVEL:2 NEWLIB, NEWLIB.LST;
  1229.  
  1230. The command above directs LIB to place a listing of the contents of NEWLIB.LIB 
  1231. into the file NEWLIB.LST. No path specification is given for NEWLIB.LST. By 
  1232. default, the file created is put in the current directory. 
  1233.  
  1234.  
  1235. ΓòÉΓòÉΓòÉ <hidden> Listing Example ΓòÉΓòÉΓòÉ
  1236.  
  1237. The syntax used to generate a listing file with level 3 option is: 
  1238.  
  1239. LIB /L:3 NEWLIB, NEWLIB.LST;
  1240.  
  1241. This command generates the following listing file called NEWLIB.LST: 
  1242.  
  1243. IBM (R) Library Manager Version 2.00
  1244. Copyright (C) IBM Corporation 1991, 1992.  All rights reserved.
  1245.  
  1246. Library name : D:\TEMP\NEWLIB.LIB
  1247.  
  1248. Listing detail level : 3
  1249.  
  1250.  
  1251.     ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1252.   ΓöîΓöÇΓöñNumber of the module within the parent library. TheΓöé
  1253.   Γöé Γöéfirst module number in the listing file is 00000.  Γöé
  1254.   Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1255.   Γöé   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1256.   Γöé   ΓöéName of the module within the library.Γöé
  1257.   Γöé   ΓööΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1258.         
  1259. 00000:francis(OFFSET:0x00000010, SIZE:0x000004ca):
  1260.                                         
  1261.                          Γöé   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1262.                          Γöé   ΓöéSize (in bytes) of the object module.Γöé
  1263.                          Γöé   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1264.                 ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1265.                 ΓöéRelative offset (in bytes) of the module within the library.Γöé
  1266.                 ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1267.                         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1268.  - Public Definitions:ΓöÇΓöñSymbols defined by the module.  Γöé
  1269.      francis            ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1270.  
  1271.                              ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1272.                              ΓöéSymbols defined in a differentΓöé
  1273.  - External Definitions:ΓöÇΓöÇΓöÇΓöÇΓöñmodule within the library.    Γöé
  1274.      DosAllocMem             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1275.      _ilog2
  1276.      _critlib_except
  1277.      _DosSelToFlat
  1278.      _DosFlatToSel
  1279.  
  1280.  
  1281. 00001:lam (OFFSET:0x000004e0, SIZE:0x000001d1):
  1282.  - Public Definitions:
  1283.      lam
  1284.  
  1285.  - External Definitions:
  1286.      francis                            <- 00000:francisΓöÇΓöÇΓöÇΓöÇΓöÉ
  1287.      _critlib_except                                         Γöé
  1288.      _DosSelToFlat       ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1289.      _DosFlatToSel       ΓöéNumber and name of the module within the libraryΓöé
  1290.                          Γöéthat defines the corresponding public symbol.   Γöé
  1291.                          ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1292.  
  1293. 00002:hazlett (OFFSET:0x000006c0, SIZE:0x0000021a):
  1294.  - Public Definitions:
  1295.      hazlett
  1296.  
  1297.  - External Definitions:
  1298.      DosFreeMem
  1299.      _critlib_except
  1300.      _DosSelToFlat
  1301.      _DosFlatToSel
  1302.      _pBucketArr
  1303.  
  1304.  
  1305. 00003:simon (OFFSET:0x000008e0, SIZE:0x00000428):
  1306.  - Public Definitions:
  1307.      simon
  1308.  
  1309.  - External Definitions:
  1310.      _ilog2
  1311.      hazlett                            <- 00002:hazlett
  1312.      francis                            <- 00000:francis
  1313.      _critlib_except
  1314.      _DosSelToFlat
  1315.      _DosFlatToSel
  1316.      _pBucketArr
  1317.  
  1318.  
  1319. 00004:kehm (OFFSET:0x00000d10, SIZE:0x00000342):
  1320.  - Public Definitions:
  1321.      _kehm
  1322.  
  1323.  - External Definitions:
  1324.      DosFreeMem
  1325.      _critlib_except
  1326.      _DosSelToFlat
  1327.      _DosFlatToSel
  1328.      _pBucketArr
  1329.  
  1330. The following information describes the characteristics of the library. 
  1331.  
  1332. Page size = 16
  1333.  
  1334. The Flags field determines case sensitivity. 0x1 indicates case sensitivity. 
  1335. 0x0 indicates no case sensitivity. 
  1336.  
  1337. Flags = 0x0
  1338.  
  1339. Contains extended dictionary
  1340.  
  1341. Total number of modules = 5
  1342.  
  1343. Total bytes for modules = 4592
  1344.  
  1345. Total number of symbols in dictionary = 10
  1346.  
  1347. Maximum number of symbols in dictionary = 74
  1348.  
  1349. Total number of pages for the dictionary = 2
  1350.  
  1351. The following is the extended dictionary information. The number in parentheses 
  1352. indicates the number of dependencies. It is followed by the list of modules 
  1353.  
  1354. In this case, modules 0, 2, and 4 have no dependencies, module 1 is dependent 
  1355. on module 0, and module 3 is dependent on modules 0 and 2. 
  1356.  
  1357. ======== Dependencies by Module ========
  1358. Module 00000 : (00000)
  1359. Module 00001 : (00001) 00000
  1360. Module 00002 : (00000)
  1361. Module 00003 : (00002) 00000 00002
  1362. Module 00004 : (00000)
  1363.  
  1364.  
  1365. ΓòÉΓòÉΓòÉ 14. Commands ΓòÉΓòÉΓòÉ
  1366.  
  1367. LIB commands are used to manipulate modules in a library. A single LIB run uses 
  1368. multiple commands in any order. 
  1369.  
  1370. Each command consists of a one or two character command symbol immediately 
  1371. followed by the name of the module or file that is the subject of the command. 
  1372. For example, 
  1373.  
  1374. +EFREM.OBJ
  1375.  
  1376. adds the EFREM.OBJ object file to a library as EFREM. 
  1377.  
  1378. Command   Action 
  1379.  
  1380. [+]  Adds an object file or library to a library 
  1381.  
  1382. -    Deletes a module from a library 
  1383.  
  1384. -+   Replaces a module in a library 
  1385.  
  1386. *    Copies a module from a library to an object file 
  1387.  
  1388. -*   Moves a module (copies the module and then deletes it) 
  1389.  
  1390. Notes 
  1391.  
  1392. o If you want to enter more commands than can be conveniently entered on one 
  1393.   line, type an ampersand (&) and press Enter at the end of the line. This 
  1394.   extends the command field to the next line. 
  1395.  
  1396. o When processing commands, LIB processes all copy commands first. LIB then 
  1397.   processes the deletions and processes the additions last. 
  1398.  
  1399. o LIB never makes changes to your input library while it runs; it copies the 
  1400.   library and makes changes to that copy. However, if you don't specify an 
  1401.   output library, LIB overwrites the input library with the modified copy at 
  1402.   the end of normal processing. See Using the LIB Command Line for more 
  1403.   information. 
  1404.  
  1405.  
  1406. ΓòÉΓòÉΓòÉ 14.1. Add Command (+) ΓòÉΓòÉΓòÉ
  1407.  
  1408. Use the add command to add an object module or library to a library. The add 
  1409. command is issued using the plus (+) sign or leaving a blank space. 
  1410.  
  1411. Adding an Object Module to a Library 
  1412.  
  1413. Type the name of the object file to be added immediately after the plus sign. 
  1414. The ".OBJ" extension may be omitted. 
  1415.  
  1416. LIB uses the base name of the object file as the name of the object module in 
  1417. the library. For example, if the object file B:\CURSOR.OBJ is added to a 
  1418. library file, the name of the corresponding object module is CURSOR. 
  1419.  
  1420. Object modules are always added to the end of a library file. 
  1421.  
  1422. Combining Two Libraries 
  1423.  
  1424. Give the name of the library file to be added, including the ".LIB" extension, 
  1425. immediately after the plus sign (+). A copy of the contents of that library is 
  1426. added to the library file being modified. If both libraries contain a module 
  1427. with the same name, LIB ignores the second module with that name. 
  1428.  
  1429. LIB adds the modules of the library to the end of the library being changed. 
  1430. Note that the added library still exists as an independent library because LIB 
  1431. copies the modules without deleting them. 
  1432.  
  1433. Examples 
  1434.  
  1435. LIB MYLIB +EFREM;
  1436.  
  1437. The command above adds the file EFREM.OBJ to the library MYLIB.LIB. 
  1438.  
  1439. LIB NEWLIB +KAREN.LIB;
  1440.  
  1441. The command above adds the contents of the library KAREN.LIB to the library 
  1442. NEWLIB.LIB. The library KAREN.LIB is unchanged after this command is executed. 
  1443.  
  1444.  
  1445. ΓòÉΓòÉΓòÉ 14.2. Delete Command (-) ΓòÉΓòÉΓòÉ
  1446.  
  1447. Use the delete command (-) to delete an object module from a library. After the 
  1448. minus sign, give the name of the module to be deleted. Module names do not have 
  1449. path names or extensions. 
  1450.  
  1451. Example 
  1452.  
  1453. LIB MYLIB -EFREM;
  1454.  
  1455. The command above deletes the module EFREM from the library MYLIB.LIB. 
  1456.  
  1457.  
  1458. ΓòÉΓòÉΓòÉ 14.3. Replace Command (-+) ΓòÉΓòÉΓòÉ
  1459.  
  1460. Use the replace command (-+) to replace a module in a library. Following the 
  1461. symbol, give the name of the module to be replaced. 
  1462.  
  1463. To replace a module, LIB performs the following steps: 
  1464.  
  1465.  1. Deletes the existing module 
  1466.  
  1467.  2. Searches the current directory for the ".OBJ" file with the same file name 
  1468.     as the deleted module 
  1469.  
  1470.  3. Appends to the library a copy of the object file with the original module 
  1471.     name 
  1472.  
  1473. Example 
  1474.  
  1475. LIB MYLIB -+EFREM;
  1476.  
  1477. The command above replaces the module EFREM in the MYLIB.LIB library with the 
  1478. contents of EFREM.OBJ from the current directory. The file EFREM.OBJ in the 
  1479. current directory is not altered. 
  1480.  
  1481.  
  1482. ΓòÉΓòÉΓòÉ 14.4. Copy Command (*) ΓòÉΓòÉΓòÉ
  1483.  
  1484. Use the copy command (*) to copy a module from the library into an object file 
  1485. of the same name. The module remains in the library. 
  1486.  
  1487. When LIB copies the module to an object file, it adds the ".OBJ" extension to 
  1488. the module name and places the file in the current directory. If a file with 
  1489. this name already exists, LIB overwrites the existing ".OBJ" file. 
  1490.  
  1491. Example 
  1492.  
  1493. LIB MYLIB *EFREM;
  1494.  
  1495. The command above copies the module EFREM from the MYLIB.LIB library to a file 
  1496. called EFREM.OBJ in the current directory. The module EFREM in MYLIB.LIB is not 
  1497. altered. 
  1498.  
  1499.  
  1500. ΓòÉΓòÉΓòÉ 14.5. Move Command (-*) ΓòÉΓòÉΓòÉ
  1501.  
  1502. Use the move command (-*) to copy an object module from the library file to an 
  1503. object file. The object module is then deleted from the library file. This 
  1504. operation is equivalent to copying the module to an object file, then deleting 
  1505. the module from the library. 
  1506.  
  1507. Example 
  1508.  
  1509. LIB MYLIB -*KEELING;
  1510.  
  1511. The command above moves the module KEELING from the MYLIB.LIB library to a file 
  1512. called KEELING.OBJ in the current directory. Upon completion of this process, 
  1513. MYLIB.LIB no longer contains the module KEELING. 
  1514.  
  1515.  
  1516. ΓòÉΓòÉΓòÉ 15. Options ΓòÉΓòÉΓòÉ
  1517.  
  1518. Usage Notes: 
  1519.  
  1520. o Option characters are not case sensitive; /H and /h are equivalent. 
  1521. o The characters in brackets can be omitted; /H and /HELP are equivalent. 
  1522. o Unless otherwise specified, most options and commands need only the first 
  1523.   letter of their names to be used. 
  1524.  
  1525. The following is a summary of LIB options: 
  1526.  
  1527. Option                  Action 
  1528.  
  1529. /? or ? or /H[ELP]      Display Help 
  1530.  
  1531. /I[GNORECASE]           Turn Case Sensitivity Off 
  1532.  
  1533. /NOE[XTDICTIONARY]      Disable Generation of Extended Dictionary 
  1534.  
  1535. /NOI[GNORECASE]         Turn Case Sensitivity On 
  1536.  
  1537. /NOL[OGO]               Suppress LIB Banner 
  1538.  
  1539. /Q[UIET]                Suppress LIB Banner 
  1540.  
  1541. /P[AGESIZE]             Set Library Page Size 
  1542.  
  1543. /L[ISTLEVEL]            List Current Contents of Library 
  1544.  
  1545.  
  1546. ΓòÉΓòÉΓòÉ 15.1. /I Option ΓòÉΓòÉΓòÉ
  1547.  
  1548. Turn Case Sensitivity Off (/I) 
  1549.  
  1550. Syntax:  /I[GNORECASE] 
  1551.  
  1552. Purpose:  Turns off case sensitivity for symbols 
  1553.  
  1554. By default, case sensitivity is off. Use this option when you are combining a 
  1555. library that was created with  case sensitivity on (using the /NOI option) with 
  1556. others that are not case sensitive.  The resulting library is not case 
  1557. sensitive. 
  1558.  
  1559.  
  1560. ΓòÉΓòÉΓòÉ 15.2. /NOE Option ΓòÉΓòÉΓòÉ
  1561.  
  1562. Disable Generation of Extended Dictionary (/NOE) 
  1563.  
  1564. Syntax:  /NOE[XTDICTIONARY] 
  1565.  
  1566. Purpose: Disables generation of extended dictionary 
  1567.  
  1568. The extended dictionary is an optional part of the library that increases 
  1569. linking speed. However, using an extended dictionary requires more memory. The 
  1570. space reserved for the extended dictionary is limited to 64K, no more can be 
  1571. allocated. If LIB reports an out-of-memory error, you may want to use this 
  1572. option. As an alternative, you can split large libraries into smaller libraries 
  1573. to use in linking. 
  1574.  
  1575.  
  1576. ΓòÉΓòÉΓòÉ 15.3. /NOI Option ΓòÉΓòÉΓòÉ
  1577.  
  1578. Turn Case Sensitivity On (/NOI) 
  1579.  
  1580. Syntax:  /NOI[GNORECASE] 
  1581.  
  1582. Purpose:  Turns on case sensitivity 
  1583.  
  1584. By default, case sensitivity is off (/I option). Using this option allows 
  1585. symbols that differ only in case, such as Sine and SINE, to be included as 
  1586. separate symbols in the same library. 
  1587.  
  1588. Note that when you create a library with the /NOI option, LIB marks the library 
  1589. internally to indicate that /NOI is in effect. If you combine multiple 
  1590. libraries, and any one of them is marked /NOI, then the output library is 
  1591. marked /NOI. 
  1592.  
  1593.  
  1594. ΓòÉΓòÉΓòÉ 15.4. /P Option ΓòÉΓòÉΓòÉ
  1595.  
  1596. Set Library Page Size (/P) 
  1597.  
  1598. Syntax:  /P[AGESIZE]: n 
  1599.  
  1600. Purpose:  Sets library page size 
  1601.  
  1602. This option specifies the library page size of a new library or changes that of 
  1603. an existing library. The new page size n must be an integer value representing 
  1604. a power of 2 between the values 16 and 32,768. 
  1605.  
  1606. A library's page size affects the alignment of modules stored in the library. 
  1607. Modules are always aligned to start at a position that is a multiple of the 
  1608. page size (in bytes) from the beginning of the file. The default page size for 
  1609. a new library is 16 bytes. For an existing library, the default is its current 
  1610. page size. 
  1611.  
  1612. Because of LIB's indexing technique, the larger the page size, the more modules 
  1613. a library can hold. Each module requires an average of n/2 bytes of storage 
  1614. space. Therefore, you should use a small page size unless you need to put a 
  1615. very large number of modules in a library. 
  1616.  
  1617. Another consequence of LIB's indexing technique is that the page size limits 
  1618. the size of the library file to n * 65,536. For example, the option /P:16 
  1619. limits the size to 1 megabyte (16 * 65,536 bytes). 
  1620.  
  1621.  
  1622. ΓòÉΓòÉΓòÉ 15.5. / ? or ? or /H Option ΓòÉΓòÉΓòÉ
  1623.  
  1624. Display Help 
  1625.  
  1626. Syntax:   /H[ELP] 
  1627.           or 
  1628.           /? 
  1629.           or 
  1630.           ? 
  1631.  
  1632. Purpose:  Displays help on LIB 
  1633.  
  1634. A brief summary of LIB syntax is displayed. 
  1635.  
  1636.  
  1637. ΓòÉΓòÉΓòÉ 15.6. /NOL or /Q Option ΓòÉΓòÉΓòÉ
  1638.  
  1639. Suppress LIB Banner 
  1640.  
  1641. Syntax:  /NOL[OGO] or /Q[UIET] 
  1642.  
  1643. Purpose:  Suppresses the LIB copyright notice. 
  1644.  
  1645. This option suppresses the banner message when LIB is started. It can be used 
  1646. in batch files. 
  1647.  
  1648.  
  1649. ΓòÉΓòÉΓòÉ <hidden> Library ΓòÉΓòÉΓòÉ
  1650.  
  1651. A library is an organized collection of object code which contains functions 
  1652. and data that are already assembled or compiled. Once an object file is 
  1653. incorporated into a library, it becomes an object module. 
  1654.  
  1655. Libraries are used to: 
  1656.  
  1657. o Support high level languages. Most compilers include libraries to perform 
  1658.   standard operations, such as input/output and floating-point mathematics. 
  1659.  
  1660.   When your program refers to a library routine, the compiler and linker 
  1661.   combine the library routine with your program. 
  1662.  
  1663. o Perform complex and specialized activities, such as database management or 
  1664.   advanced graphics. You can use your own libraries or specialized libraries 
  1665.   supplied by a vendor. 
  1666.  
  1667. o Support your own work. If you have created routines that you use with a 
  1668.   variety of programs, you may want to consolidate these routines into a 
  1669.   library. You can then link to one library. 
  1670.  
  1671.  
  1672. ΓòÉΓòÉΓòÉ <hidden> Output Library ΓòÉΓòÉΓòÉ
  1673.  
  1674. If you specify a file in outlibrary, LIB creates a new output file with the 
  1675. modifications and leaves your input file intact. Otherwise, LIB replaces your 
  1676. input file with the modified file. In the latter case, a backup of your 
  1677. original input file is stored in the current directory with the file name 
  1678. extension ".BAK". 
  1679.  
  1680.  
  1681. ΓòÉΓòÉΓòÉ <hidden> Object File ΓòÉΓòÉΓòÉ
  1682.  
  1683. An object file is produced by a compiler or assembler from one or more source 
  1684. files. An object file has an extension of ".OBJ". (as in "MYPROJ.OBJ").  In 
  1685. LIB, HPFS file names are also supported as long as the file name ends with 
  1686. ".OBJ" (as in "MYOBJECTFILE.NEW.OBJ"). 
  1687.  
  1688.  
  1689. ΓòÉΓòÉΓòÉ <hidden> Object Module ΓòÉΓòÉΓòÉ
  1690.  
  1691. The object module is a self-contained unit within a library of precompiled or 
  1692. preassembled routines. When individual object files are combined into a single 
  1693. library file, they become object modules. 
  1694.  
  1695. In LIB, an object module is referred to by its name, without a file extension. 
  1696. For example, assume that the object file KEELING.OBJ is inserted into a 
  1697. library. It then becomes an object module and is simply referred to as KEELING.