background image

Version 1.0

IRIS WORKSTATION GUIDE    93 

Appendix E:

• A  set  of  facilities  is  outlined  below  which  provide  the  user  with 

control over floating point exception handling.

• An exception is triggered in either precision if an attempt is made to 

print a not-a-number or infinity.

• The default handling of all floating point exceptions is to abort with 

a core dump.

User  control  over  floating  point  exceptions  is  provided  by  the  C  library 

routine 

fpsigset()

, and the global exception data structure 

_fperror

. This structure  

contains  a  floating  point  value  and  information  about  the  circumstances 

surrounding  the  exception.  When  a  floating  point  exception  is  triggered,  the 

following events occur:

• The  global  structure  is  filled  in  with  the  exception  type,  the  

operation  in  progress,  and  the  precision  of  the  operation.  Unless  

the operation is 

MATH

, the data value in 

_fperror

 is set to zero.

• The standard UNIX exception 

SIGFPE

 is raised. This will abort with 

a core dump unless a call has been made to 

fpsigset()

 (see below), or 

the user has otherwise arranged for catching the signal.

• If the 

SIGFPE

 is caught and the exception is returned from, the data 

value  found  in 

_fperror

  is  returned  to  the  routine  which  raised  the 

exception. In the case of floating point compare, this value replaces 

the  erroneous  operand  and  the  comparison  is  retried.  In  all  other 

cases (such as add, subtract, etc.), this value will become the result 

of the operation, if one is needed.

User control over floating point exception processing consists of calling 

fpsigset()

fpsigset()

 takes two arguments. The first is a pointer to a user handler function, 

or 

NULL

 if none. The second is a flag word in which individual bits indicate:

• whether  an  error  message  should  be  printed  on  stderr  concerning 

the exception.

• whether  the  process  should  abort  at  the  end  of  processing  the 

exception.

• if  the  process  is  to  abort,  whether  or  not  it  should  make  a  core 

dump.

The file 

/usr/include/fperr.h

 contains the definitions for the various bits in this flag 

word, as well as the definition for the 

_fperror

 structure.

fpsigset()

  sets  a  routine  to  catch  the 

SIGFPE

  signal.  When  this  routine  gains 

control, it will do the following:

• If a user handler was specified in the last call to 

fpsigset()

, it will be 

called.  The  user  routine  may  diagnose  the  error  by  examining  the 

structure 

_fperror

 and alter the value for the result, if so desired. If

Summary of Contents for IRIS Workstation

Page 1: ...IRIS Workstation Guide Version 1 0 Silicon Graphics Inc Mountain View California 94043 ...

Page 2: ...ocument contains proprietary information of Silicon Graphics Inc and is protected by Federal copyright law The information may not be disclosed to third parties or copied or duplicated in any form in whole or in part without prior written consent of Silicon Graphics Inc IRIS Workstation Guide Version 1 0 Document Number 5001 092 001 0 ...

Page 3: ...4 3 Monitor to Cabinet Video Connections 15 4 4 Monitor to Cabinet Control Cable Connection 17 4 5 Monitor to Cabinet AC Power Cable Connection 17 4 6 IRIS Workstation to Serial Line Connection 17 Terminal Connection 17 Modem Connection 18 Printer Connection 18 4 7 IRIS Workstation to Ethernet Connection 18 4 8 Cabinet AC Power Connection 19 4 9 Cabinet to Dial and Switch Box Connection 19 5 Opera...

Page 4: ...work Connection to the IRIS Workstation 40 6 12 Tape Drive 41 6 13 Shutdown 41 6 14 Crash Recovery 42 Appendix A Configuration Switches 45 Appendix B Fsck The Unix File System Check Program 1 47 Appendix C Diagnostics 71 Appendix D The C FORTRAN Interface 75 Appendix E IRIS Floating Point 89 Appendix F Manual Pages 99 Appendix H IRIS Workstation RS 232 Interface 127 Appendix I UUCP Administration ...

Page 5: ...ction with cables provided in the delivery cartons The basic outline of the installation is as follows Planning and Site Selection Unpacking the IRIS Workstation Components Hardware Installation Operation and Testing Silicon Graphics provides a comprehensive product support and maintenance program for the IRIS Workstation For further information the toll free Geometry Hotline numbers for Silicon G...

Page 6: ...2 IRIS WORKSTATION GUIDE Version 1 0 Introduction ...

Page 7: ...election is the customer s responsibility Silicon Graphics representatives will provide consulting services upon request 1 Inspect the delivery cartons for damage WARNING The delivery cartons should be moved on a pallet jack or cart capable of supporting 200 lbs If they must be lifted two strong people are needed WARNING Do not turn the delivery cartons on edge 2 Move the cartons to the installati...

Page 8: ...included in the tray with the list in Section 3 If any parts appear to be missing contact Silicon Graphics Customer Service see Section 1 10 Cut the plastic straps on the white carton 11 Open the top of the carton and remove the foam cap 12 Lift the carton off of the Cabinet 13 Lift the Cabinet off the base pallet and set it on the floor 14 Remove the foam spacers 15 The Cabinet is shipped inside ...

Page 9: ...mounted on casters The Monitor is a high resolution 19 inch color monitor The Keyboard is an 83 key up down encoded keyboard The Mouse is a 3 button mouse The Switch Box has 32 independently programmable switches and 32 independently programmable LED indicator lights An 8 character LED display gives status information for the Dial Box and the Switch Box The Dial Box optional has 8 independently pr...

Page 10: ...6 IRIS WORKSTATION GUIDE Version 1 0 IRIS Workstation Specifications Figure 3 1 IRIS Workstation System ...

Page 11: ...C power cable provides power for the Dial Box and the Switch Box 3 4 Monitor The Monitor has two control panels the IRIS Control Panel on the front left and the Monitor Control Panel on the front right On the back of the Monitor are several ports for receiving video signals a power socket and a control cable port IRIS Control Panel The IRIS Control Panel has two ports for connecting the Keyboard a...

Page 12: ...8 IRIS WORKSTATION GUIDE Version 1 0 IRIS Workstation Specifications Figure 3 2 IRIS Control Panel and Monitor Control Panel ...

Page 13: ...rning this knob clockwise increases the Monitor s brightness 1 knob labeled Contrast adjusts the white levels Turning this knob clockwise increases the Monitor s contrast 1 button labeled Degauss demagnetizes the Monitor screen 1 light labeled Health indicates that power for the Monitor is switched on and most of the Monitor is operating properly 1 switch labeled Power controls power for the Monit...

Page 14: ...10 IRIS WORKSTATION GUIDE Version 1 0 IRIS Workstation Specifications Figure 3 3 Monitor Back Panel ...

Page 15: ...vailable for RS 232 or RS 423 serial lines 1 15 pin D socket labeled Ethernet connects the IRIS Workstation to an Ethernet drop cable 1 BNC socket labeled Sync is a port for the video sync cable connecting the Cabinet and the Monitor 1 BNC socket labeled Red is a port for transmitting the red video signal from the Cabinet to the Monitor through a coaxial cable 1 BNC socket labeled Green is a port ...

