| // Copyright 2020 The Fuchsia Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef SRC_LIB_CHUNKED_COMPRESSION_STATUS_H_ | 
 | #define SRC_LIB_CHUNKED_COMPRESSION_STATUS_H_ | 
 |  | 
 | #include <stdint.h> | 
 | #include <zircon/types.h> | 
 |  | 
 | namespace chunked_compression { | 
 |  | 
 | // Status is a status code which is byte-compatible with zx_status_t. | 
 | // This is locally defined so that this library can be used in both host and Fuchsia code. | 
 | // | 
 | // Only a subset of ZX_ERR_* codes are defined here. More can be added as needed. | 
 | using Status = int32_t; | 
 |  | 
 | // Equivalent to ZX_OK | 
 | constexpr Status kStatusOk = 0; | 
 |  | 
 | // Equivalent to ZX_ERR_INTERNAL | 
 | // The system encountered an otherwise unspecified error while performing the operation. | 
 | constexpr Status kStatusErrInternal = -1; | 
 |  | 
 | // Equivalent to ZX_ERR_INVALID_ARGS | 
 | // An argument is invalid, ex. null pointer | 
 | constexpr Status kStatusErrInvalidArgs = -10; | 
 |  | 
 | // Equivalent to ZX_ERR_BUFFER_TOO_SMALL | 
 | // A caller provided buffer is too small for this operation. | 
 | constexpr Status kStatusErrBufferTooSmall = -15; | 
 |  | 
 | // Equivalent to ZX_ERR_BAD_STATE | 
 | // Operation failed because the current state of the object does not allow it, or a precondition of | 
 | // the operation is not satisfied | 
 | constexpr Status kStatusErrBadState = -20; | 
 |  | 
 | // Equivalent to ZX_ERR_IO_DATA_INTEGRITY | 
 | // The data in the operation failed an integrity check and is possibly corrupted. | 
 | // Example: CRC or Parity error. | 
 | constexpr Status kStatusErrIoDataIntegrity = -42; | 
 |  | 
 | constexpr zx_status_t ToZxStatus(Status status) { return static_cast<zx_status_t>(status); } | 
 |  | 
 | }  // namespace chunked_compression | 
 |  | 
 | #endif  // SRC_LIB_CHUNKED_COMPRESSION_STATUS_H_ |