1 | /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
---|
2 | /* ***** BEGIN LICENSE BLOCK *****
|
---|
3 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
---|
4 | *
|
---|
5 | * The contents of this file are subject to the Mozilla Public License Version
|
---|
6 | * 1.1 (the "License"); you may not use this file except in compliance with
|
---|
7 | * the License. You may obtain a copy of the License at
|
---|
8 | * http://www.mozilla.org/MPL/
|
---|
9 | *
|
---|
10 | * Software distributed under the License is distributed on an "AS IS" basis,
|
---|
11 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
---|
12 | * for the specific language governing rights and limitations under the
|
---|
13 | * License.
|
---|
14 | *
|
---|
15 | * The Original Code is the Netscape Portable Runtime (NSPR).
|
---|
16 | *
|
---|
17 | * The Initial Developer of the Original Code is
|
---|
18 | * Netscape Communications Corporation.
|
---|
19 | * Portions created by the Initial Developer are Copyright (C) 1998-2000
|
---|
20 | * the Initial Developer. All Rights Reserved.
|
---|
21 | *
|
---|
22 | * Contributor(s):
|
---|
23 | *
|
---|
24 | * Alternatively, the contents of this file may be used under the terms of
|
---|
25 | * either the GNU General Public License Version 2 or later (the "GPL"), or
|
---|
26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
---|
27 | * in which case the provisions of the GPL or the LGPL are applicable instead
|
---|
28 | * of those above. If you wish to allow use of your version of this file only
|
---|
29 | * under the terms of either the GPL or the LGPL, and not to allow others to
|
---|
30 | * use your version of this file under the terms of the MPL, indicate your
|
---|
31 | * decision by deleting the provisions above and replace them with the notice
|
---|
32 | * and other provisions required by the GPL or the LGPL. If you do not delete
|
---|
33 | * the provisions above, a recipient may use your version of this file under
|
---|
34 | * the terms of any one of the MPL, the GPL or the LGPL.
|
---|
35 | *
|
---|
36 | * ***** END LICENSE BLOCK ***** */
|
---|
37 |
|
---|
38 | /***********************************************************************
|
---|
39 | **
|
---|
40 | ** Name: errcodes.c
|
---|
41 | **
|
---|
42 | ** Description: print nspr error codes
|
---|
43 | **
|
---|
44 | */
|
---|
45 | #include "prerror.h"
|
---|
46 | #include "plgetopt.h"
|
---|
47 |
|
---|
48 | #include <stdio.h>
|
---|
49 |
|
---|
50 | static int _debug_on = 0;
|
---|
51 |
|
---|
52 | struct errinfo {
|
---|
53 | PRErrorCode errcode;
|
---|
54 | char *errname;
|
---|
55 | };
|
---|
56 |
|
---|
57 | struct errinfo errcodes[] = {
|
---|
58 | {PR_OUT_OF_MEMORY_ERROR, "PR_OUT_OF_MEMORY_ERROR"},
|
---|
59 | {PR_BAD_DESCRIPTOR_ERROR, "PR_BAD_DESCRIPTOR_ERROR"},
|
---|
60 | {PR_WOULD_BLOCK_ERROR, "PR_WOULD_BLOCK_ERROR"},
|
---|
61 | {PR_ACCESS_FAULT_ERROR, "PR_ACCESS_FAULT_ERROR"},
|
---|
62 | {PR_INVALID_METHOD_ERROR, "PR_INVALID_METHOD_ERROR"},
|
---|
63 | {PR_ILLEGAL_ACCESS_ERROR, "PR_ILLEGAL_ACCESS_ERROR"},
|
---|
64 | {PR_UNKNOWN_ERROR, "PR_UNKNOWN_ERROR"},
|
---|
65 | {PR_PENDING_INTERRUPT_ERROR, "PR_PENDING_INTERRUPT_ERROR"},
|
---|
66 | {PR_NOT_IMPLEMENTED_ERROR, "PR_NOT_IMPLEMENTED_ERROR"},
|
---|
67 | {PR_IO_ERROR, "PR_IO_ERROR"},
|
---|
68 | {PR_IO_TIMEOUT_ERROR, "PR_IO_TIMEOUT_ERROR"},
|
---|
69 | {PR_IO_PENDING_ERROR, "PR_IO_PENDING_ERROR"},
|
---|
70 | {PR_DIRECTORY_OPEN_ERROR, "PR_DIRECTORY_OPEN_ERROR"},
|
---|
71 | {PR_INVALID_ARGUMENT_ERROR, "PR_INVALID_ARGUMENT_ERROR"},
|
---|
72 | {PR_ADDRESS_NOT_AVAILABLE_ERROR, "PR_ADDRESS_NOT_AVAILABLE_ERROR"},
|
---|
73 | {PR_ADDRESS_NOT_SUPPORTED_ERROR, "PR_ADDRESS_NOT_SUPPORTED_ERROR"},
|
---|
74 | {PR_IS_CONNECTED_ERROR, "PR_IS_CONNECTED_ERROR"},
|
---|
75 | {PR_BAD_ADDRESS_ERROR, "PR_BAD_ADDRESS_ERROR"},
|
---|
76 | {PR_ADDRESS_IN_USE_ERROR, "PR_ADDRESS_IN_USE_ERROR"},
|
---|
77 | {PR_CONNECT_REFUSED_ERROR, "PR_CONNECT_REFUSED_ERROR"},
|
---|
78 | {PR_NETWORK_UNREACHABLE_ERROR, "PR_NETWORK_UNREACHABLE_ERROR"},
|
---|
79 | {PR_CONNECT_TIMEOUT_ERROR, "PR_CONNECT_TIMEOUT_ERROR"},
|
---|
80 | {PR_NOT_CONNECTED_ERROR, "PR_NOT_CONNECTED_ERROR"},
|
---|
81 | {PR_LOAD_LIBRARY_ERROR, "PR_LOAD_LIBRARY_ERROR"},
|
---|
82 | {PR_UNLOAD_LIBRARY_ERROR, "PR_UNLOAD_LIBRARY_ERROR"},
|
---|
83 | {PR_FIND_SYMBOL_ERROR, "PR_FIND_SYMBOL_ERROR"},
|
---|
84 | {PR_INSUFFICIENT_RESOURCES_ERROR, "PR_INSUFFICIENT_RESOURCES_ERROR"},
|
---|
85 | {PR_DIRECTORY_LOOKUP_ERROR, "PR_DIRECTORY_LOOKUP_ERROR"},
|
---|
86 | {PR_TPD_RANGE_ERROR, "PR_TPD_RANGE_ERROR"},
|
---|
87 | {PR_PROC_DESC_TABLE_FULL_ERROR, "PR_PROC_DESC_TABLE_FULL_ERROR"},
|
---|
88 | {PR_SYS_DESC_TABLE_FULL_ERROR, "PR_SYS_DESC_TABLE_FULL_ERROR"},
|
---|
89 | {PR_NOT_SOCKET_ERROR, "PR_NOT_SOCKET_ERROR"},
|
---|
90 | {PR_NOT_TCP_SOCKET_ERROR, "PR_NOT_TCP_SOCKET_ERROR"},
|
---|
91 | {PR_SOCKET_ADDRESS_IS_BOUND_ERROR, "PR_SOCKET_ADDRESS_IS_BOUND_ERROR"},
|
---|
92 | {PR_NO_ACCESS_RIGHTS_ERROR, "PR_NO_ACCESS_RIGHTS_ERROR"},
|
---|
93 | {PR_OPERATION_NOT_SUPPORTED_ERROR, "PR_OPERATION_NOT_SUPPORTED_ERROR"},
|
---|
94 | {PR_PROTOCOL_NOT_SUPPORTED_ERROR, "PR_PROTOCOL_NOT_SUPPORTED_ERROR"},
|
---|
95 | {PR_REMOTE_FILE_ERROR, "PR_REMOTE_FILE_ERROR"},
|
---|
96 | {PR_BUFFER_OVERFLOW_ERROR, "PR_BUFFER_OVERFLOW_ERROR"},
|
---|
97 | {PR_CONNECT_RESET_ERROR, "PR_CONNECT_RESET_ERROR"},
|
---|
98 | {PR_RANGE_ERROR, "PR_RANGE_ERROR"},
|
---|
99 | {PR_DEADLOCK_ERROR, "PR_DEADLOCK_ERROR"},
|
---|
100 | {PR_FILE_IS_LOCKED_ERROR, "PR_FILE_IS_LOCKED_ERROR"},
|
---|
101 | {PR_FILE_TOO_BIG_ERROR, "PR_FILE_TOO_BIG_ERROR"},
|
---|
102 | {PR_NO_DEVICE_SPACE_ERROR, "PR_NO_DEVICE_SPACE_ERROR"},
|
---|
103 | {PR_PIPE_ERROR, "PR_PIPE_ERROR"},
|
---|
104 | {PR_NO_SEEK_DEVICE_ERROR, "PR_NO_SEEK_DEVICE_ERROR"},
|
---|
105 | {PR_IS_DIRECTORY_ERROR, "PR_IS_DIRECTORY_ERROR"},
|
---|
106 | {PR_LOOP_ERROR, "PR_LOOP_ERROR"},
|
---|
107 | {PR_NAME_TOO_LONG_ERROR, "PR_NAME_TOO_LONG_ERROR"},
|
---|
108 | {PR_FILE_NOT_FOUND_ERROR, "PR_FILE_NOT_FOUND_ERROR"},
|
---|
109 | {PR_NOT_DIRECTORY_ERROR, "PR_NOT_DIRECTORY_ERROR"},
|
---|
110 | {PR_READ_ONLY_FILESYSTEM_ERROR, "PR_READ_ONLY_FILESYSTEM_ERROR"},
|
---|
111 | {PR_DIRECTORY_NOT_EMPTY_ERROR, "PR_DIRECTORY_NOT_EMPTY_ERROR"},
|
---|
112 | {PR_FILESYSTEM_MOUNTED_ERROR, "PR_FILESYSTEM_MOUNTED_ERROR"},
|
---|
113 | {PR_NOT_SAME_DEVICE_ERROR, "PR_NOT_SAME_DEVICE_ERROR"},
|
---|
114 | {PR_DIRECTORY_CORRUPTED_ERROR, "PR_DIRECTORY_CORRUPTED_ERROR"},
|
---|
115 | {PR_FILE_EXISTS_ERROR, "PR_FILE_EXISTS_ERROR"},
|
---|
116 | {PR_MAX_DIRECTORY_ENTRIES_ERROR, "PR_MAX_DIRECTORY_ENTRIES_ERROR"},
|
---|
117 | {PR_INVALID_DEVICE_STATE_ERROR, "PR_INVALID_DEVICE_STATE_ERROR"},
|
---|
118 | {PR_DEVICE_IS_LOCKED_ERROR, "PR_DEVICE_IS_LOCKED_ERROR"},
|
---|
119 | {PR_NO_MORE_FILES_ERROR, "PR_NO_MORE_FILES_ERROR"},
|
---|
120 | {PR_END_OF_FILE_ERROR, "PR_END_OF_FILE_ERROR"},
|
---|
121 | {PR_FILE_SEEK_ERROR, "PR_FILE_SEEK_ERROR"},
|
---|
122 | {PR_FILE_IS_BUSY_ERROR, "PR_FILE_IS_BUSY_ERROR"},
|
---|
123 | {PR_IN_PROGRESS_ERROR, "PR_IN_PROGRESS_ERROR"},
|
---|
124 | {PR_ALREADY_INITIATED_ERROR, "PR_ALREADY_INITIATED_ERROR"},
|
---|
125 | {PR_GROUP_EMPTY_ERROR, "PR_GROUP_EMPTY_ERROR"},
|
---|
126 | {PR_INVALID_STATE_ERROR, "PR_INVALID_STATE_ERROR"},
|
---|
127 | {PR_NETWORK_DOWN_ERROR, "PR_NETWORK_DOWN_ERROR"},
|
---|
128 | {PR_SOCKET_SHUTDOWN_ERROR, "PR_SOCKET_SHUTDOWN_ERROR"},
|
---|
129 | {PR_CONNECT_ABORTED_ERROR, "PR_CONNECT_ABORTED_ERROR"},
|
---|
130 | {PR_HOST_UNREACHABLE_ERROR, "PR_HOST_UNREACHABLE_ERROR"}
|
---|
131 | };
|
---|
132 |
|
---|
133 | int
|
---|
134 | main(int argc, char **argv)
|
---|
135 | {
|
---|
136 |
|
---|
137 | int count, errnum;
|
---|
138 |
|
---|
139 | /*
|
---|
140 | * -d debug mode
|
---|
141 | */
|
---|
142 |
|
---|
143 | PLOptStatus os;
|
---|
144 | PLOptState *opt = PL_CreateOptState(argc, argv, "d");
|
---|
145 | while (PL_OPT_EOL != (os = PL_GetNextOpt(opt)))
|
---|
146 | {
|
---|
147 | if (PL_OPT_BAD == os) continue;
|
---|
148 | switch (opt->option)
|
---|
149 | {
|
---|
150 | case 'd': /* debug mode */
|
---|
151 | _debug_on = 1;
|
---|
152 | break;
|
---|
153 | default:
|
---|
154 | break;
|
---|
155 | }
|
---|
156 | }
|
---|
157 | PL_DestroyOptState(opt);
|
---|
158 |
|
---|
159 | count = sizeof(errcodes)/sizeof(errcodes[0]);
|
---|
160 | printf("\nNumber of error codes = %d\n\n",count);
|
---|
161 | for (errnum = 0; errnum < count; errnum++) {
|
---|
162 | printf("%-40s = %d\n",errcodes[errnum].errname,
|
---|
163 | errcodes[errnum].errcode);
|
---|
164 | }
|
---|
165 |
|
---|
166 | return 0;
|
---|
167 | }
|
---|