Page 16: ...12 IRIS WORKSTATION GUIDE Version 1 0 IRIS Workstation Specifications Figure 3 4 IRIS 1400 Cabinet Back Panel ...

Page 17: ...e Cabinet Power Panel has two power outlets and a power plug see Figure 3 4 1 male 3 pin input power plug labeled Power provides power for the IRIS Workstation system 1 switched 2 amp power outlet labeled Monitor provides power for the Monitor 1 unswitched 3 amp convenience outlet labeled 3A Max provides power for peripheral equipment 1 15 amp circuit protector IRIS 1400 Power Switch The Power swi...

Page 18: ...ion Specifications The C and FORTRAN editions of the IRIS Graphics Library are quick reference cards with overviews of each command in the IRIS Graphics Library The UNIX Programmer s Manual is a set of reference manuals and tutorials for the UNIX System ...

Page 19: ...DIN socket labeled Keyboard on the IRIS Control Panel 4 2 Mouse to Monitor Connection The Mouse cable is connected to the IRIS Control Panel located on the lower left front of the Monitor see Figure 3 2 1 Connect the slide locking D socket on the Mouse cable to the D plug labeled Mouse on the IRIS Control Panel 4 3 Monitor to Cabinet Video Connections The color coded bundle of coaxial video cables...

Page 20: ...16 IRIS WORKSTATION GUIDE Version 1 0 Hardware Installation Figure 4 1 IRIS 1400 Monitor to Cabinet Connections ...

Page 21: ... socket on the Monitor Back Panel 2 Connect the male end of the Monitor power cable to the AC outlet labeled Monitor on the Cabinet Power Panel 4 6 IRIS Workstation to Serial Line Connection The IRIS Workstation can be connected to a modem a terminal or a printer through a serial line attached to Port 2 Port 3 or Port 4 on the Cabinet I O Panel The connection for each of these devices are slightly...

Page 22: ...t I O Panel Appendix H has a description of the RS 232 interface for the IRIS Workstation serial ports The manual for the printer should have a specification for its RS 232 interface 2 Turn on the power for the printer 3 See Section 6 10 for instructions on how to enable a serial port for a printer This involves editing system configuration files and resetting the software that enables the serial ...

Page 23: ...he power requirements of the IRIS Workstation 4 9 Cabinet to Dial and Switch Box Connection The IRIS Workstation can be connected to an optional Dial and Switch Box for sending information to an application program on the IRIS Workstation 1 Connect the 37 pin flat cable from the port on the Dial Box to the bottom left port on the Switch Box 2 Connect the 9 pin cable from the top left port on the S...

Page 24: ...20 IRIS WORKSTATION GUIDE Version 1 0 Hardware Installation ...

Page 25: ...TE The sections that follow assume that the reader has some experience with the UNIX system as a user 5 1 Boot The IRIS Workstation can be booted in many different ways but the simplest and most common is to boot off of a disk NOTE UNIX single user mode should be used only for system maintenance Normal operation should occur only in multi user mode 1 Check the configuration switches on the I O Pan...

Page 26: ...S Workstation is shipped with three user accounts rootcsh root and guest The rootcsh account is a privileged account with a C Shell environment The root account is a privileged account with a Bourne Shell environment The guest account is a sample user account with a C Shell environment New accounts can be added by the system administrator see Section 6 7 login guest 8 Accounts frequently have pass...

Page 27: ...e cc track c o track Zg See cc 1 for information on the C and FORTRAN compilers for the IRIS Workstation After track has been compiled it can be run track A blue box will appear on the screen which can be moved around with the Mouse To exit track press all three Mouse buttons or CONTROL c 5 3 Monitor Adjustment The Monitor Control Panel on the right side of the Monitor has several knobs for adjust...

Page 28: ...olympus oh4 doc install sqiral c xcp sting usr include stdio h te xcp puppy temp_vi sting temp_vi NOTE In each example the user must have an account with the same user name on each host The first example copies a file in the current directory of the remote machine to the file sqiral c in the directory oh4 doc install on the host named olympus The second example copies a file from the host olympus ...

Page 29: ...ither Reset button or the Power switch while the IRIS Workstation is running UNIX without first using the etc reboot q command listed below If the IRIS Workstation is under the control of the PROM Monitor then the Reset buttons and the Power switch may be safely used 1 To shut down UNIX type the etc reboot q command etc reboot q NOTE etc reboot q is a privileged command requiring super user permis...

Page 30: ...26 IRIS WORKSTATION GUIDE Version 1 0 Operation ...

Page 31: ... the display of checkout information about the boot state see Appendix A The IRIS Workstation can be booted from either a disk drive or a tape drive These devices can be used automatically or explicitly through the PROM Monitor Automatic boot procedures involve setting configuration switches and turning on the system power The PROM Monitor is a simple command interpreter through which all boot env...

Page 32: ...he On position A variation of this boot procedure can be used explicitly through the PROM Monitor See the entries for the PROM Monitor tb command in Table 6 1 PROM Monitor The PROM Monitor is a simple command interpreter through which each IRIS Workstation boot environment can be accessed If the Boot Environment configuration switches are set to 01000 the IRIS Workstation will be under the control...

Page 33: ...m startup Scan processor memory An X is displayed for each half megabyte of memory and a is displayed for each non existent half megabyte of memory Clear processor memory Map processor memory Display configuration switch values This information is intended for diagnostic purposes only Normally the Checkout configuration switch should be set to the Closed position 6 3 UNIX Single User Mode After th...

Page 34: ...Restart the PROM Monitor Table 6 1 PROM Monitor Commands 1 Start multi user mode multi 2 Set the date The input format of the date command is mmddhhmmyy month day hour minute year optional For example Is the date Wed Mar 21 14 16 42 PST 1984 y or n n Enter the correct date 0322091484 Is the date Thu Mar 22 09 14 01 PST 1984 y or n y A UNIX login prompt will then appear 3 Log into a UNIX account Th...

Page 35: ...d at mbio 0x1f00 ipl 1 qic0 QIC Quarter Inch Cartridge Tape slave 0 md0 Vertex V170 Name XORN drive 0 slave 0 md1 Vertex V170 Name Beta Version 1 2 4 10 84 slave 1 mf0 not installed nx0 at mbio 0x0010 ipl 2 ge0 at mbio 0x1400 ipl 4 fbc0 at mbio 0x1c00 ipl 3 Root File System Device Name root on md0a Swap Space Device Name and Size swap on md0b 8865K of swap space Single User Mode Banner INIT SINGLE...

Page 36: ...ion One of the strengths of the UNIX operating system is its flexibility A given UNIX system can be configured in a variety of ways Choices include hardware configurations like the amount of memory a system has and software configurations like where a program is located and who has permission to use it On the user level there are even more choices For example each user can choose how the system fi...

