forked from mirrors/gecko-dev
		
	 16b9c75459
			
		
	
	
		16b9c75459
		
	
	
	
	
		
			
			Depends on D137611 Differential Revision: https://phabricator.services.mozilla.com/D137612
		
			
				
	
	
		
			206 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| This chapter describes the functions for retrieving and setting errors
 | |
| and the error codes set by NSPR.
 | |
| 
 | |
| -  `Error Type <#Error_Type>`__
 | |
| -  `Error Functions <#Error_Functions>`__
 | |
| -  `Error Codes <#Error_Codes>`__
 | |
| 
 | |
| For information on naming conventions for NSPR types, functions, and
 | |
| macros, see `NSPR Naming
 | |
| Conventions <Introduction_to_NSPR#NSPR_Naming_Conventions>`__.
 | |
| 
 | |
| .. _Error_Type:
 | |
| 
 | |
| Error Type
 | |
| ----------
 | |
| 
 | |
|  - :ref:`PRErrorCode`
 | |
| 
 | |
| .. _Error_Functions:
 | |
| 
 | |
| Error Functions
 | |
| ---------------
 | |
| 
 | |
|  - :ref:`PR_SetError`
 | |
|  - :ref:`PR_SetErrorText`
 | |
|  - :ref:`PR_GetError`
 | |
|  - :ref:`PR_GetOSError`
 | |
|  - :ref:`PR_GetErrorTextLength`
 | |
|  - :ref:`PR_GetErrorText`
 | |
| 
 | |
| .. _Error_Codes:
 | |
| 
 | |
| Error Codes
 | |
| -----------
 | |
| 
 | |
| Error codes defined in ``prerror.h``:
 | |
| 
 | |
| ``PR_OUT_OF_MEMORY_ERROR``
 | |
|    Insufficient memory to perform request.
 | |
| ``PR_BAD_DESCRIPTOR_ERROR``
 | |
|    The file descriptor used as an argument in the preceding function is
 | |
|    invalid.
 | |
| ``PR_WOULD_BLOCK_ERROR``
 | |
|    The operation would have blocked, which conflicts with the semantics
 | |
|    that have been established.
 | |
| ``PR_ACCESS_FAULT_ERROR``
 | |
|    One of the arguments of the preceding function specified an invalid
 | |
|    memory address.
 | |
| ``PR_INVALID_METHOD_ERROR``
 | |
|    The preceding function is invalid for the type of file descriptor
 | |
|    used.
 | |
| ``PR_ILLEGAL_ACCESS_ERROR``
 | |
|    One of the arguments of the preceding function specified an invalid
 | |
|    memory address.
 | |
| ``PR_UNKNOWN_ERROR``
 | |
|    Some unknown error has occurred.
 | |
| ``PR_PENDING_INTERRUPT_ERROR``
 | |
|    The operation terminated because another thread has interrupted it
 | |
|    with :ref:`PR_Interrupt`.
 | |
| ``PR_NOT_IMPLEMENTED_ERROR``
 | |
|    The preceding function has not been implemented.
 | |
| ``PR_IO_ERROR``
 | |
|    The preceding I/O function encountered some sort of an error, perhaps
 | |
|    an invalid device.
 | |
| ``PR_IO_TIMEOUT_ERROR``
 | |
|    The I/O operation has not completed in the time specified for the
 | |
|    preceding function.
 | |
| ``PR_IO_PENDING_ERROR``
 | |
|    An I/O operation has been attempted on a file descriptor that is
 | |
|    currently busy with another operation.
 | |
| ``PR_DIRECTORY_OPEN_ERROR``
 | |
|    The directory could not be opened.
 | |
| ``PR_INVALID_ARGUMENT_ERROR``
 | |
|    One or more of the arguments to the function is invalid.
 | |
| ``PR_ADDRESS_NOT_AVAILABLE_ERROR``
 | |
