/usr/include/bobcat/cininserter is in libbobcat-dev 4.08.02-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #ifndef INCLUDED_BOBCAT_CININSERTER_
#define INCLUDED_BOBCAT_CININSERTER_
#include <iosfwd>
#include <ostream>
#include <thread>
#include <future>
#include <type_traits>
#include <sstream>
#include <bobcat/pipe>
#include <bobcat/ofdstreambuf>
#include <bobcat/exec>
#include <iostream>
using namespace std;
namespace FBB
{
class CinInserter: public IUO::CloseMode, private Exec,
                   private OFdStreambuf, public std::ostream
{
    size_t d_bufSize;
    Pipe d_oChildInPipe;           // cin read by the CHILD
    void (*d_modeFun)();
    bool d_stopped = true;
    
    public:
        CinInserter(size_t bufSize = 100);
        CinInserter(StdMode mode, size_t bufSize = 100);
        ~CinInserter() override;
        void execute(std::string const &cmd);
        bool execute(std::string const &cmd, std::string const &txt);
        int stop();
        using Exec::ret;
    protected:
        Pipe &childInPipe();
        
    private:
        void childRedirections() override;
        void parentRedirections() override;
        void parentProcess() override;
        static void stdClose();
};
inline Pipe &CinInserter::childInPipe()
{
    return d_oChildInPipe;
}
} // namespace FBB
#endif
 |