/usr/include/bobcat/signal 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 | #ifndef INCLUDED_BOBCAT_SIGNAL_
#define INCLUDED_BOBCAT_SIGNAL_
#include <vector>
#include <csignal>
namespace FBB
{
class SignalHandler
{
    friend class Signal;
    public:
        virtual ~SignalHandler();
    private:
        virtual void signalHandler(size_t signum) = 0;
};
class Signal
{
    typedef std::vector<SignalHandler *> SignalHandlerVector;
    std::vector<SignalHandlerVector> d_signals;
    // d_signals is a vector of vectors of pointers to SignalHandlers
    // the row dimension refers to the signal number
    // each row holds a SignalHandler object handling that kind of signal
    static Signal *s_signal;
    public:
        static Signal &instance();
        
        Signal(Signal const &) = delete;
        Signal &operator=(Signal const &) = delete;
        void add(size_t signum, SignalHandler &object);
        void remove(size_t signum, SignalHandler &object);
        void ignore(size_t signum);
        void reset(size_t signum);
    private:
        Signal();
        static void verify(size_t signum, char const *member);
        static void handler(int signum);                // called by remove
        void signal(int signum, sighandler_t handler);  // calls sigaction
};
}
        
#endif
 |