1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/nsprpub/pr/tests/errcodes.c Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,134 @@ 1.4 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 +/*********************************************************************** 1.10 +** 1.11 +** Name: errcodes.c 1.12 +** 1.13 +** Description: print nspr error codes 1.14 +** 1.15 +*/ 1.16 +#include "prerror.h" 1.17 +#include "plgetopt.h" 1.18 + 1.19 +#include <stdio.h> 1.20 + 1.21 +static int _debug_on = 0; 1.22 + 1.23 +struct errinfo { 1.24 + PRErrorCode errcode; 1.25 + char *errname; 1.26 +}; 1.27 + 1.28 +struct errinfo errcodes[] = { 1.29 +{PR_OUT_OF_MEMORY_ERROR, "PR_OUT_OF_MEMORY_ERROR"}, 1.30 +{PR_BAD_DESCRIPTOR_ERROR, "PR_BAD_DESCRIPTOR_ERROR"}, 1.31 +{PR_WOULD_BLOCK_ERROR, "PR_WOULD_BLOCK_ERROR"}, 1.32 +{PR_ACCESS_FAULT_ERROR, "PR_ACCESS_FAULT_ERROR"}, 1.33 +{PR_INVALID_METHOD_ERROR, "PR_INVALID_METHOD_ERROR"}, 1.34 +{PR_ILLEGAL_ACCESS_ERROR, "PR_ILLEGAL_ACCESS_ERROR"}, 1.35 +{PR_UNKNOWN_ERROR, "PR_UNKNOWN_ERROR"}, 1.36 +{PR_PENDING_INTERRUPT_ERROR, "PR_PENDING_INTERRUPT_ERROR"}, 1.37 +{PR_NOT_IMPLEMENTED_ERROR, "PR_NOT_IMPLEMENTED_ERROR"}, 1.38 +{PR_IO_ERROR, "PR_IO_ERROR"}, 1.39 +{PR_IO_TIMEOUT_ERROR, "PR_IO_TIMEOUT_ERROR"}, 1.40 +{PR_IO_PENDING_ERROR, "PR_IO_PENDING_ERROR"}, 1.41 +{PR_DIRECTORY_OPEN_ERROR, "PR_DIRECTORY_OPEN_ERROR"}, 1.42 +{PR_INVALID_ARGUMENT_ERROR, "PR_INVALID_ARGUMENT_ERROR"}, 1.43 +{PR_ADDRESS_NOT_AVAILABLE_ERROR, "PR_ADDRESS_NOT_AVAILABLE_ERROR"}, 1.44 +{PR_ADDRESS_NOT_SUPPORTED_ERROR, "PR_ADDRESS_NOT_SUPPORTED_ERROR"}, 1.45 +{PR_IS_CONNECTED_ERROR, "PR_IS_CONNECTED_ERROR"}, 1.46 +{PR_BAD_ADDRESS_ERROR, "PR_BAD_ADDRESS_ERROR"}, 1.47 +{PR_ADDRESS_IN_USE_ERROR, "PR_ADDRESS_IN_USE_ERROR"}, 1.48 +{PR_CONNECT_REFUSED_ERROR, "PR_CONNECT_REFUSED_ERROR"}, 1.49 +{PR_NETWORK_UNREACHABLE_ERROR, "PR_NETWORK_UNREACHABLE_ERROR"}, 1.50 +{PR_CONNECT_TIMEOUT_ERROR, "PR_CONNECT_TIMEOUT_ERROR"}, 1.51 +{PR_NOT_CONNECTED_ERROR, "PR_NOT_CONNECTED_ERROR"}, 1.52 +{PR_LOAD_LIBRARY_ERROR, "PR_LOAD_LIBRARY_ERROR"}, 1.53 +{PR_UNLOAD_LIBRARY_ERROR, "PR_UNLOAD_LIBRARY_ERROR"}, 1.54 +{PR_FIND_SYMBOL_ERROR, "PR_FIND_SYMBOL_ERROR"}, 1.55 +{PR_INSUFFICIENT_RESOURCES_ERROR, "PR_INSUFFICIENT_RESOURCES_ERROR"}, 1.56 +{PR_DIRECTORY_LOOKUP_ERROR, "PR_DIRECTORY_LOOKUP_ERROR"}, 1.57 +{PR_TPD_RANGE_ERROR, "PR_TPD_RANGE_ERROR"}, 1.58 +{PR_PROC_DESC_TABLE_FULL_ERROR, "PR_PROC_DESC_TABLE_FULL_ERROR"}, 1.59 +{PR_SYS_DESC_TABLE_FULL_ERROR, "PR_SYS_DESC_TABLE_FULL_ERROR"}, 1.60 +{PR_NOT_SOCKET_ERROR, "PR_NOT_SOCKET_ERROR"}, 1.61 +{PR_NOT_TCP_SOCKET_ERROR, "PR_NOT_TCP_SOCKET_ERROR"}, 1.62 +{PR_SOCKET_ADDRESS_IS_BOUND_ERROR, "PR_SOCKET_ADDRESS_IS_BOUND_ERROR"}, 1.63 +{PR_NO_ACCESS_RIGHTS_ERROR, "PR_NO_ACCESS_RIGHTS_ERROR"}, 1.64 +{PR_OPERATION_NOT_SUPPORTED_ERROR, "PR_OPERATION_NOT_SUPPORTED_ERROR"}, 1.65 +{PR_PROTOCOL_NOT_SUPPORTED_ERROR, "PR_PROTOCOL_NOT_SUPPORTED_ERROR"}, 1.66 +{PR_REMOTE_FILE_ERROR, "PR_REMOTE_FILE_ERROR"}, 1.67 +{PR_BUFFER_OVERFLOW_ERROR, "PR_BUFFER_OVERFLOW_ERROR"}, 1.68 +{PR_CONNECT_RESET_ERROR, "PR_CONNECT_RESET_ERROR"}, 1.69 +{PR_RANGE_ERROR, "PR_RANGE_ERROR"}, 1.70 +{PR_DEADLOCK_ERROR, "PR_DEADLOCK_ERROR"}, 1.71 +{PR_FILE_IS_LOCKED_ERROR, "PR_FILE_IS_LOCKED_ERROR"}, 1.72 +{PR_FILE_TOO_BIG_ERROR, "PR_FILE_TOO_BIG_ERROR"}, 1.73 +{PR_NO_DEVICE_SPACE_ERROR, "PR_NO_DEVICE_SPACE_ERROR"}, 1.74 +{PR_PIPE_ERROR, "PR_PIPE_ERROR"}, 1.75 +{PR_NO_SEEK_DEVICE_ERROR, "PR_NO_SEEK_DEVICE_ERROR"}, 1.76 +{PR_IS_DIRECTORY_ERROR, "PR_IS_DIRECTORY_ERROR"}, 1.77 +{PR_LOOP_ERROR, "PR_LOOP_ERROR"}, 1.78 +{PR_NAME_TOO_LONG_ERROR, "PR_NAME_TOO_LONG_ERROR"}, 1.79 +{PR_FILE_NOT_FOUND_ERROR, "PR_FILE_NOT_FOUND_ERROR"}, 1.80 +{PR_NOT_DIRECTORY_ERROR, "PR_NOT_DIRECTORY_ERROR"}, 1.81 +{PR_READ_ONLY_FILESYSTEM_ERROR, "PR_READ_ONLY_FILESYSTEM_ERROR"}, 1.82 +{PR_DIRECTORY_NOT_EMPTY_ERROR, "PR_DIRECTORY_NOT_EMPTY_ERROR"}, 1.83 +{PR_FILESYSTEM_MOUNTED_ERROR, "PR_FILESYSTEM_MOUNTED_ERROR"}, 1.84 +{PR_NOT_SAME_DEVICE_ERROR, "PR_NOT_SAME_DEVICE_ERROR"}, 1.85 +{PR_DIRECTORY_CORRUPTED_ERROR, "PR_DIRECTORY_CORRUPTED_ERROR"}, 1.86 +{PR_FILE_EXISTS_ERROR, "PR_FILE_EXISTS_ERROR"}, 1.87 +{PR_MAX_DIRECTORY_ENTRIES_ERROR, "PR_MAX_DIRECTORY_ENTRIES_ERROR"}, 1.88 +{PR_INVALID_DEVICE_STATE_ERROR, "PR_INVALID_DEVICE_STATE_ERROR"}, 1.89 +{PR_DEVICE_IS_LOCKED_ERROR, "PR_DEVICE_IS_LOCKED_ERROR"}, 1.90 +{PR_NO_MORE_FILES_ERROR, "PR_NO_MORE_FILES_ERROR"}, 1.91 +{PR_END_OF_FILE_ERROR, "PR_END_OF_FILE_ERROR"}, 1.92 +{PR_FILE_SEEK_ERROR, "PR_FILE_SEEK_ERROR"}, 1.93 +{PR_FILE_IS_BUSY_ERROR, "PR_FILE_IS_BUSY_ERROR"}, 1.94 +{PR_IN_PROGRESS_ERROR, "PR_IN_PROGRESS_ERROR"}, 1.95 +{PR_ALREADY_INITIATED_ERROR, "PR_ALREADY_INITIATED_ERROR"}, 1.96 +{PR_GROUP_EMPTY_ERROR, "PR_GROUP_EMPTY_ERROR"}, 1.97 +{PR_INVALID_STATE_ERROR, "PR_INVALID_STATE_ERROR"}, 1.98 +{PR_NETWORK_DOWN_ERROR, "PR_NETWORK_DOWN_ERROR"}, 1.99 +{PR_SOCKET_SHUTDOWN_ERROR, "PR_SOCKET_SHUTDOWN_ERROR"}, 1.100 +{PR_CONNECT_ABORTED_ERROR, "PR_CONNECT_ABORTED_ERROR"}, 1.101 +{PR_HOST_UNREACHABLE_ERROR, "PR_HOST_UNREACHABLE_ERROR"} 1.102 +}; 1.103 + 1.104 +int main(int argc, char **argv) 1.105 +{ 1.106 + 1.107 + int count, errnum; 1.108 + 1.109 + /* 1.110 + * -d debug mode 1.111 + */ 1.112 + 1.113 + PLOptStatus os; 1.114 + PLOptState *opt = PL_CreateOptState(argc, argv, "d"); 1.115 + while (PL_OPT_EOL != (os = PL_GetNextOpt(opt))) 1.116 + { 1.117 + if (PL_OPT_BAD == os) continue; 1.118 + switch (opt->option) 1.119 + { 1.120 + case 'd': /* debug mode */ 1.121 + _debug_on = 1; 1.122 + break; 1.123 + default: 1.124 + break; 1.125 + } 1.126 + } 1.127 + PL_DestroyOptState(opt); 1.128 + 1.129 + count = sizeof(errcodes)/sizeof(errcodes[0]); 1.130 + printf("\nNumber of error codes = %d\n\n",count); 1.131 + for (errnum = 0; errnum < count; errnum++) { 1.132 + printf("%-40s = %d\n",errcodes[errnum].errname, 1.133 + errcodes[errnum].errcode); 1.134 + } 1.135 + 1.136 + return 0; 1.137 +}