1351282Sdim//===-- flags.h -------------------------------------------------*- C++ -*-===// 2351282Sdim// 3351282Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4351282Sdim// See https://llvm.org/LICENSE.txt for license information. 5351282Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6351282Sdim// 7351282Sdim//===----------------------------------------------------------------------===// 8351282Sdim 9351282Sdim#ifndef SCUDO_FLAGS_H_ 10351282Sdim#define SCUDO_FLAGS_H_ 11351282Sdim 12351282Sdim#include "internal_defs.h" 13351282Sdim 14351282Sdimnamespace scudo { 15351282Sdim 16351282Sdimstruct Flags { 17351282Sdim#define SCUDO_FLAG(Type, Name, DefaultValue, Description) Type Name; 18351282Sdim#include "flags.inc" 19351282Sdim#undef SCUDO_FLAG 20360784Sdim 21360784Sdim#ifdef GWP_ASAN_HOOKS 22360784Sdim#define GWP_ASAN_OPTION(Type, Name, DefaultValue, Description) \ 23360784Sdim Type GWP_ASAN_##Name; 24360784Sdim#include "gwp_asan/options.inc" 25360784Sdim#undef GWP_ASAN_OPTION 26360784Sdim#endif // GWP_ASAN_HOOKS 27360784Sdim 28351282Sdim void setDefaults(); 29351282Sdim}; 30351282Sdim 31351282SdimFlags *getFlags(); 32351282Sdimvoid initFlags(); 33351282Sdimclass FlagParser; 34351282Sdimvoid registerFlags(FlagParser *Parser, Flags *F); 35351282Sdim 36351282Sdim} // namespace scudo 37351282Sdim 38351282Sdim#endif // SCUDO_FLAGS_H_ 39