Page 37: ...d when its corresponding port is used to login See Sections 6 8 and gettydefs 4 etc group This file contains information about groups See Section 6 7 and group 4 etc inittab This file contains an entry for each device that init 1 will initialize See Sections 6 8 6 9 6 10 6 11 inittab 4 and telinit 1M etc motd This file contains the message of the day It is displayed each time a user logs into an I...

Page 38: ...ditionally the system administrator can set up the new user s environment with startup files home directories etc These are largely matters of personal taste and will not be covered here except in outline form 1 Edit the file etc passwd This file contains a line for each account on a UNIX system Each line has seven fields separated by colons See passwd 4 1 Account Name 2 Encrypted User Password 3 ...

Page 39: ... for the group adm User names in this field are separated by commas adm 3 henry peter 3 Make a home directory for the new user The ownership file and group protections should also be set for the new directory For example mkdir usr staff peter chgrp user usr staff peter chmod 755 usr staff peter chown peter usr staff peter mkdir 1 makes the home directory for the new user chgrp 1 changes the group ...

Page 40: ...on through Port 2 Port 3 or Port 4 on the Cabinet I O Panel see Figure 3 4 1 Connect a serial line to Port 2 Port 3 or Port 4 See Section 4 6 for instructions on how to physically connect the IRIS Workstation to a terminal with an RS 232 serial line 2 Edit the file etc inittab Each line corresponds to a device file in dev and contains four fields separated by colons See Table 6 2 for a list of the...

Page 41: ... a blocked device Swap device used by ps l System console linked to dev console System console linked to dev console A synonym for the tty device associated with a process See termio 7 and tty 7 Port 2 on Cabinet I O Panel Port 3 on Cabinet I O Panel Port 4 on Cabinet I O Panel Network ports IP TCP for future releases Table 6 2 Special Device Files in dev port selected in etc inittab 4 If the defa...

Page 42: ...modem can then be used by the UNIX utilities cu and uucp Port 3 should be used first since the serial line configuration files are prepared for it To attach a modem to any of the other ports requires modification of the serial line configuration files 1 See Section 4 6 for instructions on how to physically connect the IRIS Workstation to a modem with an RS 232 serial line 2 Edit the file etc initt...

Page 43: ...le transfer program See Appendix I for an explanation of UUCP system administration The procedure above is intended for a dial out modem To connect a modem to the IRIS Workstation for dial in use a getty must be started on the appropriate port To do this edit etc inittab and delete the x in the second field of the line corresponding to the selected port Then run telinit q to have init reread etc i...

Page 44: ...ttab file etc telinit q This causes init to read etc inittab and enable a port for the line printer 7 Test the line printer cat etc passwd dev lp lpr etc passwd pr f l66 etc rc lpr 6 11 Enabling a Network Connection to the IRIS Workstation The IRIS Workstation can be connected to an Ethernet local area network 1 See Section 4 7 for instructions on how to physically connect the IRIS Workstation to ...

Page 45: ...d ttytype 4 5 Login through the network to another host 6 12 Tape Drive The IRIS Workstation has an optional tape drive for backing up file systems on the disks and for reading new software distributions See Table 6 4 for a list of tape drive specifications In addition the IRIS Workstation can be booted from the tape drive in case the root file system is damaged beyond repair see Section 6 1 The t...

Page 46: ...and requiring super user permission 2 Set the Power switch on the Cabinet to the Off position 6 14 Crash Recovery This section is necessarily incomplete See Appendix C for a list of error messages and probable causes If the IRIS Workstation stops running for some reason first try to reboot it without hitting the Reset button Use the etc reboot q command etc reboot q If keystrokes are not echoed or...

Page 47: ...em Administration Tape Drive Procedures Backup cpio oha1 tar cv Incremental Backup find mtime 7 print cpio oha1 find mtime 7 print tar cv Read Tape cpio ihum1 tar xv List Tape Contents cpio iht1 cpio ihtv1 tar tv Table 6 5 Tape Drive Procedures ...

Page 48: ...44 IRIS WORKSTATION GUIDE Version 1 0 System Administration ...

Page 49: ...baud 3 Checkout 0 1 No additional testing Additional testing time consuming 4 8 Boot environment 00000 00001 00100 01000 01100 10000 all others Floppy disk boot Disk boot Network boot PROM Monitor Serial line boot Tape boot Undefined Table A 1 IRIS Workstation Configuration Switches 1 0 means Closed and 1 means Open Version 1 0 ...

Page 50: ...46 IRIS WORKSTATION GUIDE Version 1 0 Appendix A ...

Page 51: ...Every working day hundreds of files are created modified and removed Every time a file is modified the Unix operating system performs a series of file system updates These updates when written on disk yield a consistent file system To understand what happens in the event of a permanent interruption in this sequence it is important to understand the order in which the update requests were probably ...

Page 52: ...single indirect block numbers A triple indirect block contains a list of double indirect block numbers Indirect blocks are written to the file system whenever they have been modified and released2 by the operating system Data Blocks A data block may contain file information or directory entries Each directory entry consists of a file name and an inode number Data blocks are written to the file sys...

Page 53: ...to be modified further can be disastrous Hardware Failure Any piece of hardware can fail at any time Failures can be as subtle as a bad block on a disk pack or as blatant as a non functional disk controller B 4 Detection and Correction of Corruption A quiescent3 file system may be checked for structural integrity by performing consistency checks on the redundant data intrinsic to a file system The...

Page 54: ... block list starts in the super block and continues through the free list blocks of the file system Each free list block can be checked for a list count out of range for block numbers out of range and for blocks already allocated within the file system A check is made to see that all the blocks in the file system were found The first free block list is in the super block Fsck checks the list count...

Page 55: ...e Each inode contains a mode word This mode word describes the type and state of the inode Inodes may be one of four types regular inode directory inode special block inode and special character inode If an inode is not one of these types then the inode has an illegal type Inodes may be found in one of three states unallocated allocated and neither unallocated nor allocated This last state indicat...

Page 56: ...ode with the earliest modify time is incorrect and should be cleared This condition can occur by using a file system with blocks claimed by both the free block list and by other parts of the file system If there is a large number of duplicate blocks in an inode this may be due to an indirect block not being written to the file system Fsck will prompt the operator to clear both inodes Bad Blocks Co...

Page 57: ...cks in files created in random order Indirect Blocks Indirect blocks are owned by an inode Therefore inconsistencies in indirect blocks directly affect the inode that owns it Inconsistencies that can be checked are blocks already claimed by another inode and block numbers outside the range of the file system For a discussion of detection and correction of the inconsistencies associated with indire...

Page 58: ...y data blocks not being written to the file system Free List Blocks Free list blocks are owned by the super block Therefore inconsistencies in free list blocks directly affect the super block Inconsistencies that can be checked are a list count outside of range block numbers outside of range and blocks already associated with the file system For a discussion of detection and correction of the inco...

