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