| // Copyright 2018 The Chromium 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 CHROME_ELF_THIRD_PARTY_DLLS_LOGS_H_ |
| #define CHROME_ELF_THIRD_PARTY_DLLS_LOGS_H_ |
| |
| #include <windows.h> |
| |
| #include <stdint.h> |
| |
| #include <string> |
| |
| #include "chrome_elf/third_party_dlls/public_api.h" |
| #include "chrome_elf/third_party_dlls/status_codes.h" |
| |
| namespace third_party_dlls { |
| |
| // Adds a module load attempt to the internal load log. |
| // - |log_type| indicates the type of logging. |
| // - |image_size| and |time_date_stamp| from the PE headers. |
| // - |full_image_path| indicates the full path of the loaded image. |
| // - Note: if there was any failure retrieving the full path, pass at least the |
| // basename for |full_image_path|. |
| void LogLoadAttempt(LogType log_type, |
| uint32_t image_size, |
| uint32_t time_date_stamp, |
| const std::string& full_image_path); |
| |
| // Initialize internal logs. |
| ThirdPartyStatus InitLogs(); |
| |
| // Removes initialization for use by tests, or cleanup on failure. |
| void DeinitLogs(); |
| |
| } // namespace third_party_dlls |
| |
| #endif // CHROME_ELF_THIRD_PARTY_DLLS_LOGS_H_ |