Page 59: ...M manual entry for further detail Bad t option The t option is not followed by a file name Fsck terminates on this error condition See the fsck 1M manual entry for further detail Invalid s argument defaults assumed The s option is not suffixed by 3 4 or blocks per cylinder blocks to skip Fsck assumes a default value of 400 blocks per cylinder and 9 blocks to skip See the fsck 1M manual entry for m...

Page 60: ...name by mistake It ignores this file system and continues checking the next file system given Check file type of F Can t open F The file system F can not be opened for reading It ignores this file system and continues checking the next file system given Check access modes of F Size check fsize X isize Y More blocks are used for the inode list Y than there are blocks in the file system X or there a...

Page 61: ... of the file system A second run of fsck should be made to re check this file system If the block was part of the virtual memory buffer cache fsck will terminate with the message Fatal I O error NO terminate the program CAN NOT WRITE BLK B CONTINUE Fsck s request for writing a specified block number B in the file system failed The disk is write protected See a guru Possible responses to the CONTIN...

Page 62: ... error condition will not allow a complete check of the file system A second run of fsck should be made to re check this file system If another allocated inode with a zero link count is found this error condition is repeated NO terminate the program B BAD I I Inode I contains block number B with a number lower than the number of the first data block in the file system or greater than the number of...

Page 63: ...han a tolerable number usually 10 of blocks claimed by other inodes See Section 4 2 3 Possible responses to the CONTINUE prompt are YES ignore the rest of the blocks in this inode and continue checking with the next inode in the file system This error condition will not allow a complete check of the file system A second run of fsck should be made to re check this file system NO terminate the progr...

Page 64: ...e error condition when the duplicate block is found B DUP I I Inode I contains block number B which is already claimed by another inode This error condition will always invoke the BAD DUP error condition in Phase 2 You can determine which inodes have overlapping blocks by examining this error condition and the DUP error condition in Phase 1 See Section 4 2 3 Phase 2 Check Pathnames This phase conc...

Page 65: ...ondition in the root inode and attempt to continue to run the file system check If the root inode is not correct then this may result in a large number of other error conditions NO terminate the program I OUT OF RANGE I I NAME F REMOVE A directory entry F has an inode number I which is greater than the end of the inode list See Section 4 4 Possible responses to the REMOVE prompt are YES the direct...

Page 66: ...3 Check Connectivity This phase concerns itself with the directory connectivity seen in Phase 2 This section lists error conditions resulting from unreferenced directories and missing or full lost found directories UNREF DIR I I OWNER O MODE M SIZE S MTIME T RECONNECT The directory inode I was not connected to a directory entry when the file system was traversed The owner O mode M size S and modif...

Page 67: ...directory inode I1 is replaced by the inode number of the lost found directory See Section 4 4 and 4 2 2 Phase 4 Check Reference Counts This phase concerns itself with the link count information seen in Phase 2 and Phase 3 This section lists error conditions resulting from unreferenced files missing or full lost found directory incorrect link counts for files directories or special files unreferen...

Page 68: ...econnected See Section 4 2 2 Possible responses to the CLEAR prompt are YES de allocate the inode mentioned in the immediately previous error condition by zeroing its contents NO ignore this error condition LINK COUNT FILE I I OWNER O MODE M SIZE S MTIME T COUNT X SHOULD BE Y ADJUST The link count for inode I which is a file is X but should be Y The owner O mode M size S and modify time T are prin...

Page 69: ...ossible responses to the CLEAR prompt are YES de allocate inode I by zeroing its contents NO ignore this error condition UNREF DIR I I OWNER O MODE M SIZE S MTIME T CLEAR Inode I which is a directory was not connected to a directory entry when the file system was traversed The owner O mode M size S and modify time T of inode I are printed See Section 4 2 2 and 4 4 Possible responses to the CLEAR p...

Page 70: ...block list This section lists error conditions resulting from bad blocks in the free block list bad free blocks count duplicate blocks in the free block list unused blocks from the file system not in the free block list and the total free block count incorrect EXCESSIVE BAD BLKS IN FREE LIST CONTINUE The free block list contains more than a tolerable number usually 10 of blocks with a value less t...

Page 71: ...ast block in the file system This error condition will always invoke the BAD FREE LIST condition in Phase 5 See Section 4 1 2 and 4 2 4 X DUP BLKS IN FREE LIST X blocks claimed by inodes or earlier parts of the free list block were found in the free block list This error condition will always invoke the BAD FREE LIST condition in Phase 5 See Section 4 1 2 and 4 2 3 X BLK S MISSING X blocks unused ...

Page 72: ...fault free block list spacing assumed This is an advisory message indicating the blocks to skip is greater than the blocks per cylinder the blocks to skip is less than one the blocks per cylinder is less than one or the blocks per cylinder is greater than 500 The default yalues of 9 blocks to skip and 400 blocks per cylinder are used See the fsck 1M manual entry for further detail Cleanup Once a f...

Page 73: ...NIX rebooted If UNIX is not rebooted immediately the work done by fsck may be undone by the in core copies of tables UNIX keeps B 6 References 1 Ritchie D M and Thompson K The UNIX Time Sharing System The Bell System Technical Journal 57 6 July August 1978 Part 2 pp 1905 29 2 Dolotta T A and Olsson S B eds UNIX User s Manual Edition 1 1 January 1978 3 Thompson K UNIX Implementation The Bell System...

Page 74: ...70 IRIS WORKSTATION GUIDE Version 1 0 Appendix B ...

Page 75: ...is could either be a hardware or a software problem but it most likely means that either the disk drive is damaged or the root file system on the disk drive is damaged E The following diagnostics indicate that something is wrong with the disk controller a dsd couldn t start b qicstart couldn t start c dsd no status posted d dsdstatus e dsdstart unknown type II SYSTEM SOFTWARE DIAGNOSTICS A getmajo...

Page 76: ...it process was killed If done with a user program or the Shell kill command then nothing is wrong If this happens during the boot procedure then something is wrong with the root file system H out of swap space Too many processes for the given swap space Try running a more modest number of processes I The following diagnostics indicate problems with the kernel a trap b kernel address error c kernel...

Page 77: ...Version 1 0 IRIS WORKSTATION GUIDE 73 Appendix C e random gr error f wnrepaint ...

Page 78: ...74 IRIS WORKSTATION GUIDE Version 1 0 Appendix C ...

Page 79: ...test while FORTRAN stores them in column major order Arrays in C are zero based Arrays in FORTRAN can have their subscript base specified but default to one When an integer expression is passed as a parameter in C the result is always a 32 bit object This is the case with the FORTRAN 77 compiler unless the INT2 option is used Using this option integer expressions are evaluated into 16 bit objects ...

Page 80: ...ue parameters Any time a FORTRAN subroutine alters one of its parameters the alteration affects the caller This may not be the case when the interface has been modified by a wrapper Both caller and callee must agree on that data objects are common Wrappers help alleviate these system level differences by relying on the more flexible type specifications available in C By using procedure headers cod...