|    The network address (:ref:`PRNetAddr`) is not available (probably in
 | |
|    use).
 | |
| ``PR_ADDRESS_NOT_SUPPORTED_ERROR``
 | |
|    The type of network address specified is not supported.
 | |
| ``PR_IS_CONNECTED_ERROR``
 | |
|    An attempt to connect on an already connected network file
 | |
|    descriptor.
 | |
| ``PR_BAD_ADDRESS_ERROR``
 | |
|    The network address specified is invalid (as reported by the
 | |
|    network).
 | |
| ``PR_ADDRESS_IN_USE_ERROR``
 | |
|    Network address specified (:ref:`PRNetAddr`) is in use.
 | |
| ``PR_CONNECT_REFUSED_ERROR``
 | |
|    The peer has refused to allow the connection to be established.
 | |
| ``PR_NETWORK_UNREACHABLE_ERROR``
 | |
|    The network address specifies a host that is unreachable (perhaps
 | |
|    temporary).
 | |
| ``PR_CONNECT_TIMEOUT_ERROR``
 | |
|    The connection attempt did not complete in a reasonable period of
 | |
|    time.
 | |
| ``PR_NOT_CONNECTED_ERROR``
 | |
|    The preceding function attempted to use connected semantics on a
 | |
|    network file descriptor that was not connected.
 | |
| ``PR_LOAD_LIBRARY_ERROR``
 | |
|    Failure to load a dynamic library.
 | |
| ``PR_UNLOAD_LIBRARY_ERROR``
 | |
|    Failure to unload a dynamic library.
 | |
| ``PR_FIND_SYMBOL_ERROR``
 | |
|    Symbol could not be found in the specified library.
 | |
| ``PR_INSUFFICIENT_RESOURCES_ERROR``
 | |
|    There are insufficient system resources to process the request.
 | |
| ``PR_DIRECTORY_LOOKUP_ERROR``
 | |
|    A directory lookup on a network address has failed.
 | |
| ``PR_TPD_RANGE_ERROR``
 | |
|    Attempt to access a thread-private data index that is out of range of
 | |
|    any index that has been allocated to the process.
 | |
| ``PR_PROC_DESC_TABLE_FULL_ERROR``
 | |
|    The process' table for holding open file descriptors is full.
 | |
| ``PR_SYS_DESC_TABLE_FULL_ERROR``
 | |
|    The system's table for holding open file descriptors has been
 | |
|    exceeded.
 | |
| ``PR_NOT_SOCKET_ERROR``
 | |
|    An attempt to use a non-network file descriptor on a network-only
 | |
|    operation.
 | |
| ``PR_NOT_TCP_SOCKET_ERROR``
 | |
|    Attempt to perform a TCP specific function on a non-TCP file
 | |
|    descriptor.
 | |
| ``PR_SOCKET_ADDRESS_IS_BOUND_ERRO``
 | |
|    Attempt to bind an address to a TCP file descriptor that is already
 | |
|    bound.
 | |
| ``PR_NO_ACCESS_RIGHTS_ERROR``
 | |
|    Calling thread does not have privilege to perform the operation
 | |
|    requested.
 | |
| ``PR_OPERATION_NOT_SUPPORTED_ERRO``
 | |
|    The requested operation is not supported by the platform.
 | |
| ``PR_PROTOCOL_NOT_SUPPORTED_ERROR``
 | |
|    The host operating system does not support the protocol requested.
 | |
| ``PR_REMOTE_FILE_ERROR``
 | |
|    Access to the remote file has been severed.
 | |
| ``PR_BUFFER_OVERFLOW_ERROR``
 | |
|    The value retrieved is too large to be stored in the buffer provided.
 | |
| ``PR_CONNECT_RESET_ERROR``
 | |
|    The (TCP) connection has been reset by the peer.
 | |
| ``PR_RANGE_ERROR``
 | |
|    Unused.
 | |
