First Printing DEC 1984
4404
ARTIFICIAL
INTELLIGENCE SYSTEM
Please Check for
CHANGE INFORMATION at the Rear of this Manual
COMMTTED 10 EXCEli.ENCE
of Tektronix, Inc.
This instrument, in whole or in part, may be protected by one or more U.S. or foreign patents or patent applications. Information provided upon request by Tektronix, Inc., P.O. Box 500, Beaverton, Oregon 97077.
TEKTRONIX is a registered trademark of Tektronix,lnc.
Smalltalk-80 is a trademark of Xerox Corp.
UniFLEX is a registered trademark of Technical Systems Consult- ants, Inc.
Portions of this manual are reprinted with permission of the copy- right holder, Technical Systems Consultants, Inc., of Chapel Hill, North Carolina.
The operating system software copyright information is embedded in the code. It can be read via the "info" utility.
WARRANTY FOR SOFTWARE PRODUCTS
Tektronix warrants that this software product will conform to the specifications set forth herein, when used properly in the specified operating environment, for a period of three (3) months from the date of shipment, or if the program is installed by Tektronix, for a period of three (3) months from the date of installation. If this software product does not conform as warranted. Tektronix will provide the remedial services specified below. Tektronix does not warrant that the functions contained in this soft- ware product will meet Customer's requirements or that operation of this software product will be uninterrupted or error-free or that all errors will be corrected.
In order to obtain service under this warranty, Customer must notify Tektronix of the defect before the expiration of the warranty period and make suitable arrangements for such service in accordance with the instructions received from Tektronix. If Tektronix is unable, within a reasonable time after receipt of such notice. to provide the remedial services specified below, Customer may terminate the license for the software product and return this software product and any associated materials to Tektronix for credit or refund.
This warranty shall not apply to any software product that has been modified or altered by Customer.
Tektronix shall not be obligated to furnish service under this warranty with respect to any software pro- duct a) that is used in an operating environment other than that specified or in a manner inconsistent with the Users Manual and documentation or b) when the software product has been integrated with other software if the result of such integration increases the time or difficulty of analyzing or servicing the software product or the problems ascribed to the software product.
TEKTRONIX DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. TEKTRONIX RESPONSIBILITY TO PROVIDE REMEDIAL SERVICE WHEN SPECIFIED, REPLACE DEFECTIVE MEDIA OR REFUND CUSTOMER'S PAYMENT IS THE SOLE AND EXCLUSIVE REMEDY PROVIDED TO CUSTOMER FOR BREACH OF THIS WARRAN- TY. TEKTRONIX WILL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSE- QUENTIAL DAMAGES IRRESPECTIVE OF WHETHER TEKTRONIX HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
This manual supports the following versions of this product: Serial Numbers 8010100 and up.
REV DATE DESCRIPTION
DEC 1984 Original Issue
4404 Reference Manual i
Section 1 INTRODUCTION
About This Manual •••••••••
Where to Find Information.
. . .
Manual Syntax Conventions.
· ..
Section 2 USER COMMANDS AND UTILITIES
asm ••••
...
backup ••
... . ... . . . . . . . . . . . . . . . · .. . . . . . . . . . . · · · .. .... · . . . ... · .... · . . . . . . . . .
· . · . . · ..
· ...
· ..
· . . . . . . . .
· . . . .
· . . . . . . . . .
• • 1-1.1-1
. . . . . .
. . . .
.1-2••• 2-1
· . . .
• •••••••••••••• 2- 3· . . .
..2-9· .. · ... · · . · ... · . . . · .
• •••••• 2-15. .
• .2-11 • .2-12· ... . · . . . . . . . . . . . . · . .
.2-17cc ••••••
chd ••••
commset.
compare.
conset.
copy ••••
crdir •••
crea te.
da te ••
de bug ••
· . . . . . . . · . . . . . . . .
• .2-19 .2-23di r ••••
dperm ••
dump ••••••••
echo ••
edit.
find ••
forma t •••
free ••••
headset •••
he Ip ••
info.
int •••
jobs.
libgen.
libinfo.
link.
list ••
. . .
load •••••••
login.
move •••
owner ••
password •••
pa th •••••
perms ••••
relinfo.
remote ••
· . · . . . . . . . . .
• ••••• 2-25. . . . · . . . . . . . . . . . . · . · . . . . . . . . . · ..
.2-26 .2-28· ..
· ..
· . · . . . ....
....
· . . . . . . . . · . . . · . . . . . . . . . . .
• .2-38..2-42
~ ~ ~ ~
.
~. . . .
· . . · . . . . . . . . . . . . . . . . . .
· .
· . . · . . . . . . . .
· .. · .
· . . · . . . . . . . · . . .
• •••••••••••• 2-44
•• 2-46
· . . . . . . . · .
• ••••• 2-47· . .
· . . . . . . . . . · . . .
~· . . . . . · . . . .
• •• 2-50
•••••• 2-53
••••• 2-55
••••• 2-57
· . . . . . . . . . . . . . . . . .
· . . . . . · . . . . . . . · . . . . . . · .
•• 2-62 .2-64..2-66
· ..
· .. . . .
· . . ..
. . . . . . . .
· . . . . . . . . . . . . . . . . . . . . . . .
· . . . . . . . . . . . . . . . .
· .
• ••••• 2-70· . .
.2-71..2-74
· . . . . . . .
· . . . 2-76· .. · .. · . . . . . . . . . .
· . . . . . .
· . .
· . .
· . . . . . . . . .
· . . . . . . . . . . . . .
· . . . . . .
· .. · . .
· . .
..2-78..2-80
• •• 2-85 ..2-87
• .2-91
.... · . . . . . . . . · . . · .
..2-93• •••••• 2-96
· . . · . . .
.2-97· .... · . . .
• .2-100· .. · . . . . .
• •• 2-1024404 Reference Manual ii
script.
shell ••
status.
stop ••
strip.
tail ••
touch.
upda te ••
wait ••••
Section 3
. . . . . . . . . . . . . . .
· ....
· . . .
"SYSTEM" UTILITIES
. ...
• .2-115 .2-129
• •••• 2-139 .2-143
• .2-144 .2-145
• •••••• 2-146 ..2-148 .2-152
•••• 3-1 . ... 3-4
• .3-5 adduser.
blockcheck.
deluser ••
devcheck ••
diskrepair.
fdncheck ••
. . . 3-7 makdev ••••••••
moun t ••••
unmount.
. . . .
· . . .
Section 4 4404 ASSEMBLY LANGUAGE PROGRAMMER'S GUIDE Introduction •••••••••••
System Calls Overview ••
How 4404 Programs Run ••
Introduction to System Calls.
The "Sys" Instruction.
System Call Example •••
Indirect System Calls.
System Errors ••••••••••
The Task Environment ••
Address Space ••••••••
Ar gumen ts •••••••••••••
Initiating and Terminating Tasks.
Terminating a Task ••••••
The "Wait" System Call.
The "Exec" System Call.
. . . . . . .
The "Fork" and "Vfork" System Calls.
4404 File Handling ••••••••••
. . . . . . . . . . .
. . . . . . . . . . .
General File Definitions.
. ..
Device Independent I/O.
File Descriptors •••
Standard Input and Output •••••••••
Opening, Closing, and Creating Files.
The "Open" System Call •••••••••••••
.3-9
• •• 3-19 . . . . 3-20 .3-22
• ••••• 3-24
...• . 4-1
• 4-1
• •• 4-1
• • 4-2 .4-2 .4-4 .4-5 .4-6 .4-7
• • 4-7
• • 4-8
• • 4-10 ..4-11 .4-11
• •• 4-12 . . . 4-14 .4-15 .4-15 ..4-15
••••••• 4-16
· .4-16
• .4-17 .4-17
iii 4404 Reference Manual
Reading and Writing ••••••••
The "Read" System Call ••
The "Write" System Call ••
Efficiency in Reading and Seeking •••••••••••••••••
· . . .
Writing.
File Status Information ••••••
Directories and Linking ••••••••
· . .
· ..
Other System Functions ••••
The "Break" Function.
· . · .... .
· ..
· . · ...
· . . · . . . .
•• 4-19 .4-19· . . . 4-21
· . · ...
• •••• 4-23• •••••••• 4-23
· . . . 4-25
· . · . . . . . .
.4-28· . . . . . .
• •••••• 4-30· . . . . . . .
•• 4-30The "Ttyset" and "Ttyget" Functions •
. . . . . . · . .
• ••••• 4-30 Raw I/O Mode •••••••••••••••Echo Input Characters ••••••••••
Expand Tabs On Output.
· ..
Map Upper/Lower Case •••••••
Auto Line Feed •••••••••••••
Echo Backspace Echo Character.
Single Character Input Mode ••
Ignore Control Characters.
Pi pe s .•.••.•••.•••••••••••••
Program Interrupts •••••••••••
· . . . . . . . .
· . . . . . . .
· . . .
. . . · . . . . .
. . . .
..4-32 •• 4-33. ... 4-33
• ••••• 4-33
.. · . . · . . . . . .
..4-34.4-34
. . . . · . . . . ....
· .
· . . · . . . . . . . . . . . . . . .
• •••••• 4- 34 ..4-34
.4-35
•••••• 4-36 Sending and Catching Program Interrupts •••
. .
..4-37..4-44 .4-44
• •• 4-46 .4-46 Interrupted System Calls •••••
Locking and Unlocking Records.
· . . . . . . . . . . . . . . . . . . . . . . . .
Shared Text Programs •••••••••
..
General Programming Practices.
Starting Locations •••••••
. . .
· . . . . . . .
Stack Considerations ••••
Hardware Interrupts and Traps ••
De la ys ... .
..
System "Lib" Files Provided.
Generating Unique Filenames ••••••
De buggi ng •••••••••••••••
Programming Example ••••
Sample "Strip" Utility ••••••
4404 Reference Manual
· ...
...
. . .
· . . . . . . . . . . . . . . . .
· . .
· . . . . .
· . .
· . . . . .
· . . . . · . . . .
••••••• 4-46 ..4-46 .4-47
• •••••••••••••• 4-47
. . . . .
· .
· . .
· ..
· . . . . . . . . .
.4-47 .4-48
• ••• 4-48 .4-48
• •••••• 4-51
iv
v
Invoking the Assembler ••
The Command Line ••••••
Multiple Input Source Files.
Specifying Assembly Options.
Order for Specifying Filenames, Options, and Parameters •••••••••••••••••
Sending Output to a Hardcopy Device ••
Examples: ••••••••••••••••••••••••••••••
Assembler Operation & Source Line Components.
Source Statement Fields ••
Label or Symbol Field.
Opcode Field ••
Operand Field ••
Comment Field ••
Register Specification.
. . . . . . . . . . .
Expressions •••••••••••••
Item Types •••••••••••••
Types of Expressions ••
. . . .
.5-1
· .5-1 .5-2
• •• 5-3
• •• 5-4
• •• 5-5
• .• 5-5 .5-6
• •• 5-7 .5-7 .5-9
· ••••.•• 5-9
• .• 5-10 .5-10 . •••.• 5-10
• .5-11 .5-12 Expression Operators.
. . . . . . . . . .
• •• 5-13.5-15 Instruction Set Differences.
The Instruction Set ••
Programming Model.
Addressing Modes •••
The Assembler Instruction Syntax •••••••••••••••••
Instructions •••••••••••
Convenience Mnemonics.
Set.
Standard Directives or Pseudo-Ops.
dc.
ds.
equ •••
err.
even.
fcb.
fdb ••
fqb ••
info.
lib.
log ••
opt.
page • rab.
rmb ••
rzb.
set ••
spc.
. ..
. . .
• •• 5-16 .5-16 .5-17 .5-21
• •• 5-21
• •• 5-23 .5-30
• ••••••• 5- 30 .5-31
• •• 5-32
• •• 5-32
• •• 5-33 .5-33
· .5-33 .5-35
• .•••• 5-35 .5-35
· .5-36 ... 5-36 .5-37
• •• 5-37
• ••••••• 5- 38
• •••••••••• 5- 38
• .5- 38
• •••••••• 5- 39
• .5-39
4404 Reference Manual
ttl •••
Conditional Assembly.
The "If-Endif" Clause.
The "If-Else-Endif" Construction ••
Special Features ••••••••••••••
End of Assembly Information.
Excessive Branch Indicator ••••••••••
Auto Fielding.
Fix Mode ••••••
Local Labels •••
Object Code Production.
Relocatable (Segmented) Object Code The Base and Struct Directives.
Global •••••••••••••
Define and Extern.
Name •••
Enddef ••
· . . .
· . . . . . .
.5-40. . . . . . . . .
• .5-40••• 5-41
Fi les.
.5-41 ..5-42
• •••••••• 5-42
. . . . . . . . . . .
•••• 5-43
• .5-43 ..5-44 ..5-44
· ... . 5-44
· . . . . . . .
· . . . . . . . . . .
• .5-44 .5-46 .5-47 ..5-48
. . . . . . . . .
• ••••• 5-48••••• 5-48
. . . . . .
Common and Endcom.
· . . . . . . . . . . . . . . . . .
• •••• 5-49•••• 5-50 Error and Warning Messages.
· . . . . . .
Possible Non-Fatal Error Messages.
Possible Fatal Error Messages.
The Linking Loader ••••••••
Terminology •••••••••••••
Linking Loader Input •••••••••••
Linking Loader Output •••••••••••
The Standard Environment File •••
Invoking the Loader ••
Valid Options ••
Libraries •••••••
Introduction.
Library Generation ••••
Examples ••••••••••••••
. . . . . . . . . . . .
Segmentation and Memory Assignment.
. . . .
. . . . . . . . . . . .
· . . . . .
••• 5-50..5-57
• .5-58
· ... . 5-58
· ... . 5-59
· . . . . .
· . . .' ..
.5-59 .5-60
• .5-60
• •• 5-61
• .5-65 .5-65 ..5-66 ..5-67 .5-68
• .5-68
• •••••• 5-68 Relocatable and Executable Files.
Relocatable Modules ••••••••
Executable Programs ••••••••••••
Shared Text Programs •••••
Non-Shared Text Programs ••
. . . . . . . . . . . . . . . .
• .5-69 Load and Module Maps •••••Load Map ••••••••••
Module Map •••••••••
The Module Map of a Relocatable Module ••
Miscellaneous ••••••••••••••••••••••••••••
Transfer Address •••••••••••••••••••••••
. . . .
· ....
• •• 5-69
• .5-72
• •• 5-72
• •• 5-72
• .5-72
• •• 5-72
• •• 5-75 Resolution of Externals With Library Modules. • ••• 5-75 .5-75 ETEXT, EDATA, and END ••••••
Error Messages ••••••••••••••
Non-Fatal Error Messages ••••
Fatal Error Messages ••••••
4404 Reference Manual
. . . . . . . . . . .
.5-75•• 5-76
· .5-76 ..5-77
vi
vii
Overview •••••
System Errors.
System Definitions •••
Details of System Calls •••••
alarm.
· ..
break.
chacc.
chdir ••
chown.
chprm.
close ••
cpint.
crea te ••••
crpipe ••••
crtsd ••
defacc ••
· . . . . . .
· ..
· ....
· ..
· ..
· .
dup ••••••••
· ...
dups.
· .
exec.
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
· ..
· . .
· ..
. . . .
. .
· .
· . . . 6-1
· ..
· ...
· . . .
· ...
· ....
.6-3 .6-6
• •• 6-7
• .6-7
• .6-8
• .6-8
• .6-8
· ... . 6-9
· ...
• .6-9• •• 6-10
• ••••• 6-10
• .6-12
· .
.6-13· ... .
• .6-13• .6-14
• .6-15
• .6-15
. . . . . . . . .
• ••• 6-16 filtim.fork ••
gtid.
. . . . . . . . . . . . . . . . . . . . . . . . · .
• ••• 6-17· ... .
guide
... . ... .
ind •••••••••
indx.
· ....
link.
lock.
lrec.
. . . . . . . . .
memman.
mount •••
ofsta t ••
. . · ....
· . . . . . . . . . . .
· ... . . . . . .
open ••••
phys ••••
profile.
read •••
seek •••
. . . . . . . . . . . . . . . . .
· . . . . . . . . . . . .
· . · .
· ... .
. ..
. ...
. .
• .6-17
• .6-18
• ••• 6-18 .6-18
. . . . . . . . . . . . . . . . . . · . . . . . . . .
• •• 6-19 • .6-19 .6-20 .6-20· . .
. . . . . . . . . . . ....
. ..
· . . . • . 6-21
•••••• 6-21
· ..
•• 6-22 .6-22
• •••• 6-23
· ...
..6-23• •• 6-24
•• 6-25
• •••••••• 6-25 .6-26
• .6-26
• ••••••• 6-27 ..6-28 se tpr.
spin t ••
stack •••••
sta tus ••
stime.
stop.
suid.
· . . . . . . . . . . . . . . .
• •• 6-28.6-29 term ••
time.
· .. . ... .
· . .
• .6-29 .6-304404 Reference Manual
ttyget ••
ttynum ••
ttyset ••
unlink ••
unmnt •••
upda te ••
urec ••
vfork.
wait ••••
wr i te.
· . . . . . . . . . . . . . . . . . . . . . . . . . . . ... · . .
Section 7 THE 4404 C COMPILER Invoking the "C" Compiler.
Overview.
· ...
. . . . . · ...
· . . . . . . ..
· . . . 6- 31
· ....
. ..
· ..
.6-33 ..6-33 .6-33
••• 6- 34
• •••••••••• 6-34
· . . . . .
.6-35• •••• 6-35
• ••••• 6-36
. .
..6- 36.•••.••. 7-1
· . .
.7-1Syntax •••
... . . . . . . . . . . . . . . . . . . . .
• •••••••••••• 7-1 Options Available ••••Detailed Description of The 'a Option.
The 'c' Option.
The 'D' Option •••••
The 'f' Option ••
The 'i Option.
The 'I Option ••••
The '1 Option.
The 'L' Option.
The f m' Option ••
The 'M' Option ••
Options •••
. . . . .
· . . . . . . . . . . .
· ... .
· ... .
· ..
· . .
• .7-1 .7-3.7-3
• •••• 7-3 ..7-3
• ••••••••••• 7 - 3
· . . . . . . . .
· . . . . . . .
.7-4 .7-4· . . . 7-4
· . . . . . . . . . .
. ... . 7-5· .. . . . . . .
The 'n' Option ••
· . . . . . . . . . . . . .
•• 7-5 .7-5 .7-5 ..7-5 The 'N' Option.
. . . . . . . . .
The '0' Option ••
The '0' Option ••
The 'q' Option ••••
The 'r' Option ••
The 'R' Option ••
The's' Option.
. . . . .
The 't' Option •••••
The 'U' Option •••••
The 'v' Option •••••••
The 'WI Option ••
· ..
· .... · .
· .. · . . . . . . . .
The 'x' Option.
. . . . . . . . .
Examples ••••••••••
· ....
· . . . .
· . · . . . . . . . .
.7-5· . . . . . . . . . .
· . .
• •••• 7-6 .7-6 ..7-7 ..7-7 . . . 7-7
. . . . . . · . .
· ... . 7-7· . .
..7-7. . . . . . . .
.7-8· .
• •• 7-8• •• 7-8
· ... .
... 7-8 Language Description.. . . . . . . . . . . . . . . . . .
.7-9Object Sizes ••••••••
Register Variables ••••
abort •••
access ••
acct .•••
. . . . . . .
. . . . . . . . . . . . . . . . . . . . .
4404 Reference Manual
· . . . . . . . . . .
· . . .
• •• 7-9. . . . . . . .
..7-10· . . . . . . . .
• .7-11 .7-12..7-14
· ...
viii
ix
cdata .•••••••
chdir ••
chmod.
chown ••
chtim ••
close.
crea t.
dup •••••
. . . . . . . .
· .... . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
· ...
· . . . . . . . .
· . . . ....
• ••••••• 7-18
• .7-19
••• 7-21
• •• 7-23 ..7-25
• ••••• 7-27
· . . .
dup2 •••
execl.
execlp.
execv •••
· . . . . . . . · ...
• .7-28
• ••• 7-31
•• 7-32
• ••• 7-34 ..7- 37 .7-40 .7-43
· .
· . .
· ...
execvp.
fork ••
fsta t.
ftime.
. . . . . . . . . . .
ge teuid ••
getpid.
getuid.
gtty •••••
kill.
link.
lock ••
lrec •••••••••
lseek.
memman.
mknod.
moun t.
nice ••••••
open.
pause.
phys ••
pipe ••
profil •••••••
read •••
sbrk •••
set ftm.
setuid ••
signal ••••••
s ta ck •••
sta t ••
stime.
stty ••••••
. . .
. ..
. ..
. ...
· . . .
· ..
· . . .
· .
· . . .
· . .
· . .
· ..
· ..
. ...
sync.
time ••
times.
truncf.
ttyslot ••
. . . . . . . . . .
. . . . . . . . . . .
· ...
· . .
· .
· ...
· ... . 7-46
•• 7-48
• •• 7-51 .7-53
· ... . 7- 54
• .7-55 . ... . 7-56 .7-61
. . . . . . ... .
..7-64 .7-66 .7-67 ..7-69
· ...
· ...
. ....
· ...
· ..
· . .
· . . . . . . . .
· . . . . . . . .
· .
• .7-71
· ...
.7-73· ...
· ... . 7-76· . .
.7-79. . . 7-80
· .
· . . . . . . . . . . . . . . . . . . . . .
.7-82
• •••••• 7-83
· . · .
.7-85 .7-87 .7-89
~7-91
..7-93
• .7-95 ..7-96 ..7-100
• • 7 -101 .7-104
• •••••• 7-105 .7-109 .7-110
• •••••• 7-1 1 1
• •••••• 7-113
• ••• 7-115
4404 Reference Manual
unlink •••
urec •••
u time •••
vfork ••
. . . . . . . . . .
wa it ••••••••••
wr i te.
· . · .. · .
· ...
. . . .
· . .
· . . · .
· .
Special Support Libraries •••
· . .
The 'C' Library •••
a bs •••••••
.... . . . .
asctime.
· .
atoh.
atoi •••
. . . . . . . . . . .
a to 1 •••••••••
. . . .
· . . . .
· ....
· . . . . . .
· . . . . . . .
· ...
· . . · . · .... . . . . . · . .
•••••••• 7-117• ••••• 7-119
. . . • . . . • • . . . • • . . 7-121
• •••••••• 7-123
• •••.•••••••••••• 7-125
· . .
· . · .
· . . . . . . .
· .... . . . .
· ... · ...
· . . . . . . . .
· . . . .
• .7-127 .7-129
•••••• 7-131
· . .
· . .
•••• 7-132 ••• 7-131• ••••••• 7-133
· . . .
· . .
..7-135 .7-134• •••••••. 7-136
a too ••
· . . . · . . . . . . . · . . . . . .
•. 7-137-a tos ••
calloc.
clearerr ••
crypt ••••
ctime •••••
daylight ...
endpwen t ••
endu ten t ••
exit ••
. .
. . .
fclose ••••••••
fdopen.
feof ••••
ferror.
fflush.
f ge tc ••••••••
fge ts •••
fileno ••
fopen ••
fpu tc ••
fputs.
fread •••
free •••
freopen.
fscanf ••
fseek.
ftell •••••••
fwr i te ••
ge tc •••
getchar.
ge tcwd •••
getpass.
ge tpw ...
getpwent ••
getpwnam ••
. . . ..
4404 Reference Manual
· ....
. . . .
· . . ....
· .. . . · ..
· .. · .
· . .
· . . . . . . . . . . . . .
· ... · . .
..
.
..· . . . . . .
· ...
· . . . . . . . . . . .
.. ..
· ... ·
... . . . . . . . . . . . . . . . . · . .
· . . . . . .
· .... · .
· ....
• ••••••••.• 7-138
· . · . .
••••••• 7-141. . .
••• 7-140 • .7-139• ••••• 7-142
· .. . . ...
.. • 0.7-143 .••• 7-144 .7-145
• ••• 7-146
.
.. .. .. .. ...
... .
· .
... .
.. ... ..
• • 7 -147... ·
...
· . . . . . . . . . . . .
• .7-148 .7-150..
.
.. ...
• .7-151· ....
••••••• 7-152. . . . · ...
••••• 7-153.. . .. . .
· .. . . . .. .. · . .
...
·
..· .... · . . . .
.7-154 .7-155 .7-156
· .. . . . . . . . . . . . · . .
.....
• ••• 7-158 .7-159• ••• 7-160 .7-161
· ...
. . . . .
· ...
· ...
.
... · . . . . .
· ... · . . . · · . · ... . · . . . . . . . .
... . . .
....
• .7-162 ... . .
.. ... . · · ... . .
·
..· . . . . . . . .
· ...
• •••••••• 7-164. . . 7-165
· ... · .
... . .
· ... · . .
· . . . . . . . . . . . . . . . . . . . . . . .
.7-167 .7-168
•••• 7-170
· ...
·
... .
· . . . . . · ...
· ....
· ... · . . . . .
· . . . . . . . . . . .
••••••••• 7-171
· . .
..7-172 .7-173• •••• 7-175
· . . .
• .7-176.7-179
x
xi
ge tu tl ine getw ••••
gmtime.
index •••
isalnum ••
isa Ipha ••
isascii ••
. ...
;.. · . .
iscntrl ••••••••••
isdigit ••
isgraph ••
islower •••••
isprint.
. . . . . .
ispunct.
isspace.
isupper.
. . . . . . . .
isxdigit.
i tostr ••
-12tos •••••••
13tol ••
...
. .
· . . . . . . . . .
14tol •••
Iocaltime.
longjmp •••
Ito13 ••••
· . . . . . . . . . . . . . . . . . . . . . .
Ito14 •••
-ltostr.
· .. · . . . .
rna
11 oc •••••••••••••••••••••. . . . .
· . .
· ..
...
• .7-186
• .7-188
• •••.• 7-189 .7-'191
• .7-192
. . . .
• .7-193• .7-194
• .7-195
• ••••••••• 7-196
. . .
. . . . . .
• •• 7-197 .7-198 .7-199
• .7-200 .7-201 .7-202 .7-203 .7-204
• •• 7-205
• •• 7-206 .7-207
• •• 7-208
. . . . . . . . . . . .
.7-210. ...
• .7-211 ..7-212
• •• 7-213 .7-214 .7-215
• •• 7-216 memccpy.
memchr ••
memcmp ••
memcpy ••
memse t ••
mktemp ••
. . . . . . . . . . . . . .
• .7-217.7-218
• ••• 7-219 .7-220 ge tc •••••••••
strtol.
printf ••
pu tc ••••
putchar ••
putpwent ••
puts ••••
putw ••
· . . . . . . · ...
. ...
... . ... .
· ..
. .... . ... . ...
· . .
· . . . . . . . . . . . . .
qsort.
. . . . . . . . . . . . . . . . . . . . . . . · . . .
· . . . . . . . . . . . . ...
. . . . .
· .
· . . .
• .7-221 ..7-222
.7-224 ..7-226
• ••• 7-227 ..7-228 ..7-230
· . . . . . . . . . .
.7-231•• 7-232 .7-233 ..7-234
. . . . . . . . .
• ••••• 7-235
· ... . .
.7-236rand •••
realloc ••••••
rewind.
rindex ••
rrand •••••
scanf •••
· . . . . . . . . . . . . . . . . . . . . . . . . . .
• .7-237 .7-2384404 Reference Manual
se tpwen t ••
setutent ••
sleep •••
sprintf.
srand ••••••••••
sscanf ••
. ....
....
. ...
· ...
· ..
· ..
....
. . . ..
. . . . . . . .
sto12.
strca t ••
strchr ••
strcmp ••
strcpy ••
strcspn.
strlen •••
strncat.
s trncmp ••
strncpy.
strpbrk.
strrchr.
strspn ••
. . . . . . . . .
strtoi ••
strtok ••••••
strtol ••
timezone ••
toascii ••
tolower.
-toupper.
ttyname.
tzname ••
tzse t •••
ungetc.
. . . . . ..
The Graphics Library ••
#include Files ••••••••
4404 Reference Manual
. ..
· . . . .
••• 7-242 .7-243
• •••• 7-244
• •• 7-245 .7-247
• •••••• 7-248
• ••• 7-250
• .7-251
••• 7-252
• •••• 7-253
• ••••••• 7-254
...
• ••••• 7-255. ...
• ••• 7-256
· ... . 7-257
. . . . . . . . .
• .7-258
••• 7-259 ..7-260 .7-261 ..7-262 ..7-263 . . . 7-265
· .
• ••••• 7-269 ••• 7-267• .7-270
•••••••• 7-271
• .7-272
• ••• 7-273
••• 7-274
• •• 7-275
• ••• 7-276
• .7-277
• •••• 7-283
xii
De vic e Dr i ve r s ••••••••••••••••••••••••••••••••••.••••••••••••• 8-1 Scsi Peripherals ••••••••••••••••••••••••••.••••••••••••• 8-1 Console Device •••••••••••••••••••••••••••••••.•••••••••••••• 8-2 Communications Port ••••••••••••••••••••••••••••••••••••••••• 8-2 Sound Generator •••••••••••••••••••.••••••••••••••••••••••••• 8-2 Controlling the Sound Device •••••••••••••••••••••••••••••• 8-2
"/dev/Sound" Operation and Commands ••••••••••••••••••••••. 8-3 Sound Examples •••••••••••••••••••••••••••••••••••••••••••••• 8-10
Set the Tempo to Be 1 Beat Per Second (1000
Millisec/Beat) •••••••••••••••••••••••••••••••••••••• 8-10 Set the Frequency for Voice 2 to Be 440 Hz •••••••••••••••• 8-11 Play Voice 2 at Full Volume for 1 Beat •••••••••••••••••••• 8-11 Turn the Volume of Voice 2 Down by 12 Db
and Play for 2 Beats •••••••••••••••••••••••••••••••• 8-12 Turn Voice 2 Off ••••••••••••••••••••••••••••••••••••••••• 8-12 Play White Noise (Hissing Sound) •••••••••••••••••••••••••• 8-12 Turn Down the Volume 18 Db and Hold for 2
Beats ••••••••••••••••••••••••••••••••••••••••••••••• 8-13 Turn Noise Off •••••••••••••••••••••••••••••••••••••••••••• 8-13 Printer Port •••••••••••••••••••••••••••••••••••••••••••••••• 8-13 Other Devices ••••••••••••••••••••••••••••••••••••••••••••••• 8-14 Display, Mouse, and Keyboard Support •••••••••••••••••••••••••• 8-14
xiii
Display Panning ••••••••••••••••••••••••••••••••••••••••••••• 8-15 Cursor and Mouse Tracking ••••••••••••••••••••••••••••••••••• 8-15 Display Access Functions •••••••••••••••••••••••••••••••••••• 8-15 Display Function 0: cursorOn •••••••••••••••••••••••••••••• 8-16 Display Function 1: cursorOff ••••••••••••••••••••••••••••• 8-16 Display Function 2: cursorLink •••••••••••••••••••••••••••• 8-16 Display Function 3: cursorUnlink •••••••••••••••••••••••••• 8-16 Display Function 4: cursorPanOn ••••••••••••••••••••••••••• 8-16 Display Function 5: cursorPanOff •••••••••••••••••••••••••• 8-16 Display Function 6: displayOn ••••••••••••••••••••••••••••• 8-16 Display Function 7: displayOff •••••••••••••••••••••••••••• 8-16 Display Function 8: joyPanOn ...•....•..••...•.... 8-16 Dis P lay Fu n c t ion 9: joy Pan 0 f f • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 8 --j 7 Display Function 10: timeoutOn •••••••••••••••••••••••••••• 8-17 Display Function 11: timeoutOff ••••••••••••••••••••••••••• 8-17 Display Function 12: blackOnWhite ••••••••••••••••••••••••• 8-17 Display Function 13: whiteOnBlack ••••••••••••••••••••••••• 8-17 Display Function 14: terminalOn ••••••••••••••••••••••••••• 8-17 Display Function 15: terminalOff •••••••••••••••••••••••••• 8-17 Display Function 16: getMousePoint •••••••••••••••••••••••• 8-17 Display Function 17: setMousePoint •••••••••••••••••••••••• 8-17 Display Function 18: getCursorPoint ••••••••••••••••••••••• 8-18 Display Function 19: setCursorPoint ••••••••••••••••••••••• 8-18 Display Function 20: getButtons ••••••••••••••••••••••••••• 8-18 Display Function 21: setSource •••••••••••••••••••••••••••• 8-18
4404 Reference Manual
Display Display Display Display Display Display Display Display Display
Function Function Function Function Function Function Function Function Function
24:
25:
26:
27:
28:
29:
30:
31:
32:
getCursorform •••••••••••••••••••••••• 8-19 setCursorform •••••••••••••••••••••••• 8-19 getViewport •••••••••••••••••••••••••• 8-19 setViewport •••••••••••••••••••••••••• 8-19 getDisplayState •••••••••••••••••••••• 8-19 setKeyboardCode •••••••••••••••••••••• 8-19 getMouseBounds ••••••••••••••••••••••• 8-20 setMouseBounds ••••••••••••••••••••••• 8-20 XYtoRC ••••••••••••••••••••••••••••••• 8-20 Display Function 32: RCtoXY ••••••••••••••••••••••••••••••• 8-20 Keyboard and Mouse Event processing ••••••••••••••••••••••••••• 8-21
Event Manager Functions ••••••••••••••••••••••••••••••••••••• 8-21 Event Function 40: eventsEnable ••••••••••••••••••••••••••• 8-21 Event Function 41: eventsDisable •••••••••••••••••••••••••• 8-21 Event Function 42: eventSignalOn •••••••••••••••••••••••••• 8-21 Event Function 43: eventMouseInterval ••••••••••••••••••••• 8-22 Event Function 44: getEventCount •••••••••••••••••••••••••• 8-22 Event Function 45: getNewEventCount ••••••••••••••••••••••• 8-22 Event Function 46: getNextEvent ••••••••••••••••••••••••••• 8-22 Event Function 47: getMillisecondTime ••••••••••••••••••••• 8-22 Event Function 48: setAlarmTime ••••••••••••••••••••••••••• 8-22 Event Function 49: clearAlarm ••••••••••••••••••••••••••••• 8-22 Event Manager Key Codes ••••••••••••••••••••••••••••••••••••• 8-23 Floating Point Support •••••••••••••••••••••••••••••••••••••••• 8-25 Floating Point Functions •••••••••••••••••••••••••••••••••••• 8-25 Fp Function 0: FADD ••••••••••••••••••••••••••••••••••••••• 8-25 Fp Function 1: FSUB ••••••••••••••••••••••••••••••••••••••• 8-25 Fp Function 2: FMUL •...•.•...•.••••... 8-25 Fp Function 3: FDIV ••••••••••••••••••••••••••••••••••••••• 8-25 Fp Function 4:
Fp Function 5:
Fp Function 6:
Fp Function 7:
Fp Function 8:
Fp Function 9:
Fp Function 10:
Fp Function 11:
Fp Function 12:
Fp Function 13:
Fp Function 14:
Fp Function 15:
Fp Function 16:
Fp Function 17:
Fp Function 18:
Fp Function 19:
Fp Function 20:
Fp Function 21:
Fp Func tion 22:
4404 Reference Manual
FCMP ••••••••••••••••••••••••••••••••••••••• 8-25 FNEG ••••••••••••••••••••••••••••••••••••••• 8-25 FABS ••••••••••••••••••••••••••••••••••••••• 8-26 FItoF •••••••••••••••••••••••••••••••••••••• 8-26 FFtoIr ••••••••••••••••••••••••••••••••••••• 8-26 FTto It ••••••••••••••••••••••••••••••••••••• 8-26 FFto It •••••••••••••••••••••••••••••••••••• 8-26 FFtoD ••••••••••••••••••••••••••••••••••••• 8-26 FDtoF ••••••••••••••••••••••••••••••••••••• 8-26 FDADD ••••••••••••••••••••••••••••••••••••• 8-26 FDSUB ••••••••••••••••••••••••••••••••••••• 8-26
FDMUL ••••••••••••••••••••••••••••••••••••• 8-26 FDDIV ••••••••••••••••••••••••••••••••••••• 8-26 FDCMP ••••••••••••••••••••••••••••••••••••• 8-26 FDNEG ••••••••••••••••••••••••••••••••••••• 8-26 FDABS ••••••••••••••••••••••••••••••••••••• 8-27 FItoD ••••••••••••••••••••••••••••••••••••• 8-27 FDto Ir •••••••••••••••••••••••••••••••••••• 8-27 FDtplt •••••••••••••••••••••••••••••••••••• 8-27
xiv
Floating Point Returns ••
Memory Utilization ••••••
· . .
Overall Address Space •••••
Physical Memory ••••••••••••••••
Display Memory ••••••••
I/O and ROM Memory Space.
Processor Board I/O •••
Peripheral Board I/O •••
. . . . . ..
. . .
. . . . . ...
. ..
· ... . . ....
. . . . . . . . . . . . . ..
. ...
•• 8-27 .8-28 .8-28 .8-28 ..8-28
• •• 8-28 .8-29 .8-29 Section 9 "edit" THE TEXT EDITOR
xv
Introduction ••••••••••••••••
· ... .
• .9-1Ca lling the Calling Calling
Editor •••••••••••••••••••••• . •.• 9-1
the Edi tor Wi th a Fi Ie Name ••••••••
the Editor With Two File Names ••
...
· ...
..9-2 .9-1.9-3 Options ••••••••••••••••
Operating System Interface.
Backspace Character ••••
Escape Character ••••
Line Delete Character ••
· ...
Horizontal Tab Character.
Control-D: Keyboard Signal for Control-C: Keyboard Interrupt.
Control- "Quit" Signal •••••
The Editor's Use of Disk Files.
Creating a New File ••••••••••
Editing an Existing File ••••
Command Input From a File •••••
. ... .
· ...
· ... · ...
End-Of-File ••
· .... · .
· ...
• .9-4 .9-4 .9-4 .9-4
• .9-4
• .9-5 .9-5 .9-5 .9-6
· . . . 9-6
· ...
.9-6• •• 9-7 Fa ta I Er r 0 r s •••
. . . · . . . . . . . . . . .
• .9-7Editor Commands.
. . . . .
Using Strings •• :
Specifying a Column Number ••
Using the Don't-Care Character.
The Command Repeat Character:
. . . . .
. ..
. ... . . . . . . . . .
. . . . . . . . . . . . .
• .9-8
• .9-8
• •• 9-10
· ... .
• .9-10• ••••••• 9-11
. .
Using the EOL Character ••
Using Tabs: ••••••••••
Length of Text Lines ••
. ...
.9-11 .9-11.9-12 Commands ••••••••••••
Environment Commands ••••
dk1 •••
dk2 •••
. . . . . . . . . . . . . . . . . . . . . . . .
esave.
ese t •••
header ••
. . . . . . . . . . . . . .
k 1 ••••••• • 0 •
k2.
. .
Ik1.
. . .
. . .
· . . . . . . . . . . · ...
· . .
· ..
. ...
· ...
· . . .
e • e •
· . · ...
· ....
. ... .
· ... .
• .9-13 .9-12.9-13
• ••••••• 9-13
• •••••• 9-14 . ... . 9-15
· ..
...
• •.•••.. 9-15
· .9-16
• .9-16 .9-16
4404 Reference Manual
renumber ••
se t •.•••
ta b •••••
. . . . . . . . . . . . .
verify.
zone ••••
System Commands ••
· . . . ...
abort •••
edit.
log ••
stop.
u ••••
wai t.
x ••••
"Current Line"
bottom.
find.
....
Movers.· ... · . . . . .
· ...
· ... .
· . . . . .
next.
position.
. . . . . . . . . . . . . .
top ••••••••••••••••
Editing Commands ••••••
append.
break ••
change.
cchange.
copy •••
delete.
. . . . . . . . . . . . . .
expand ••••••••
insert.
insert.
merge •••
move •••
overlay •••••••••
overlay •••••••
print ••••
replace ••
text •••••
null ••••
Disk Commands.
Flush.
· ....
new •••••••
· . . . . . .
· .
· . .
· . .
. . . . . .
..
· . . . .
· . . .
· . . . . . . . .
· . .
· . . .
· . .
· ....
read.
wr i te ••
· . . . ...
Editor Messages •••
. . . . . . . . .
4404 Reference Manual
. . . . . . . . . . . . .
. . . . . . . . . . . . .
.9-18 .9-18
• .9-19
•• 9-19 .9-20 .9-21 .9-21
. . . • . . . . . 9-21
• .9-22
• •••••• 9-22 .9-23 .9-23
· . . . . . .
..9-24.9-25
. . . . . . . . . . . . . .
•••• 9-25• ••••••• 9-25 ..9-26
•• 9-27
· .
• ••••••• 9-27• •••••••••••• 9-28 ..9-28
· . . . . . .
.9-28•• 9-29 .9-30
••• 9- 31
..
· . . . . .. .
•••• 9-30
• ••••• 9-32
•••• 9-30 . ... 9-33 .9-33
• • • • • 8 • • • • • • 9- 34
· ..
.9-35 ..9-35
• •.• 9-36
•••••• 9-36 ..9-37
• ••••••• 9-37 .9-38
• .9-38
• •• 9-38 . . . 9- 39
· . . . .
.9-39.9-40
xvi
Description •••••••••••••••••••••••••••••••
Compliance With ANSI and ISO Standards ••
Compatibility With the DEC VT-100 •••••••
Compatibility With Tektronix Terminals •••
Interface to the Operating System •••••••••••
• ••• 10-1
· ..
• .10-1• .10-2
• .10-2
• ... 10-2 Supported ANSI Commands ••••••••••••••••••••••• .10-3
xvii
<ACK> Acknowledge Character (Char #6) ••
<BEL> Bell Character ••••••••
· ...
<BS> Backspace Character •••••••••••••••••
. ... .
<CAN> Character (#24) ••••••••
<CBT> Cursor Backward Tab ••••••
· ... .
• .10-3
• .10-3 ..10-3
• .10-3
• ••• 10-4
<CHT> Cursor Horizontal Tab... • ••••••••••• • ••• 10-4
<CPR> Cursor Position Report ••••••••••••• • ••• 10-4
<CR> Carriage Return Character... • •••• • ••• 10-5
<CRM> Control Representation Mode... • ••••• 10-5
<CUB> Cursor Backward ••••••••••••••••••••••••••••••••••••• 10-6
<CUD> Cursor Down ••••••••••
. . . . . . . . . . . . . . . . . .
•••• 10-6•••• 10-6
<CUF> Cursor Forward ••••••••••••••••••••••••••••
<CUP> Cursor Position ••••••••
· . . . . . . . . . .
• ••••••• 10-7<CUU> Cursor Up •••••••••••••••••
. . . . . . . . . . .
• ••••••• 10-7· . . . . . . . . . .
.10-7· . . . . . . . .
• •• 10-8· ....
• •• 10-8• •• 10-8
<DA> Device Attributes •••••
<DC1> Character (Char #17) ••••
<DC2> Character (Char #18) •••••
<DC3> Character (Char #19) ••••
<DC4> Character (Char #20) ••••
<DCH> Delete Character ••••••••
<DEL> Character (Char #127) ••
· . . . . . . . . . . . .
• •• 10-8••• 10-9
<DL> Delete Line •••••••••••••
<DLE> Character (Char #16).
<DMI> Disable Manual Input ••
<DSR> Device Status Report •••
<ECH> Erase Character ••••••
· ... .
· . . . . . . . . . . . . . . . . . . . . . . . . .
· . . . . . . . . . .
· . . . . . . . . . . . . . .
<ED> Erase in Display ••••••••••••••••••••••••••
<EL> Erase in Line ••••••••
(EM) Character (Char #25).
Enable Manual Input ••
Character (Char #5) •••••
. ..
· ....
· ...
• .10-9
• ••••• 10-9
• ••••• 10-9
• ••••••• 10-10
• .10-10
• •••••••• 10-11
••••••• 10-11
• •••••• 10-11
• •••••••• 10-12
• .10-12 Character (Char #4) ••••••••••••••••• ••••••••••••• 10-1 2
<EMI>
<ENQ>
<EOT>
<ESC>
<ETB>
<ETX>
<FF>
<FS>
<GS>
Character (Char #27) •••••••••••••••••••••••••••••••• 10-12 Character (Char #23) •••••••••••••••••••••••
Character (Char #3) ••••
Form Feed Character •••
. . . . . . . . . . . . . . . . . . . . . .
• •••• 10-13
• •• 10-13
• •• 10-13 Character (Char #28) ••••••••••••••••••••••••••••••••• 10-13 Character (Char #29) •••••••••••••••••••••••
<HT) Horizontal Tab Character •••••••••••••
<HTS> Horizontal Tab Set •••••••••••••••••••
<HVP> Horizontal and Vertical Position ••••
• •• 10-13
• •• 10-14
• •• 10-14
• •••• 10-14
4404 Reference Manual