Page 81: ...y generate with a warning message The use of underscores in function names is not advised when generating FORTRAN entry points FORTRAN Character Variables as Parameters The user may specify the length of a character variable passed as a parameter to FORTRAN either at compilation or at run time This is determined by the declaration of the parameter in the FORTRAN routine If the declaration contains...

Page 82: ... long float is reduced to a 64 bit data value 16 bit value When calling FORTRAN from C the address of the value found on the stack is passed When calling C from FORTRAN a 16 bit value is loaded using the address on the stack The value is either extended or masked depending on whether its type in the function parameter list is specified as signed or unsigned and passed to C The C type short is redu...

Page 83: ...without alteration Any array or pointer that is not of char type any multiply indirect object or any indirect array is assumed to be of pointer type If the type of a parameter is specified but is not one of the standard C types mkf2c and mkc2f assume it to be a pointer test i s c ptr1 ptr2 ar1 u f d d1 str1 str2 str3 short s unsigned char c int ptr1 char ptr2 short ar1 sometype u float f long floa...

Page 84: ...en FORTRAN is calling C a character string that is specified as char in the C parameter list is copied and null terminated C may thus determine the length of the string by use of the standard C function strlen If a character variable is specified as a character array in the C parameter list it may be impossible for C to determine its length as it is not null terminated When the call occurs the wra...

Page 85: ...clude these constructs from the wrapper input This can be accomplished by placing special comments in the code to designate those functions for which FORTRAN to C wrappers are to be generated The code is then passed through the program extcentry 1 extcentry will place in its output file only those portions of its input that are surrounded by the special C comments CENTRY and ENDCENTRY extcentry is...

Page 86: ... will pass the character c to FORTRAN This character value will be transformed to a character 1 by the wrapper If FORTRAN modifies this variable the C routine will be unaffected This is not the case with the string str Note that the braces for a function body must be included in the input to mkc2f mkc2f will ignore anything found between these braces Makefile Considerations It is relatively simple...

Page 87: ...itional modules may be added to the executable by one of the following steps 1 If the file is a native C file whose routines are only to be called by other C routines simply add the o to the specification of the final make target 2 If the file is a native FORTRAN file whose routines are only to be called by other FORTRAN routines simply add the j to the specification of the final make target 3 If ...

Page 88: ...ry NOTE This include file must be included by each FORTRAN routine that must use the IRIS Graphics Library The second include file usr include fdevice h is the equivalent of device h for FORTRAN routines It contains the definition of a common block named DEVICE that contains such constants as colors mouse buttons etc It must be included by each FORTRAN routine that needs these constants As an exam...

Page 89: ...efined variables as parameters to graphics routines so that the parameter types are correct A particularly troublesome case is the use of numeric constants as parameters For example it is tempting to call a routine such as curveit CURVEI in FORTRAN with a numeric constant call curvei 4 This will not produce the desired result The definition for CURVEI in FORTRAN is subroutine curvei count integer ...

Page 90: ... value are discarded If non character data items are initialized using Hollerith notation the CHAREQU option must be set Hollerith in SUBROUTINE and FUNCTION calls Actual arguments may be expressed in Hollerith for user subroutine and function calls The address of a read only temporary that is initialized to an array of characters as specified in the actual argument is passed to the subprogram Hol...

Page 91: ...IA 4H 2F1 4H2 4 4H3X I 4H8 WRITE IA iolist is equivalent to WRITE 2F12 4 3X I8 iolist This corresponds to conventions commonly used in FORTRAN 66 dialects NOTE The use of Hollerith strings in new programs is strongly discouraged since it is not part of the FORTRAN 77 standard ...

Page 92: ...88 IRIS WORKSTATION GUIDE Version 1 0 Appendix D ...

Page 93: ...ng point formats when the exponent of the number decreases to zero the number itself becomes zero or a trap specifying underflow is signaled In the IEEE format the number remains valid and is termed denormalized Denormalized number arithmetic proceeds by expanding the exponent and normalizing the number Underflow is signaled only when the result of the operation cannot be represented even by denor...

Page 94: ...n which NaN is generated when a denormalized number is used in an arithmetic operation Warning mode is not implemented Rounding to nearest is implemented using at least seven guard bits No sticky bit is used Directed rounding modes are not implemented The implementation of exception handling is treated in Section E 3 E 3 The C Floating Point Implementation IRIS Floating Point Types The C language ...

Page 95: ...ified when the receiving routine does not want the added precision and converts the incoming value back to float All floating point numbers that are declared as either double or float will be single precision on the IRIS Workstation All operations on them will also be single precision This includes most calls to the standard set of math routines sin cos sqrt etc See Section 3 of the UNIX Programme...

Page 96: ...recisions differed only in the size of the mantissa as in IEEE format Standard C Library Floating Point Routines Additions have been provided to some standard C library routines to support this implementation The usual formats f g and e assume single precision floating point The additional formats lf lg and le have been added for use with long float quantities The usual set of math routines expect...

Page 97: ...caught and the exception is returned from the data value found in _fperror is returned to the routine which raised the exception In the case of floating point compare this value replaces the erroneous operand and the comparison is retried In all other cases such as add subtract etc this value will become the result of the operation if one is needed User control over floating point exception proces...

Page 98: ...TINUE_AFTER_FPERROR To abort on a signal with a message and no core dump INHIBIT_DUMP could be used as the second argument in the above call to fpsigset As mentioned previously the circumstances surrounding a floating point exception are recorded in the global data structure _fperror This structure definition is contained in usr include fperr h struct union float fval long float dval val unsigned ...

Page 99: ...ered from a partial loss of significance This result is left in the _fperror structure and will eventually become the result of the operation unless altered The type field indicates the exact nature of the error The following exception types are listed in the draft standard Type codes with alphanumeric suffixes correspond to the exception number provided in that document a INV ALID_OP_A An operand...

Page 100: ... PARTIAL_SLOSS The algorithm used for the function does not behave nicely in the range of the argument although the result will not overflow or underflow A code is placed in the global int _mathfunc_id to indicate the math function that raised the exception This code is valid whenever _fperror type is MATH The possible codes are SIN COS TAN LOG EXP SQRT POW ASIN ACOS SINH COSH ATAN2 ATAN UP_I GAMM...

Page 101: ...slight code density improvement Hardware Floating Point Enhancements On IRIS Workstations which have hardware floating point capability the C compiler may be told to generate instructions for the Sky floating point processor Additionally at load time a special version of the math library is loaded which uses the floating point processor whenever possible The compiler uses in line code to invoke th...

Page 102: ...98 IRIS WORKSTATION GUIDE Version 1 0 Appendix E ...

Page 103: ...Appendix F Manual Pages ...

Page 104: ......

Page 105: ...he line numbers in the resultant Pascal file will be the same as the original b The preprocessed C files are then run through the C compiler ccom and if specified the C optimizer c2 The resulting s files are then assembled producing UNIX binaries o c Preprocessed FORTRAN f and Pascal p files are run through the appropriate SVS front end fortran or pascal then through the code generator code produc...

