// Copyright 2014 PDFium 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 CORE_FXCRT_INCLUDE_FX_SAFE_TYPES_H_
#define CORE_FXCRT_INCLUDE_FX_SAFE_TYPES_H_

#include <stdlib.h>  // For size_t.

#include "core/fxcrt/include/fx_stream.h"  // for FX_FILESIZE.
#include "core/fxcrt/include/fx_system.h"
#include "third_party/base/numerics/safe_math.h"

typedef pdfium::base::CheckedNumeric<uint32_t> FX_SAFE_DWORD;
typedef pdfium::base::CheckedNumeric<int32_t> FX_SAFE_INT32;
typedef pdfium::base::CheckedNumeric<size_t> FX_SAFE_SIZE_T;
typedef pdfium::base::CheckedNumeric<FX_FILESIZE> FX_SAFE_FILESIZE;
typedef pdfium::base::CheckedNumeric<FX_STRSIZE> FX_SAFE_STRSIZE;

#endif  // CORE_FXCRT_INCLUDE_FX_SAFE_TYPES_H_
