/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef STORAGE_OBFUSCATINGVFS_H_
#define STORAGE_OBFUSCATINGVFS_H_
#include <cstdint>
#include "mozilla/UniquePtr.h"
struct sqlite3_vfs;
struct sqlite3_file;
template <typename T>
struct already_AddRefed;
namespace mozilla::dom::quota {
class QuotaObject;
}
namespace mozilla::storage::obfsvfs {
// Page size for obfuscated databases. Baked into the on-disk format;
// changing it requires a migration.
inline constexpr int32_t kObfsPageSize =
8192;
const char* GetVFSName();
UniquePtr<sqlite3_vfs> ConstructVFS(
const char* aBaseVFSName);
already_AddRefed<dom::quota::QuotaObject> GetQuotaObjectForFile(
sqlite3_file* pFile);
}
// namespace mozilla::storage::obfsvfs
#endif // STORAGE_OBFUSCATINGVFS_H_