Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
crypto.cc
Go to the documentation of this file.
1// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#include "bin/crypto.h"
6#include "bin/dartutils.h"
7
8#include "include/dart_api.h"
9
10namespace dart {
11namespace bin {
12
15 const int64_t kMaxRandomBytes = 4096;
16 int64_t count64 = 0;
17 if (!DartUtils::GetInt64Value(count_obj, &count64) || (count64 < 0) ||
18 (count64 > kMaxRandomBytes)) {
20 "Invalid argument: count must be a positive int "
21 "less than or equal to 4096.");
23 }
24 intptr_t count = static_cast<intptr_t>(count64);
26 ASSERT(buffer != nullptr);
30 }
32 if (Dart_IsError(result)) {
33 Dart_Handle error = DartUtils::NewString("Failed to allocate storage.");
36 }
39}
40
41} // namespace bin
42} // namespace dart
int count
#define UNREACHABLE()
Definition assert.h:248
#define FUNCTION_NAME(name)
Definition builtin.h:19
static bool GetRandomBytes(intptr_t count, uint8_t *buffer)
static Dart_Handle NewDartOSError()
Definition dartutils.cc:706
static bool GetInt64Value(Dart_Handle value_obj, int64_t *value)
Definition dartutils.cc:116
static Dart_Handle NewString(const char *str)
Definition dartutils.h:214
struct _Dart_Handle * Dart_Handle
Definition dart_api.h:258
struct _Dart_NativeArguments * Dart_NativeArguments
Definition dart_api.h:3010
@ Dart_TypedData_kUint8
Definition dart_api.h:2606
#define ASSERT(E)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
static const uint8_t buffer[]
const uint8_t uint32_t uint32_t GError ** error
GAsyncResult * result
void FUNCTION_NAME() Crypto_GetRandomBytes(Dart_NativeArguments args)
Definition crypto.cc:13
DART_EXPORT Dart_Handle Dart_NewTypedData(Dart_TypedData_Type type, intptr_t length)
DART_EXPORT uint8_t * Dart_ScopeAllocate(intptr_t size)
DART_EXPORT void Dart_SetReturnValue(Dart_NativeArguments args, Dart_Handle retval)
DART_EXPORT bool Dart_IsError(Dart_Handle handle)
DART_EXPORT Dart_Handle Dart_ListSetAsBytes(Dart_Handle list, intptr_t offset, const uint8_t *native_array, intptr_t length)
DART_EXPORT Dart_Handle Dart_GetNativeArgument(Dart_NativeArguments args, int index)
DART_EXPORT Dart_Handle Dart_ThrowException(Dart_Handle exception)