LLDB mainline
ConPTYUtils.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_HOST_WINDOWS_CONPTYUTILS_H
10#define LLDB_HOST_WINDOWS_CONPTYUTILS_H
11
12#include <cstddef>
13
14namespace lldb_private {
15
16/// Remove ConPTY management sequences from a buffer in-place.
17///
18/// ConPTY injects several VT sequences into its output pipe that are not part
19/// of the inferior's output: a cursor-position query (\x1b[6n), Win32 Input
20/// Mode toggles (\x1b[?9001h/l), focus-event toggles (\x1b[?1004h/l), and a
21/// window-title OSC sequence (\x1b]0;...\x07).
22///
23/// \param[in,out] data Buffer containing raw ConPTY output.
24/// \param[in,out] len On entry, the number of valid bytes in \p data.
25/// Updated to the number of bytes after stripping.
26/// \param[in] strip_init If true, also strip init-only sequences (\x1b[m,
27/// \x1b[?25h) that ConPTY emits at startup.
28void StripConPTYSequences(void *data, size_t &len, bool strip_init);
29
30} // namespace lldb_private
31
32#endif // LLDB_HOST_WINDOWS_CONPTYUTILS_H
A class that represents a running process on the host machine.
void StripConPTYSequences(void *data, size_t &len, bool strip_init)
Remove ConPTY management sequences from a buffer in-place.