Page 106: ...le The x flag inhibits this default C prevent the macro preprocessor from removing C style comments found in the source Such comments are always removed from Pas cal programs D name def D name Define the name to the preprocessor as if by define There should be no blanks between the D and the symbol to be defined If no definition is given the name is defined as 1 E Run only the macro preprocessor o...

Page 107: ...ed f77 a FORTRAN source file with the extension f OR the switch ZF is given cc assumes that FORTRAN routines are present In this case the program is also loaded with the FORTRAN graphics interface library lfgl and the FORTRAN object file containing the block data initialization of the common areas DEVICE and GL usr bin fgldat j If the compilation line specified pc a Pascal source file with the ext...

Page 108: ...ssed to ld if opted in the order given to produce an executable program named a out or that specified by the o option FILES file c C source file file f FORTRAN source file file p Pascal source file file j Pascal and FORTRAN binary files file o binary relocatable file file s assembly file a out executable file lib ccom C compiler lib cpp C preprocessor lib crt0 o run time startup lib libc a C libra...

Page 109: ... symbol table information optionally produced by ccom for dbx 1 is not supported as of IRIS Workstation release 1 7 DIAGNOSTICS The diagnostics produced by C FORTRAN and Pascal are intended to be self explanatory Occasional messages may be produced by the assembler or loader ...

Page 110: ...tory tree based upon the options described below The meanings of the available options are Use dev rmt as input for i or output for o Note 6 has another meaning described below a Reset access times of input files after they have been copied B Input output is to be blocked 5 120 bytes to the record does not apply to the pass option meaningful only with data directed to or from dev rmt c Write heade...

Page 111: ...dir find depth print cpio pdl newdir duplicates a directory hierarchy The trivial case find depth print cpio oB dev rmt0 can be han dled more efficiently by find cpio dev rmt0 SEE ALSO ar 1 find 1 cpio 4 BUGS Path names are restricted to 128 characters If there are too many unique linked files the program runs out of memory to keep track of them and thereafter linking information is lost Only the ...

Page 112: ...ial comments CENTRY and END CENTRY The first step in generating a FORTRAN to C interface routine is to surround only those C functions for which entry points are to be generated by these special comments and to run the file through extcentry The FORTRAN to C intertace generator program mkf2c 1 can then be invoked on the resultant file to generate the assembly language wrapper This is necessary sin...

Page 113: ... all questions asked by fsck do not open the file system for writing sX Ignore the actual free list and unconditionally reconstruct a new one by rewriting the super block of the file system The file system should be unmounted while this is done if this is not possible care should be taken that the system is quiescent and that it is rebooted immedi ately afterwards This precaution is necessary so t...

Page 114: ...Directory size not 16 byte aligned 5 Bad inode format 6 Blocks not accounted for anywhere 7 Directory checks File pointing to unallocated inode inode number out of range 8 Super Block checks More than 65536 inodes More blocks for inodes than there are in the file system 9 Bad free block list tormat 10 Total free block and or free inode count incorrect Orphaned files and directories allocated but u...

Page 115: ...ator must prefix the response with a 1 or a 2 indicating that the answer refers to the first or second file system group Do not use dfsck to check the root file system EXAMPLE fsck dev rdisk0 checks the consistency of device rdisk0 FILES etc checklist contains default list of file systems to check SEE ALSO clri 1M ncheck 1M checklist 4 fs 4 crash 8 Setting up the UNIX System BUGS inode numbers for...

Page 116: ...le that must be assembled with as 1 and loaded with the FORTRAN and C routines that are to be interfaced mkc2f and mkf2c use the parameter declarations in the C function headers to transform each parameter of the calling language to that of the receiving language The standard basic C types attached to the parameters are used to determine the object each parameter represents i e whether it is a val...

Page 117: ...l complain about types they do not understand The default type assigned in such cases is simple pointer Mkf2c and mkc2f will also delete characters from FORTRAN entry names which are illegal e g underscores The user will be warned in such instances Most errors that the programs detect are indicated only by the source line number If mkf2c or mkc2f encounter an error which they cannot remedy they wi...

Page 118: ...le and closes the connection The pathname of the boot file may be absolute or relative to the boot directory specified on the command line The system name on the command line should be identical to the kernel s idea of the host name i e bin hostname This daemon is normally run in the background For example sgboot bin hostname usr iris boot sgboot can be started by hand as shown above but should no...

Page 119: ...ocal area network The system name on the command line should be identical to the kernel s idea of the host name i e bin hostname sgbounce is normally run in the background For example sgbounce bin hostname usr iris boot Sgbounce can be started by hand as shown above but should normally be started in the file etc rc local NOTE Only one copy of sgbounce may be running at one time SEE ALSO Silicon Gr...

Page 120: ...ition on the tape fsf Forward space count files fsr Forward space count records rewind Rewind the tape Count is ignored status Print status intormation about the tape unit Count is ignored help Print command usage information about the command Count is ignored Smt returns a 0 exit status when the operation s were successful smt will return a 1 if the command was unrecognized and 2 if an operation ...

Page 121: ...en written onto the tape this directory is recursively extracted The owner modification time and mode are restored if possible If no file argument is given the entire content of the tape is extracted Note that it multi ple entries specifying the same file are on the tape the last one overwrites all earlier X Like x but also takes the next argument as the root of a directory tree for comparison For...

Page 122: ...ly The v verbose option make tar type the name of each file it treats preceded by the function letter With the t function the verbose option gives more infor mation about the tape entries than just their names w Tar prints the action to be taken followed by file name then waits for user confirmation If a word beginning with y is given the action is done Any other input means don t do it f Tar uses...

Page 123: ...ple directories not related by a close common parent to be archived using short relative path names For example to archive files from usr include and from etc one might use tar c C usr include C etc If a file name of is given on the command line when making an archive then tar will read its standard input for a list of files to back up one per line the list is terminated by an EOF For example to b...

Page 124: ...swords your current local login name must exist on rhost and allow remote command execution via xlogin l If path is not a full path name it is interpreted relative to your login directory on rhost A path on a remote host may be quoted using or so that the metacharacters are interpreted remotely xcp handles third party copies where neither source nor target files are on the current machine If the a...

Page 125: ... comand then instead of executing a single command you will be logged in on the remote host using xx 1 Shell metacharacters which are not quoted are interpreted on the local machine while quoted metacharacters are interpreted on the remote machine Thus the command xx otherhost cat remotefile localfile appends the remote file remotefile to the local file localfile while xx otherhost cat remotefile ...

Page 126: ...emote host system rhost All echoing takes place at the remote site so that except for delays xlogin is transparent Flow control via S and Q and flushing of input and output on interrupts are handled properly A line of the form disconnects from the remote host xlogin times out after 60 seconds if no login is attempted SEE ALSO xcp 1 xx 1 BUGS More terminal characteristics should be propagated ...

