Error Messages for CS 330 Project ================================= "System error", // 1 "Invalid instruction", // 2 "Invalid parameter", // 3 "Cannot create diskfile", // 4 "Unsupported filesystem type", // 5 "Cannot format disk", // 6 "Insufficient room in filesystem", // 7 "Maximum files in filesystem", // 8 "Cannot update filesystem", // 9 "Cannot read filesystem", // 10 "Invalid filesystem", // 11 "Mount table is full", // 12 "Filesystem is not mounted", // 13 "No filesystem has been specified", // 14 "Filesystem is already mounted", // 15 "File cannot be read" // 16 "File cannot be created" // 17 "File cannot be written" // 18 "Specified minifile does not exist" // 19 "Specified minifile already exists" // 20 "Specified minifile cannot be written" // 21 "Insufficient permission to perform operation on minifile" // 22 "Time travel not supported" // 23 "Invalid name for executable minifile" // 24 "Specified executable minifile is not available"// 25 "Insufficient memory available to load executable"// 26 "Invalid command in executable file" // 27 optional "Invalid sleep time" // 28 optional "Insufficient permission to execute minifile" // 29 ALL KNOWN DETAILS ABOUT ERROR MESSAGES: ====================================== 1. System error - this is a general purpose message for any error not covered by a specific error message listed below (you can also add additional error codes / messages beginning at 80, 81, etc.) 2. Invalid instruction Used when either of the following occurs: - the command name is unknown - the command name is known but the wrong number of parameters are present 3. Invalid parameter - the command name is known and the right number of parameters are present but one or more parameters has a value that is of the wrong type for it or is not a permitted value - example: a number for a file name - example: a string of letters for a number - example: a string is given for a file system name but it does not match the rules for such names - example: FSdump with numbers that are not divisible by 4 4. Cannot create diskfile - if create cannot create a real disk file with the specified name and properties - THIS SHOULD BE PRODUCED WHEN THE REAL OPERATING SYSTEM CANNOT CREATE THE REAL FILE 5. Unsupported filesystem type - if a filesytem type other than SFFS 1 0 is specified for the create command - if an attempt is made to mount a filesystem of an incorrect type 6. Cannot format disk - if the required information cannot be written to the disk - THIS SHOULD BE PRODUCED WHEN THE REAL OPERATING SYSTEM CANNOT WRITE TO THE REAL FILE 7. Insufficient room in filesystem - if there is not enough space (empty bytes) available in the current file system to add a minifile - this error message should be used in Phase 2+ 8. Maximum files in filesystem - if there is not enough space available to add a minifile because there is no room in the file index - this error message should be used in Phase 2+ 9. Cannot update filesystem - if the filesystem header or the file index or the minifile contents cannot be written when changing the filesystem - THIS ERROR MESSAGE CAN BE PRODUCED WHEN AN ERROR WRITING TO THE REAL DISK OCCURS WHEN ADDING THE FIRST MINIFILE INTO THE FILESYSTEM, BUT IT IS NOT REQUIRED 10. Cannot read filesystem - if an error occurs reading the filesystem header or the file index when mounting the filesystem - THIS SHOULD BE PRODUCED WHEN THE REAL OPERATING SYSTEM CANNOT READ THE REAL FILE, FOR EXAMPLE BECAUSE THE FILE DOES NOT EXIST 11. Invalid filesystem - if the disk (file) containing the file system exists and can be read and is of the correct type (i.e., SFFS 1 0) but the other values specified in the header are not valid 12. Mount table is full - if an attempt is made to mount another filesystem that is not already in the mount table, when the mount table already lists the maximum number of filesystems 13. Filesystem is not mounted - if FSchange is issued and the requested filesystem is not mounted 14. No filesystem has been specified - if dumpfs or showfs are used when cfs has not been successfully used to change the name of the current filesystem 15. Filesystem is already mounted - if an attempt is made to mount a new filesystem with the same name as a filesystem already in the mount table PHASE TWO MESSAGES: - use existing messages when appropriate and also these new messages - some examples of their uses are given, but more may be appropriate 16. File cannot be read - real file cannot be read, e.g., on an import command 17. File cannot be created - real file cannot be created, e.g., on an export command 18. File cannot be written - real file cannot be written to, e.g., on an export command 19. Specified minifile does not exist - e.g., on a rename or export command 20. Specified minifile already exists - e.g., on a rename or import command 21. Specified minifile cannot be written - e.g., on an import command 22. Insufficient permission to perform operation on minifile - e.g., the user cannot change permissions of a file that he or she does not own PHASE THREE MESSAGES: 23. Time travel not supported - if the time field in an input line (the first field) is less than the time field for the most recent line with a valid time field, e.g., if the last two lines caused the same time travel error, then the most recent valid time was in the third most recent line 24. Invalid name for executable minifile - if the filename given for an executable minifile does not end in .xex - if the filename is invalid for other reasons, use the invalid parameter error message (#3) 25. Specified executable minifile is not available - if the specified minifile is not present in the simulated file system - if the minifile exists but the user does not have sufficient permission, use error message #29 26. Insufficient memory available to load executable - if the amount of simulated memory that is free (unallocated) is less than the size of the executable minifile 27. Invalid command in executable file - if any line of the minifile that is being loaded contains an invalid command. The valid commands are 'r' alone on a line, 'x' alone on a line, and 's' followed by an integer. 28. Invalid sleep time - if any line of the minifile that is being loaded contains an 's' command followed by an integer, but the integer is zero or negative 29. Insufficient permission to execute minifile - if the specified minifile exists but the user does not have sufficient permission to execute the minifile