nsprpub/pr/tests/errcodes.c

changeset 0
6474c204b198
     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 +}

mercurial