Page 127: ...er who tried to access the tape mu d can t switch density in mid tape An attempt was made to write on a tape at a different density than is already recorded on the tape This mes sage is written on the terminal of the user who tried to switch the density mu d hard error bn d mbsr b er x ds b A tape error occurred at block bn the mt error register and drive status register are printed in octal with ...

Page 128: ... usual meaning and it is not possible to read or write a byte at a time Writing in very small units 512 5120 bytes is inadvis able because this tends to create large record gaps and causes the tape to dis continue streaming The tape drive must then reposition the tape cartridge for the next write or read This causes a great delay with the tape moving backwards and forwards The smt 1 manipulation p...

Page 129: ...or mt_type byte define MT_ISTS 0x01 Streaming Quarter Inch Tape Drive mag tape io control commands define MTIOCTOP m 8 1 do a mag tape op define MTIOCGET m 8 2 get tape status ifndef KERNEL define DEFTAPE dev rmtioctl IOCTL device endif Each read or write call reads or writes the next record on the tape In the write case the record has the same length as the buffer given except when using tar 1 wi...

Page 130: ...ersion 1 0 3 October 1984 SMTIO 4 Silicon Graphics SMTIO 4 SEE ALSO smt 1 tar 1 cpio 1 BUGS The status should be returned in a device independent format but the status returned is very device independent ...

Page 131: ...Version 1 0 126 IRIS WORKSTATION GUIDE Appendix F ...

Page 132: ......

Page 133: ...orkstation asserts the Data Terminal Ready DTR signal on pin 20 This is provided for hosts that expect to see Data Carrier Detect DCD on pin 8 and or Data Set Ready DSR on pin 6 DCD or DSR signals are not required for a serial line connection Figure H 1 shows a three wire connection for the IRIS Workstation Transmit Data on pin 2 Receive Data on pin 3 and Signal Ground on pin 7 Figure H 2 shows a ...

Page 134: ...rsion 1 0 Appendix H A full modem connection with Request to Send RTS and Clear to Send CTS can be made by connecting pin 2 on the IRIS Workstation port to pin 3 on the modem Figure H l 3 Pin Connection Figure H 2 5 Pin Connection ...

Page 135: ...Version 1 0 IRIS WORKSTATION GUIDE 129 Appendix H Figure H 3 Full Modem Connection Figure H 4 Full Modem Connection with RTS and CTS ...

Page 136: ...130 IRIS WORKSTATION GUIDE Version 1 0 Appendix H ...

Page 137: ...the administrator must decide what level of access should be granted to other systems The other members of the network must make a similar decision for the new system The UNIX system password mechanism is used to grant access to other systems The file usr lib uucp USERFILE restricts access by other systems to parts of the file system tree and the file usr lib uucp L sys on the local processor dete...

Page 138: ...ystems must be considered since a null modem cannot be used when the systems are separated by more than several hundred feet The limit for communication at 9600 baud is about 800 to 1000 feet However the RS232 specification and Western Electric Support Groups only allow for less than 50 feet Limited distance modems must be used beyond 50 feet as noise on the lines becomes a problem Maintenance and...

Page 139: ...systems The file contains the attributes of the lines and whether the line is a direct connection or can call via a dialer The format of the file is type line call device speed protocol where each field is type Two keywords are used to describe whether a line is directly connected to another system DIR or uses an automatic calling unit ACU d An Ethernet XNS connection would use the DIR keyword lin...

Page 140: ...ng that indicates the days of week and times of day when the system should be called e g MoTuTh0800 1730 The day portion may be a list containing Su Mo Tu We Th Fr Sa or it may be Wk for any week day or Any for any day The time should be a range of times e g 0800 1230 If no time portion is specified any time of day is assumed to be allowed for the call Note that a time range that spans 0000 is per...

Page 141: ... field There are two special names available to be sent during the login sequence The string EOT will send an EOT character and the string BREAK will try to send a BREAK character The BREAK character is simulated using line speed changes and null characters and may not work on all devices and or systems A number from 1 to 9 may follow the BREAK e g BREAK1 will send 1 null character instead of the ...

Page 142: ...ck in order to confirm its identify Each line in the file has the format login sys c pathname pathname where login is the login name for a user or the remote computer sys is the system name for a remote computer c is the optional call back required flag pathname is a pathname prefix that is acceptable for sys The constraints are implemented as follows 1 When the program is obeying a command stored...

Page 143: ...paths usr xyz as well as usr spool The lines root usr allow any user to transfer files beginning with usr but the user with login root can transfer any file Note that any file that is to be transferred must be readable by anybody Forwarding File There are two files that allow restrictions to be placed on the forwarding mechanism The format of the entries in each file is the same system or system u...

Page 144: ...llowing parts describe the routine administrative tasks that must be performed by the administrator or are automatically performed by the uucp package The section on problems describes the most frequent problems and how to effectively deal with them Cleanup The biggest problem in a dialup network like uucp is dealing with the backlog of jobs that cannot be transmitted to other systems The followin...

Page 145: ...obs is the worse of the two conditions When file space does become available the system will be flooded with the backlog of traffic Bad ACU and Modems The ACU and incoming modems occasionally cause problems that make it difficult to contact other systems or to receive files These problems are usually readily identifiable since LOGFILE entries will usually point to the bad line If a bad line is sus...

Page 146: ...lling system The x4 specifies the level of debugging that is to be printed Higher levels of debugging can be printed greater than 4 but requires familiarity with the internals of uucico If several jobs are queued for the remote system it is not possible to force uucico to send one particular job first The contents of LOGFILE should also be monitored for any error indications that it posts Frequent...

Page 147: ...on of the auto configuration additions Device Addressing All devices are addressed through the Multibus I O space The OEM customer is restricted to the Multibus addresses within the range 0xF000 to 0xFFFF Silicon Graphics has reserved the remainder of the Multibus I O space for its own use The constant MBIOBASE defined in pmII cpureg h is used as the base address for the Multibus I O space The act...

Page 148: ...sio done for the current request The physio routine uses minphys to bound a given request but will continue to loop until u u_count is zero or an error occurs The standard minimum routine for DMA drivers is called minphys and is defined in h system h In the case where a driver needs its own minphys routine it is recommended that the system minphys routine be called prior to the bounding done by th...

Page 149: ...late file onto an OEM specific configuration file cp system name system name 5 Create a directory to build your kernel in mkdir system name 6 Edit the configuration file created in step 3 and modify the ident line to reflect the system name you have chosen 7 Add your device driver specifications to your configuration file as created from the template file in step 3 8 Create the file files system n...

Page 150: ...r the control of the PROM Monitor Boot the new kernel iris b testvmunix Example This example illustrates the generation of a kernel with one OEM supplied device driver We assume the following a We are configuring for the IRIS 1400 Workstation b We have chosen OEM for our system name This name is very important because it binds the configuration process together c Existence of a mythical disk contr...

