| // Copyright 2017 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_SECURITY_FCRYPTO_DIGEST_H_ |
| #define SRC_SECURITY_FCRYPTO_DIGEST_H_ |
| |
| #include <stddef.h> |
| #include <zircon/types.h> |
| |
| // |crypto::digest| is a cryptographic message digest algorithm. |
| // TODO(aarongreen): fxbug.dev/31188: Merge ulib/digest with ulib/crypto |
| namespace crypto { |
| namespace digest { |
| |
| // Algorithm enumerates the supported message digests |
| enum Algorithm { |
| kUninitialized = 0, |
| kSHA256, |
| }; |
| |
| // Gets a pointer to the opaque crypto implementation of the digest algorithm. |
| zx_status_t GetDigest(Algorithm digest, uintptr_t* out); |
| |
| // Gets the number of bytes needed for the digest produced by the given |version|. |
| zx_status_t GetDigestLen(Algorithm digest, size_t* out); |
| |
| } // namespace digest |
| } // namespace crypto |
| |
| #endif // SRC_SECURITY_FCRYPTO_DIGEST_H_ |