3 ABORT ABORT=n ABORT directs TKB to abort the task build. Use ABORT when you discover that an earlier error in the command sequence will cause TKB to function incorrectly When TKB recognizes ABORT, it stops accepting input and restarts at the beginning to allow you to reenter commands. n Any integer value. TKB ignores it but requires it for syntax only. 3 ABSPAT ABSPAT=segmentname:address:val1:val2:...:val8 ABSPAT declares a series of patches starting at the specified base address. Up to eight patch values can be given. segmentname A 1- to 6-character Radix-50 name of the segment. address The octal address of the first patch. The address may be on a byte boundary; however, two bytes are always modified for each patch: the addressed byte and the following byte. val1...val8 Octal numbers in the range 0 to 177777 to be stored at the appropriate addresses. The value val1 is stored at the specified address; val2 is stored at the specified address + 2; val3 is stored at the specified address + 4:; and so forth. 3 ACTFIL ACTFIL=file-max ACTFIL declares the maximum number of files that the task can have open simultaneously. TKB allocates approximately 512 bytes for each active file. If a task uses less than four active files (the default), the ACTFIL option can save space. If the number of active files is more than four, you must use the ACTFIL option to make the additional allocation. file-max A decimal integer indicating the maximum number of files that can be open at the same time. The default is ACTFIL=4. 3 ASG ASG=devicename:unitnum1:unitnum2:...:unitnum8 ASG declares the physical device that is assigned to one or more logical units. devicename A 2 character alphabetic device name followed by a 1- to 3-digit decimal unit number. unitnum1... Decimal integers indicating the logical unit numbers. The default is ASG=SY0:1:2:3:4,TI0:5,CL0:6 3 CLSTR The CLSTR option allows a task to dynamically map memory-resident shared regions at run time. One task address window maps the libraries into the same span of virtual address space. You must follow several rules when designing and building shareable clustered libraries. These rules are: 1. All libraries but the default are required to be built with resident overlays 2. All interlibrary references are resolved directly through the user task 3. Revectored entry point symbols must not appear in the upstream .STB file 4. A called library procedure must not require parameters on the stack 5. All libraries must be PIC or built for the same address 6. Trap or asynchronous entry into a library is not permitted After building the individual libraries and placing the .TSK and .STB files for all the libraries into the LB:[1,1] directory, you may build your task. The TKB option line that you must use for your task has the following syntax: CLSTR=library_1,library_2,...library_n:switch:apr library_n The first specification denotes the first or the default library, which is the library to which the task maps when the task starts up and remaps after any call to another library. The total number of libraries to which a task may map is seven. The number of the component libraries in clusters is limited to a maximum of six. A cluster must contain a minimum of two libraries. It is possible to have two clusters of three libraries each or three clusters of two libraries each; any combination of number of clusters and libraries must equal at least two to a maximum of six. If six libraries are used in clusters, the task may map to only one other, separate, library. :switch:apr The switch :RW or :RO indicates whether the cluster is read-only or read-write for this particular task. The APR specification is optional and indicates which APR is to be used as the starting APR when mapping to cluster libraries. If not specified, TKB assigns the highest available APRs and as many as required to map the library. 3 CMPRT CMPRT=name (RSX-11M-PLUS only) CMPRT identifies to TKB both the task as a supervisor-mode library and the completion routine that the library uses. The library uses the routine to return control to your program in user mode. Two completion routines are available in SYSLIB: 1. $CMPCS restores only the carry bit in the user-mode PS 2. $CMPAL restores all the condition code bits in the user-mode PS name A 1- to 6-character Radix-50 name identifying the completion routine. 3 COMMON COMMON=name:access-code[:apr] COMMON and LIBR are functionally identical to TKB. They both declare that the task intends to access a system-owned shared region. However, by convention, COMMON identifies a shared region that contains data only, and LIBR identifies a shared region that contains code only. System-owned is a definition given to a file that resides in UFD [1,1] on device LB: along with its associated symbol definition file. Therefore, a system-owned common or library is one that resides at that location. name A 1- to 6-character Radix-50 name that specifies the common or library. TKB looks for the symbol definition file with the same name as that of the common or library and with a .STB extension in UFD [1,1] on device LB:. access-code The type of access (read-write or read-only) the task requires. RW indicates read-write and RO indicates read-only. apr An integer in the range of 1 to 7 that specifies the first APR that TKB is to reserve for the shared region. TKB recognizes apr for a mapped system only. You can specify it for relocatable regions only. TKB selects the highest available APR by default if you omit apr and the region is relocatable. For an absolute shared region, its base address and the APR that maps it are determined by the arguments in the PAR option when the region is built. In an RSX-11M-PLUS task that uses I- and D-space and a common, the common is considered data only. The Executive maps the common with D-space APRs only. If the same task uses LIBR as an option for a region, the Executive maps the library with I-space and D-space APRs. 3 EXTSCT EXTSCT=psectname:extension EXTSCT declares an extension in size for a p-section. If the p-section has the attribute CON, the section is extended by the specified number of bytes. If the p-section has the attribute OVR, the section is extended only if the length of the extension is greater than the length of the p-section. psectname A 1- to 6-character Radix-50 name specifying the p-section to be extended. extension An octal integer that specifies the number of bytes by which the p-section is to be extended. 3 EXTTSK EXTTSK=length EXTTSK declares the amount of additional memory to be allocated to the task when installed in a mapped system in a user-controlled partition. The amount of memory available to the task is the sum of the task size plus the increment specified in the EXTTSK keyword (rounded up to the nearest 32-word boundary). length A decimal number in the range of 0 to 65,535 specifying the increase in task memory allocation (in words). 3 FMTBUF FMTBUF=maxformat FMTBUF declares the length of internal working storage allocated for compiling format specifications at run time. The length of this area must be equal to or exceed the number of bytes in the longest format string to be processed. maxformat A decimal integer larger than the default that specifies the number of characters in the longest format specification. The default is FMTBUF=132. 3 GBLDEF GBLDEF=symbolname:value GBLDEF declares the definition of a global symbol. The symbol definition is considered absolute and overrides any definition in the input object modules. symbolname A 1- to 6-character Radix-50 name of the defined symbol. value An octal number in the range 0 to 177777 assigned to the defined symbol. 3 GBLINC GBLINC=symbol-name,symbol-name,...,symbol-name symbol-name The symbol to be included in the .STB file. There are no defaults. 3 GBLPAT GBLPAT=seg-name:sym-name[+/-offset]:val1:val2:...:val8 GBLPAT declares a series of patch values starting at an offset relative to a global symbol. Up to eight patch values can be given. segmentname A 1- to 6-character Radix-50 name of the segment. symbolname A 1- to 6-character Radix-50 name specifying the global symbol. offset An octal number specifying the offset from the global symbol. val1...val8 Octal numbers in the range 0 to 177777 to be stored at the appropriate addresses. 3 GBLREF GBLREF=symbolname GBLREF declares a global symbol reference, which originates in the root segment of the task. Use this keyword for memory-resident overlays of shared regions. symbol-name A 1- to 6-character name of a global symbol reference 3 GBLXCL GBLXCL=symbol1:symbol2:...:symbol8 GBLXCL directs TKB to exclude from the symbol definition file of a shared region the symbol(s) specified. 3 LIBR LIBR=name:access-code[:apr] COMMON and LIBR are functionally identical to TKB. They both declare that the task intends to access a system-owned shared region. However, by convention, COMMON identifies a shared region that contains data only, and LIBR identifies a shared region that contains code only. System-owned is a definition given to a common or library file that resides in UFD [1,1] on device LB: along with its associated symbol definition file. name A 1- to 6-character Radix-50 name that specifies the common or library. TKB looks for the symbol definition file with the same name as that of the common or library and with a .STB extension in UFD [1,1] on device LB:. access-code The type of access (read-write or read-only) the task requires. RW indicates read-write and RO indicates read-only. apr An integer in the range of 1 to 7 that specifies the first APR that TKB is to reserve for the shared region. TKB recognizes the APR for a mapped system only. You can specify it for relocatable regions only. TKB selects the highest available APR by default if you omit apr and the region is relocatable. For an absolute shared region, its base address and the APR that maps it are determined by the arguments in the PAR option when the region is built. In an RSX-11M-PLUS task that uses I- and D-space and a COMMON, the COMMON is considered data only. The Executive maps the COMMON with D-space APRs only. If the same task uses LIBR as an option for a region, the Executive maps the library with I-space and D-space APRs. 3 MAXBUF MAXBUF=maxrecord MAXBUF declares the maximum record buffer size required for any file used by the task. If the maximum record size exceeds the default buffer length, this option must be used to extend the buffer. maxrecord A decimal integer, larger than the default, that specifies the maximum record size in bytes. The default is MAXBUF=132 3 ODTV ODTV=symbolname:vectorlength ODTV declares a global symbol to be the address of the ODT Synchronous System Trap vector. The global symbol must be defined in the main root segment of your task. symbolname A 1- to 6-character Radix-50 name of a global symbol. vectorlength A decimal integer in the range 1 to 32 specifying the length of the SST vector in words. 3 PAR PAR=par-name[:base:length] PAR specifies the partition for which the task is built. In a mapped system, you can install your task in any system partition or user partition large enough to contain it. In an unmapped system, your task is bound to physical memory. Therefore, you must install your task in a partition starting at the same memory address as that of the partition for which it was built. par-name The name of the partition. base The octal byte address defining the start of the partition. On an unmapped system, the physical address must be specified. On a mapped system, the base must be 0 for a task or a 4K boundary for a shared region. length The number of bytes (octal) contained in the partition. In a mapped system, a length of 0 implies a system-controlled partition. If the target system is mapped and you specify a partition length greater than that of your task, TKB extends your task's length to match the partition length. This action is equivalent to using the EXTTSK option to increase task memory. If your task's size is greater than the specified partition size, TKB generates the following error message: TKB--*DIAG*--TASK HAS ILLEGAL MEMORY LIMITS If you do not specify the base and length, TKB tries to obtain the information from the system on which it is building your task. If the partition resides in that system, TKB can obtain the base and length. TKB binds the task to the addresses defined by the partition base. If the partition is user controlled, TKB verifies that the task does not exceed the partition length specification. The default is PAR=GEN. 3 PRI PRI=priority PRI declares the priority at which the task executes. If you do not specify a priority when you install the task, the priority in PRI is used. You cannot run a task at a priority higher than 50 unless it is installed or run under a privileged UIC. priority A decimal integer in the range of 1 to 250. The default is PRI=50. 3 RESCOM RESCOM=filespec/access-code[:apr] RESCOM and RESLIB are functionally identical; they both declare that your task intends to access a user-owned shared region. However, by convention, RESCOM identifies a shared region that contains only data. The term "user-owned" means that the resident common or library and the symbol definition file associated with it can reside under any UFD that you choose. You can specify the UFD and the remaining portions of the filespec for RESCOM. You must not place comments on the same line with RESCOM. filespec The memory image file of the resident common. The filespec format is discussed in Chapter 1. access-code A code specified as RW (read/write) or RO (read/only), indicating the type of access required by the task. A privileged task can change data in or move data into a resident common even though the task has been linked to the common with read-only access. apr An integer in the range of 1 - 7 that specifies the first APR that you want TKB to reserve for the common. TKB recognizes the APR argument only for a mapped system. You can specify it only for position-independent shared regions. If the APR parameter is omitted and the shared region is position-independent, TKB selects the highest available APR to map the region. When a shared region is absolute, the base address of the region and the APR that maps it is determined by the arguments in the PAR option when the region is built. NOTES 1. TKB expects to find a .STB file having the same name as that of the memory image file, and on the same device and under the same UFD as that of the memory image file. 2. Regardless of the version number you give in the filespec, TKB uses the latest version of the .STB file. The defaults are: UFD - current terminal UIC device - SY0: file type - .TSK file version - latest 3 RESLIB RESLIB=filespec/access-code[:apr] RESLIB and RESCOM are functionally identical; they both declare that your task intends to access a user-owned shared region. However, by convention, RESLIB identifies a shared region that contains only code. The term "user-owned" means that the resident common or library and the symbol definition file associated with it can reside under any UFD that you choose. You can specify the UFD and the remaining portions of the filespec for RESLIB. You must not place comments on the same line with RESLIB. file-spec The memory image file of the resident common. The filespec format is discussed in Chapter 1. access-code A code specified as RW (read/write) or RO (read/only), indicating the type of access required by the task. apr An integer in the range of 1 to 7 that specifies the first APR that you want TKB to reserve for the common. TKB recognizes the APR argument only for a mapped system. You can specify it only for position-independent shared regions. If the APR parameter is omitted and the shared region is position independent, TKB selects the highest available APR to map the region. When a shared region is absolute, the base address of the region and the APR that maps it is determined by the arguments in the PAR option when the region is built. NOTES 1. TKB expects to find a .STB file having the same name as that of the memory image file, and on the same device and under the same UFD as those of the memory image file. 2. Regardless of the version number you give in the filespec, TKB uses the latest version of the .STB file. The defaults are: UFD - current terminal UIC device - SY0: file type - .TSK file version - latest 3 RESSUP RESSUP=filespec/[-]SV[:apr] (for RSX-11M-PLUS only) RESSUP declares that your task intends to access a user-owned, supervisor-mode library. The term "user-owned" means that the library and its .STB file can reside under any UFD that you choose. You must not place comments on the line with RESSUP. When CMPRT and RESSUP appear in a command sequence together, CMPRT must be specified first. filespec The name of the memory image file of the supervisor-mode library. /[-]SV The code SV for supervisor vectors or -SV for no supervisor vectors. If you specify SV, TKB replaces calls to the supervisor-mode library within your task with context switching vectors. If you specify -SV, calls within your task to the supervisor-mode library are resolved directly and you must provide your own means for context switching. The elimination of supervisor vectors is useful if the supervisor-mode library contains threaded code. apr An integer in the range 0 to 7 that specifies the first supervisor APR to be reserved for the library. The default is the lowest available APR. The defaults are: UFD - current terminal UIC device - SY0: filetype - .TSK fileversion - latest 3 ROPAR ROPAR=parname (for RSX-11M-PLUS only) ROPAR specifies the partition into which the read-only portion of your multiuser TKB is to reside. parname The partition name into which the read-write portion of the task will reside. 3 STACK STACK=stacksize STACK declares the maximum size of the stack required by the task. The stack is an area of memory used for temporary storage, subroutine calls, and synchronous trap service linkage. Hardware register 6 references the stack. stacksize A decimal integer specifying the number of words required for the stack. The default is STACK=256. 3 SUPLIB SUPLIB=filespec:[-]SV[:apr] (for RSX-11M-PLUS only) SUPLIB declares that your task intends to access a system-owned supervisor-mode library. The term system-owned means that TKB expects to find the supervisor-mode library and the .STB file associated with it under UFD [1,1] on LB:. When CMPRT and SUPLIB appear in a command sequence together, CMPRT must be specified first. filespec A 1- to 6-character Radix-50 name specifying the system-owned supervisor-mode library. TKB expects to find a .STB file having the same name as the library under [1,1] on LB:. :[-]SV The code SV for supervisor vectors or the code -SV for no supervisor vectors. If you specify SV, TKB replaces calls to the supervisor-mode library within your task with context-switching vectors. If you specify -SV, TKB resolves calls within your task to the supervisor-mode library directly and you must provide your own mode switching vector. The elimination of supervisor vectors is useful if the supervisor-mode library contains threaded code. apr An integer in the range 1 to 7 that specifies the first supervisor APR that TKB is to reserve the the library. The default is the lowest available APR. 3 TASK TASK=taskname TASK specifies the name of the task (that is, the name that the task will have when it is installed in the system). taskname A 1- to 6-character Radix-50 name identifying the task. The default task name is the first 6 characters of the task image file name. 3 TSKV TSKV=symbolname:vectorlength TSKV declares a global symbol to be the address of the task SST vector. Define the global symbol in the main root segment of the task. symbolname A 1- to 6-character Radix-50 name of a global symbol. vectorlength A decimal integer in the range 1 to 32 specifying the length of the SST vector in words. 3 UIC UIC=[g,m] UIC declares the UIC for the task when you run it as a result of a time-based schedule request. g,m Octal numbers (group and member) in the range of 1 to 377 or decimal numbers in the range of 1 to 255. A decimal point must follow decimal numbers. The default UIC is the UIC that TKB is running under (normally the terminal UIC). 3 UNITS UNITS=maxunits UNITS declares the number of logical units that the task uses. maxunits A decimal integer in the range 0 to 250 specifying the maximum number of logical units. The UNITS keyword creates tables that require dynamic memory. Therefore, large arguments can exhaust dynamic memory. The default is units=6. 3 VSECT VSECT=psectname:base:window[:physicallength] VSECT allows you to specify the virtual base address, virtual length, and physical memory allocated to the named p-section. psectname A 1- to 6-character program section name. base An octal value specifying the virtual base address of the program section in the range 0 to 177777. This value must be a multiple of 4K if mapping directives are to be used. window An octal value specifying the amount of virtual address space in bytes allocated to the p-section. Base plus window must not exceed 177777. physicallength An octal value specifying the minimum amount of physical memory to be allocated to the section in units of 64-byte blocks. TKB rounds this value up to the next 256-word limit. This value, when added to the task image size and any previous allocation, must not cause the total to exceed 2048K bytes. If unspecified, TKB assumes a value of 0. 3 WNDWS WNDWS=n WNDWS declares the number of address windows required by the task in addition to those needed to map the task image and any mapped array or shared region. The number specified is equal to the number of simultaneously mapped regions the task will use. n An integer in the range of 1 to 7 on an RSX-11M system and 1 to 23 on an RSX-11M-PLUS system. The default is WNDWS=0.