Page 151: ...new system name ident PMII ident OEM 4 Add the wahoo configuration specifications to the file OEM Wahoo 727 smd disk controller controller wah0 at mb0 csr 0xFEDC priority 5 vector waintr disk wa0 at wah0 drive 0 disk wa1 at wah0 drive 1 disk wa2 at wah0 drive 2 disk wa3 at wah0 drive 3 5 Place the following line in the file files OEM OEM wahoo c optional wa device driver 6 Configure a makefile for...

Page 152: ...146 IRIS WORKSTATION GUIDE Version 1 0 Appendix J ...

Page 153: ...emote graphics library libgl a is compiled Section K 6 describes the make procedure for compiling a new remote graphics library Finally the IRIS terminal program iris is reconfigured to contain or omit the routines Section K 7 describes the make procedure for compiling a new IRIS terminal program The new IRIS Graphics Library can be tested by compiling an application program with the new remote gr...

Page 154: ...program If the IRIS is not in graphics mode the dispatch routine also sends keystrokes from the keyboard to the remote host If the graphical escape character is sent by the remote host the dispatch routine will go into graphics mode and will interpret the next few characters as a graphics command The graphical part of the dispatch routine is completely table driven The format of the table below is...

Page 155: ...env 2 Change the current directory to usr progenv cd usr progenv 3 Read the contents of the distribution tape into the new directory tar x You should now have subdirectories doc dllib engr host internet and term 4 The libraries contained in the IRIS Terminal programming environment should be ranlib ed The most important are those libraries in IRIS lib A version of ranlib is contained in BIN cd IRI...

Page 156: ...s to the IRIS Graphics Library To add a new command to the IRIS Graphics Library you need to Write and test on the IRIS Workstation if possible the routine to be added Add this routine to the IRIS srclterm local c file Make an appropriate entry into the command table IRIS lib lib prim Section W 5 describes the entry format of the IRIS lib lib prim file Run makefile s that automatically generate a ...

Page 157: ...e are already some bogus entries in the list They hold places for commands from older versions of the IRIS Graphics Library that have changed or disappeared At the end of the list is another special entry called lastone New entries to lib prim should be made just before this special entry The makefile in the IRIS src term directory assumes that all additional source code for the IRIS terminal prog...

Page 158: ...is of type integer and is transmitted as a 32 bit long The second entry L f 3 arg1 means that the next parameter is of type Coord _ the data to be transmitted is of type float and the number of floats to be transmitted is 3 times the value of the first argument to the routine Some of the entries in the table have the following form I f len F len F This means that any of these forms are legal I f l...

Page 159: ... to compile a single IRIS terminal program for serial and XNS connections K 8 Compiling a Downloadable Application Program The procedure for compiling an application program for downloading into the IRIS Terminal is similar to the procedure for compiling an IRIS terminal program It involves a single make procedure A template makefile is included in usr progenv track It can be modified for other ap...

Page 160: ...O can also be used sprintf for example can be used All the routines in the IRIS Graphics Library that are not exported have names beginning with gl_ If you avoid these names names in the IRIS terminal program itself and the C I O routines mentioned above you should not have any problems with name conflicts Some other warnings are in order and although they may seem obvious they are worth stating T...

Page 161: ...t GL 1 9 otherwise we call them both GL 2 L 1 Miscellaneous Changes bbox and bboxi are not available Object fonts are not available curve accepts only a geometry matrix The basis and precision matrices are specified separately see curve section modify is not available The name of sync has changed to gsync sync conflicts with a UNIX system call The type definition for RGBvalue is now unsigned char ...

Page 162: ... tag 3 To edit between two tags we provide the command newtag newtag oldtag offset that makes a new tag offset commands ahead of oldtag 4 Tags retain their ordering In GL 1 if tag1 and tag2 point to the same place within a display list it is impossible to insert items after tag1 but before tag2 In GL 2 even if there are no items between tag1 and tag2 but tag1 is before tag2 insert tag1 will add it...

Page 163: ...ccurred after pick select was called After endpick the array foo contains 12 16 bit numbers 1 10 first hit one name stack 10 2 10 20 second hit two names stack 10 20 2 10 20 third hit two names stack 10 20 3 10 30 65 fourth hit three names stack 10 30 65 L 4 Programming the IRIS This section is primarily of interest those wishing to program the IRIS terminal The callfunc command is however availab...

Page 164: ...e object identifier of the object currently open for editing If there is no open object it returns 1 getmcolor color r g b given a colormap index return its red green and blue components pmov pmovi pmov2 pmov2i polygon move With these you can use your own data structures for polygons Polygons must still be convex or the result of drawing them is undefined pdrw pdrwi prw2 pdrw2i polygon draw pclose...

Page 165: ...an error to be printed on the screen The event will be of type ERROR and the value will be an error number Here is a list of the possible error values and their numerical values Error Error number Description ERR_SINGMATRIX 1 You tried to invert a singular matrix in one of the mapw commands ERR_OUTMEM 2 Out of memory This can occur for many reasons ERR_NEGSIDES 3 You tried to specify a polygon wit...

Page 166: ...ure ERR_NOCLIPPERS 10 In a clippoly command you didn t specify any clippers If this is what vou really want use transform instead ERR_STRINGBUG 11 This should not happen Please report it to your Silicon Graphics representative ERR_NOCURVBASIS 12 You tried to issue a curve command and there is no current basis matrix ERR_BADCURVID 13 In defbasis that identifier is already defined ERR_NOPTCHBASIS 14...

Page 167: ...s should never happen Please report it to your Silicon Graphics representative ERR_INRGB 20 You are in RGB mode and tried to issue a command that deals with the color map ERR_NOTINRGB 21 You are not in RGB mode and tried to issue an RGB command ERR_BADINDEX 22 You used an illegal index in some color command ERR_BADVALUATOR 23 You tried to use an invalid valuator number ERR_BADBUTTON 24 You tried t...

Page 168: ...ould not happen Please report it to your Silicon Graphics representative ERR_RETRACEBUG 30 This should not happen Please report it to your Silicon Graphics representative ERR_MAXRETRACE 31 There can be at most 20 retrace events probably blink commands active at one time ERR_NOSUCHTAG 32 The tag you specified does not exist ERR_DELBUG 33 This should not happen Please report it to your Silicon Graph...

Page 169: ... an illegal number ERR_BADAXIS 40 You can only rotate about the x y and z axes in the rotate command ERR_BADTIMER 41 This is not implemented yet It cannot happen ERR_BADDEVICE 42 You specified an illegal device number ERR_BADSCRBUTTON 43 This is not implemented yet It cannot happen ERR_PATCURVES 44 This is not implemented yet It cannot happen ERR_PATPREC 45 This is not implemented yet It cannot ha...

Page 170: ...a different interface to the curve routines allowing multiple splines to be drawn with one call Instead of only 4 control points it specifies an arbitrary number n 4 defbasis id basis long id Matrix basis Defines a basis matrix and associates an id with it In this way one can have predefined bases for B spline Cardinal spline etc curvbasis basisid long basisid Sets the current basis matrix curvpre...

Reviews: