Annotation of 43BSDTahoe/new/xns/examples/filing_common/errmsg.c, revision 1.1

1.1     ! root        1: /* $Header: errmsg.c,v 2.3 87/05/12 11:46:32 ed Exp $ */
        !             2: 
        !             3: /* $Log:       errmsg.c,v $
        !             4:  * Revision 2.3  87/05/12  11:46:32  ed
        !             5:  * Change to use FilingSubset1_defs.h, new AuthenticationError problems.
        !             6:  * 
        !             7:  * Revision 2.2  87/03/07  14:44:42  jqj
        !             8:  * set problem correctly.  Cardinal != Enum on most UNIX systems
        !             9:  * 
        !            10:  * Revision 2.1  86/06/02  07:10:30  jqj
        !            11:  * print more information on unspecifiedError
        !            12:  * 
        !            13:  * Revision 2.0  85/11/21  07:22:44  jqj
        !            14:  * 4.3BSD standard release
        !            15:  * 
        !            16:  * Revision 1.1  85/11/20  14:19:04  jqj
        !            17:  * Initial revision
        !            18:  * 
        !            19:  */
        !            20: #include "FilingSubset1_defs.h"
        !            21: 
        !            22: FilingErrMsg(Code, Message)
        !            23:        int Code;
        !            24:        char *Message;
        !            25: {
        !            26:        static char *errmsgs[] = {
        !            27:                "AttributeTypeError",
        !            28:                "AttributeValueError",
        !            29:                "ControlTypeError",
        !            30:                "ControlValueError",
        !            31:                "ScopeTypeError",
        !            32:                "ScopeValueError",
        !            33:                "AccessError",
        !            34:                "AuthenticationError",
        !            35:                "ConnectionError",
        !            36:                "HandleError",
        !            37:                "InsertionError",
        !            38:                "ServiceError",
        !            39:                "SessionError",
        !            40:                "SpaceError",
        !            41:                "TransferError",
        !            42:                "UndefinedError",
        !            43:                "RangeError" };
        !            44:        static char *argproblems[] = {
        !            45:        "illegal",
        !            46:                "disallowed",
        !            47:                "unreasonable",
        !            48:                "unimplemented",
        !            49:                "duplicated",
        !            50:                "missing" };
        !            51:        static char *accessproblems[] = {
        !            52:                "accessRightsInsufficient",
        !            53:                "accessRightsIndeterminate",
        !            54:                "fileChanged",
        !            55:                "fileDamaged",
        !            56:                "fileInUse",
        !            57:                "fileNotFound",
        !            58:                "fileOpen" };
        !            59:        static char *connectionproblems[] = {
        !            60:                "noRoute",
        !            61:                "noResponse",
        !            62:                "transmissionHardware",
        !            63:                "transportTimeout",
        !            64:                "tooManyLocalConnections",
        !            65:                "tooManyRemoteConnections",
        !            66:                "missingCourier",
        !            67:                "missingProgram",
        !            68:                "missingProcedure",
        !            69:                "protocolMismatch",
        !            70:                "parameterInconsistency",
        !            71:                "invalidMessage",
        !            72:                "returnTimedOut",
        !            73:                "otherCallProblem" };
        !            74:        static char* handleproblems[] = {
        !            75:                "invalid",
        !            76:                "nullDisallowed",
        !            77:                "directoryRequired" };
        !            78:        static char *insertionproblems[] = {
        !            79:                "positionUnavailable",
        !            80:                "fileNotUnique",
        !            81:                "loopInHierarchy" };
        !            82:        static char *serviceproblems[] = {
        !            83:                "cannotAuthenticate",
        !            84:                "serviceFull",
        !            85:                "serviceUnavailable",
        !            86:                "sessionInUse" };
        !            87:        static char *sessionproblems[] = {
        !            88:                "tokenInvalid",
        !            89:                "serviceAlreadySet" };
        !            90:        static char *spaceproblems[] = {
        !            91:                "allocationExceeded",
        !            92:                "attributeAreadFull",
        !            93:                "mediumFull" };
        !            94:        static char *transferproblems[] = {
        !            95:                "aborted",
        !            96:                "checksumIncorrect",
        !            97:                "formatIncorrect",
        !            98:                "noRendevous",
        !            99:                "wrongDirection" };
        !           100:        static char *authenticationproblems[] = {
        !           101:                "primaryCredentialsInvalid",
        !           102:                "verifierInvalid",
        !           103:                "verifierExpired",
        !           104:                "verifierReused",
        !           105:                "primaryCredentialsExpired",
        !           106:                "inappropriatePrimaryCredentials",
        !           107:                "secondaryCredentialsRequired",
        !           108:                "secondaryCredentialsTypeInvalid",
        !           109:                "secondaryCredentialsValueInvalid" };
        !           110:        static char *rejectproblem[] = {
        !           111:                "noSuchProgramNumber",
        !           112:                "noSuchVersionNumber",
        !           113:                "noSuchProcedureValue",
        !           114:                "invalidArgument" };
        !           115:        char *msg, *problemstr;
        !           116:        int problem;
        !           117:        char tempbuf[40];
        !           118: 
        !           119:        if (Code < 1000) {
        !           120:                if (Message != (char *) 0)
        !           121:                  printf("ERROR: %s\n", Message);
        !           122:                return;
        !           123:        }
        !           124: 
        !           125:        msg = "";
        !           126:        problem = 0;
        !           127:        if (Code-ERROR_OFFSET >= 0 && Code-ERROR_OFFSET <= 16) {
        !           128:                msg = errmsgs[Code-ERROR_OFFSET];
        !           129:        }
        !           130:        switch (Code) {
        !           131:        case AttributeTypeError:
        !           132:        case AttributeValueError:
        !           133:        case ControlTypeError:
        !           134:        case ControlValueError:
        !           135:        case ScopeTypeError:
        !           136:        case ScopeValueError:
        !           137: /* the following fails because "type" is defined as "Filing4_type".  Argh!!
        !           138: /*             problem = (int) (((ScopeTypeErrorArgs *) Message)->problem);
        !           139: /*             (void)sprintf(tempbuf,"problem: %s; type: %d",
        !           140: /*                             argproblems[problem],
        !           141: /*                             ((ScopeTypeErrorArgs *) Message)->type);
        !           142: /*             problemstr = tempbuf;
        !           143: /*             break;
        !           144:  */
        !           145:        case RangeError:
        !           146:                problem = (int) (((RangeErrorArgs *) Message)->problem);
        !           147:                problemstr = argproblems[problem];
        !           148:                break;
        !           149:        case AccessError:
        !           150:                problem = (int) (((AccessErrorArgs *) Message)->problem);
        !           151:                problemstr = accessproblems[problem];
        !           152:                  break;
        !           153:        case AuthenticationError:
        !           154:                problem = (int) (((AuthenticationErrorArgs *) Message)->problem);
        !           155:                problemstr = authenticationproblems[problem];
        !           156:                break;
        !           157:        case ConnectionError:
        !           158:                problem = (int) (((ConnectionErrorArgs *) Message)->problem);
        !           159:                problemstr = connectionproblems[problem];
        !           160:                break;
        !           161:        case HandleError:
        !           162:                problem = (int) (((HandleErrorArgs *) Message)->problem);
        !           163:                problemstr = handleproblems[problem];
        !           164:                break;
        !           165:        case InsertionError:
        !           166:                problem = (int) (((InsertionErrorArgs *) Message)->problem);
        !           167:                problemstr = insertionproblems[problem];
        !           168:                break;
        !           169:        case ServiceError:
        !           170:                problem = (int) (((ServiceErrorArgs *) Message)->problem);
        !           171:                problemstr = serviceproblems[problem];
        !           172:                break;
        !           173:        case SessionError:
        !           174:                problem = (int) (((SessionErrorArgs *) Message)->problem);
        !           175:                problemstr = sessionproblems[problem];
        !           176:                break;
        !           177:        case SpaceError:
        !           178:                problem = (int) (((SpaceErrorArgs *) Message)->problem);
        !           179:                problemstr = spaceproblems[problem];
        !           180:                break;
        !           181:        case TransferError:
        !           182:                problem = (int) (((TransferErrorArgs *) Message)->problem);
        !           183:                problemstr = transferproblems[problem];
        !           184:                break;
        !           185:        case UndefinedError:
        !           186:                problem = (int) (((UndefinedErrorArgs *) Message)->problem);
        !           187:                problemstr = tempbuf;
        !           188:                sprintf(problemstr,"number %d",problem);
        !           189:                break;
        !           190:        case REJECT_ERROR:
        !           191:                msg = "Courier REJECT";
        !           192:                problem = (int) (((rejectionDetails *) Message)->designator);
        !           193:                if (problem <= 3)
        !           194:                        problemstr = rejectproblem[problem];
        !           195:                else {
        !           196:                        problemstr = tempbuf;
        !           197:                        sprintf(problemstr,"unspecifiedError (%d)", problem);
        !           198:                }
        !           199:                break;
        !           200:        case PROTOCOL_VIOLATION:
        !           201:                problemstr = "Courier protocol violation";
        !           202:                break;
        !           203:        default:
        !           204:                problemstr = tempbuf;
        !           205:                sprintf(problemstr,"unexpected error number %d", Code);
        !           206:                break;
        !           207:        }
        !           208:        printf("ERROR: %s, %s\n", msg, problemstr);
        !           209: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.