/usr/include/bobcat/signal is in libbobcat-dev 4.01.03-2ubuntu1.
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 | #ifndef INCLUDED_SIGNAL_
#define INCLUDED_SIGNAL_
#include <vector>
#include <signal.h>
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);
};
}
        
#endif
 |