| ``PR_DEADLOCK_ERROR``
 | |
|    Performing the requested operation would have caused a deadlock. The
 | |
|    deadlock was avoided.
 | |
| ``PR_FILE_IS_LOCKED_ERROR``
 | |
|    An attempt to acquire a lock on a file has failed because the file is
 | |
|    already locked.
 | |
| ``PR_FILE_TOO_BIG_ERROR``
 | |
|    Completing the write or seek operation would have resulted in a file
 | |
|    larger than the system could handle.
 | |
| ``PR_NO_DEVICE_SPACE_ERROR``
 | |
|    The device for storing the file is full.
 | |
| ``PR_PIPE_ERROR``
 | |
|    Unused.
 | |
| ``PR_NO_SEEK_DEVICE_ERROR``
 | |
|    Unused.
 | |
| ``PR_IS_DIRECTORY_ERROR``
 | |
|    Attempt to perform a normal file operation on a directory.
 | |
| ``PR_LOOP_ERROR``
 | |
|    Symbolic link loop.
 | |
| ``PR_NAME_TOO_LONG_ERROR``
 | |
|    Filename is longer than allowed by the host operating system.
 | |
| ``PR_FILE_NOT_FOUND_ERROR``
 | |
|    The requested file was not found.
 | |
| ``PR_NOT_DIRECTORY_ERROR``
 | |
|    Attempt to perform directory specific operations on a normal file.
 | |
| ``PR_READ_ONLY_FILESYSTEM_ERROR``
 | |
|    Attempt to write to a read-only file system.
 | |
| ``PR_DIRECTORY_NOT_EMPTY_ERROR``
 | |
|    Attempt to delete a directory that is not empty.
 | |
| ``PR_FILESYSTEM_MOUNTED_ERROR``
 | |
|    Attempt to delete or rename a file object while the file system is
 | |
|    busy.
 | |
| ``PR_NOT_SAME_DEVICE_ERROR``
 | |
|    Request to rename a file to a file system on another device.
 | |
| ``PR_DIRECTORY_CORRUPTED_ERROR``
 | |
|    The directory object in the file system is corrupted.
 | |
| ``PR_FILE_EXISTS_ERROR``
 | |
|    Attempt to create or rename a file when the new name is already being
 | |
|    used.
 | |
| ``PR_MAX_DIRECTORY_ENTRIES_ERROR``
 | |
|    Attempt to add new filename to directory would exceed the limit
 | |
|    allowed.
 | |
| ``PR_INVALID_DEVICE_STATE_ERROR``
 | |
|    The device was in an invalid state to complete the desired operation.
 | |
| ``PR_DEVICE_IS_LOCKED_ERROR``
 | |
|    The device needed to perform the desired request is locked.
 | |
| ``PR_NO_MORE_FILES_ERROR``
 | |
|    There are no more entries in the directory.
 | |
| ``PR_END_OF_FILE_ERROR``
 | |
|    Unexpectedly encountered end of file (Mac OS only).
 | |
| ``PR_FILE_SEEK_ERROR``
 | |
|    An unexpected seek error (Mac OS only).
 | |
| ``PR_FILE_IS_BUSY_ERROR``
 | |
|    The file is busy and the operation cannot be performed.
 | |
| ``PR_IN_PROGRESS_ERROR``
 | |
|    The operation is still in progress (probably a nonblocking connect).
 | |
| ``PR_ALREADY_INITIATED_ERROR``
 | |
|    The (retried) operation has already been initiated (probably a
 | |
|    nonblocking connect).
 | |
| ``PR_GROUP_EMPTY_ERROR``
 | |
|    The wait group is empty.
 | |
| ``PR_INVALID_STATE_ERROR``
 | |
|    The attempted operation is on an object that was in an improper state
 | |
|    to perform the request.
 | |
| ``PR_MAX_ERROR``
 | |
|    Placeholder for the end of the list.
 |