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

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

unix.superglobalmegacorp.com

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