// Copyright 2014 The Crashpad Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_ #define CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_ #include <sys/types.h> #include <memory> #include "minidump/minidump_context.h" #include "minidump/minidump_writable.h" namespace crashpad { struct CPUContext; struct CPUContextX86; struct CPUContextX86_64; class MinidumpMiscInfoWriter; //! \brief The base class for writers of CPU context structures in minidump //! files. class MinidumpContextWriter : public internal::MinidumpWritable { … }; //! \brief The writer for a MinidumpContextX86 structure in a minidump file. class MinidumpContextX86Writer final : public MinidumpContextWriter { … }; //! \brief Wraps an xsave feature that knows where and how big it is. class MinidumpXSaveFeatureAMD64 { … }; //! \brief XSAVE_CET_U_FORMAT class MinidumpXSaveAMD64CetU final : public MinidumpXSaveFeatureAMD64 { … }; //! \brief The writer for a MinidumpContextAMD64 structure in a minidump file. class MinidumpContextAMD64Writer final : public MinidumpContextWriter { … }; //! \brief The writer for a MinidumpContextARM structure in a minidump file. class MinidumpContextARMWriter final : public MinidumpContextWriter { … }; //! \brief The writer for a MinidumpContextARM64 structure in a minidump file. class MinidumpContextARM64Writer final : public MinidumpContextWriter { … }; //! \brief The writer for a MinidumpContextMIPS structure in a minidump file. class MinidumpContextMIPSWriter final : public MinidumpContextWriter { … }; //! \brief The writer for a MinidumpContextMIPS64 structure in a minidump file. class MinidumpContextMIPS64Writer final : public MinidumpContextWriter { … }; //! \brief The writer for a MinidumpContextRISCV64 structure in a minidump file. class MinidumpContextRISCV64Writer final : public MinidumpContextWriter { … }; } // namespace crashpad #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_