| /* Copyright Motorola, Inc. 1993, 1994 |
| ALL RIGHTS RESERVED |
| |
| You are hereby granted a copyright license to use, modify, and |
| distribute the SOFTWARE so long as this entire notice is retained |
| without alteration in any modified and/or redistributed versions, |
| and that such modified versions are clearly identified as such. |
| No licenses are granted by implication, estoppel or otherwise under |
| any patents or trademarks of Motorola, Inc. |
| |
| The SOFTWARE is provided on an "AS IS" basis and without warranty. |
| To the maximum extent permitted by applicable law, MOTOROLA DISCLAIMS |
| ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, INCLUDING IMPLIED |
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR |
| PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH |
| REGARD TO THE SOFTWARE (INCLUDING ANY MODIFIED VERSIONS |
| THEREOF) AND ANY ACCOMPANYING WRITTEN MATERIALS. |
| |
| To the maximum extent permitted by applicable law, IN NO EVENT SHALL |
| MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER |
| (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF |
| BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS |
| INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OF THE USE OR |
| INABILITY TO USE THE SOFTWARE. Motorola assumes no responsibility |
| for the maintenance and support of the SOFTWARE. |
| |
| */ |
| |
| |
| #include "config.h" |
| |
| /* |
| 1 2 3 4 5 6 7 8 |
| 01234567890123456789012345678901234567890123456789012345678901234567890123456789 |
| */ |
| /* List define statements here */ |
| |
| /* These are for all the toolboxes and functions to use. These will help |
| to standardize the error handling in the current project */ |
| |
| /* this is the "data type" for the error |
| messages in the system */ |
| #define STATUS unsigned int |
| |
| /* this is a success status code */ |
| #define SUCCESS 1 |
| |
| /* likewise this is failure */ |
| #define FAILURE 0 |
| |
| #define NUM_ERRORS 47 |
| |
| /* This first section of "defines" are for error codes ONLY. The called |
| routine will return one of these error codes to the caller. If the final |
| returned code is "VALID", then everything is a-okay. However, if one |
| of the functions returns a non-valid status, that error code should be |
| propogated back to all the callers. At the end, the last caller will |
| call an error_processing function, and send in the status which was |
| returned. It's up to the error_processing function to determine which |
| error occured (as indicated by the status), and print an appropriate |
| message back to the user. |
| */ |
| /*----------------------------------------------------------------------*/ |
| /* these are specifically for the parser routines */ |
| |
| #define UNKNOWN_COMMAND 0xfb00 /* "unrecognized command " */ |
| #define UNKNOWN_REGISTER 0xfb01 /* "unknown register "*/ |
| #define ILLEGAL_RD_STAGE 0xfb02 /* cannot specify reg. family in range*/ |
| #define ILLEGAL_REG_FAMILY 0xfb03 /* "cannot specify a range of special |
| or miscellaneous registers"*/ |
| #define RANGE_CROSS_FAMILY 0xfb04 /* "cannot specify a range across |
| register families" */ |
| #define UNIMPLEMENTED_STAGE 0xfb05 /* invalid rd or rmm parameter format */ |
| #define REG_NOT_WRITEABLE 0xfb06 /* "unknown operator in arguements"*/ |
| #define INVALID_FILENAME 0xfb07 /* "invalid download filename" */ |
| #define INVALID_BAUD_RATE 0xfb08 /* invalid baud rate from sb command */ |
| #define UNSUPPORTED_REGISTER 0xfb09 /* Special register is not supported */ |
| #define FOR_BOARD_ONLY 0xfb0a /* "Not available for Unix." */ |
| |
| |
| |
| /*----------------------------------------------------------------------*/ |
| /* these are for the error checking toolbox */ |
| |
| #define INVALID 0xfd00 /* NOT valid */ |
| #define VALID 0xfd01 /* valid */ |
| |
| /* This error is found in the fcn: |
| is_right_size_input() to indicate |
| that the input was not 8 characters |
| long. */ |
| #define INVALID_SIZE 0xfd02 |
| |
| /* This error is found in the fcn: |
| is_valid_address_range() to indicate |
| that the address given falls outside |
| of valid memory defined by MEM_START |
| to MEM_END. |
| */ |
| #define OUT_OF_BOUNDS_ADDRESS 0xfd03 |
| |
| /* This error is found in the fcn: |
| is_valid_hex_input() to indicate that |
| one of more of the characters entered |
| are not valid hex characters. Valid |
| hex characters are 0-9, A-F, a-f. |
| */ |
| #define INVALID_HEX_INPUT 0xfd04 |
| |
| /* This error is found in the fcn: |
| is_valid_register_number() to indicate |
| that a given register does not exist. |
| */ |
| #define REG_NOT_READABLE 0xfd05 |
| |
| /* This error is found in the fcn: |
| is_word_aligned_address() to indicate |
| that the given address is not word- |
| aligned. A word-aligned address ends |
| in 0x0,0x4,0x8,0xc. |
| */ |
| #define NOT_WORD_ALIGNED 0xfd07 |
| |
| /* This error is found in the fcn: |
| is_valid_address_range() to indicate |
| that the starting address is greater |
| than the ending address. |
| */ |
| #define REVERSED_ADDRESS 0xfd08 |
| |
| /* this error tells us that the address |
| specified as the destination is within |
| the source addresses */ |
| #define RANGE_OVERLAP 0xfd09 |
| |
| |
| #define ERROR 0xfd0a /* An error occured */ |
| #define INVALID_PARAM 0xfd0b /* "invalid input parameter " */ |
| |
| |
| #define INVALID_FLAG 0xfd0c /* invalid flag */ |
| |
| /*----------------------------------------------------------------------*/ |
| /* these are for the getarg toolbox */ |
| |
| #define INVALID_NUMBER_ARGS 0xFE00 /* invalid number of commd arguements */ |
| #define UNKNOWN_PARAMETER 0xFE01 /* "unknown type of parameter "*/ |
| |
| |
| |
| |
| |
| /*----------------------------------------------------------------------*/ |
| /* these are for the tokenizer toolbox */ |
| |
| #define ILLEGAL_CHARACTER 0xFF00 /* unrecognized char. in input stream*/ |
| #define TTL_NOT_SORTED 0xFF01 /* token translation list not sorted */ |
| #define TTL_NOT_DEFINED 0xFF02 /* token translation list not assigned*/ |
| #define INVALID_STRING 0xFF03 /* unable to extract string from input */ |
| #define BUFFER_EMPTY 0xFF04 /* "input buffer is empty" */ |
| #define INVALID_MODE 0xFF05 /* input buf is in an unrecognized mode*/ |
| #define TOK_INTERNAL_ERROR 0xFF06 /* "internal tokenizer error" */ |
| #define TOO_MANY_IBS 0xFF07 /* "too many open input buffers" */ |
| #define NO_OPEN_IBS 0xFF08 /* "no open input buffers" */ |
| |
| |
| |
| /* these are for the read from screen toolbox */ |
| |
| #define RESERVED_WORD 0xFC00 /* used a reserved word as an arguement*/ |
| |
| |
| /* these are for the breakpoint routines */ |
| |
| #define FULL_BPDS 0xFA00 /* breakpoint data structure is full */ |
| |
| |
| |
| /* THESE are for the downloader */ |
| |
| #define NOT_IN_S_RECORD_FORMAT 0xf900 /* "not in S-Record Format" */ |
| #define UNREC_RECORD_TYPE 0xf901 /* "unrecognized record type" */ |
| #define CONVERSION_ERROR 0xf902 /* "ascii to int conversion error" */ |
| #define INVALID_MEMORY 0xf903 /* "bad s-record memory address " */ |
| |
| |
| /* these are for the compression and decompression stuff */ |
| |
| #define COMP_UNK_CHARACTER 0xf800 /* "unknown compressed character " */ |
| |
| #define COMP_UNKNOWN_STATE 0xf801 /* "unknown binary state" */ |
| |
| #define NOT_IN_COMPRESSED_FORMAT 0xf802 /* not in compressed S-Record format */ |
| |
| |
| /* these are for the DUART handling things */ |
| |
| /* "unrecognized serial port configuration" */ |
| #define UNKNOWN_PORT_STATE 0xf700 |
| |
| |
| /* these are for the register toolbox */ |
| |
| /* "cannot find register in special |
| purpose register file " */ |
| #define SPR_NOT_FOUND 0xf600 |
| |
| |
| /* these are for the duart specific stuff */ |
| |
| /* "transparent mode needs access to |
| two serial ports" */ |
| #define TM_NEEDS_BOTH_PORTS 0xf500 |
| |
| |
| /*----------------------------------------------------------------------*/ |
| /* these are specifically for the flash routines */ |
| #define FLASH_ERROR 0xf100 /* general flash error */ |