This file is indexed.

/usr/lib/klibc/include/signal.h is in libklibc-dev 2.0.4-8ubuntu1.

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
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
/*
 * signal.h
 */

#ifndef _SIGNAL_H
#define _SIGNAL_H

#include <klibc/compiler.h>
#include <klibc/extern.h>
#include <string.h>		/* For memset() */
#include <limits.h>		/* For LONG_BIT */
#include <sys/types.h>

#include <klibc/archsignal.h>	/* Includes <asm/signal.h> if appropriate */

/* glibc seems to use sig_atomic_t as "int" pretty much on all architectures.
   Do the same, but allow the architecture to override. */
#ifndef _KLIBC_HAS_ARCH_SIG_ATOMIC_T
typedef int sig_atomic_t;
#endif

/* Some architectures don't define these */
#ifndef SA_RESETHAND
# define SA_RESETHAND SA_ONESHOT
#endif
#ifndef SA_NODEFER
# define SA_NODEFER SA_NOMASK
#endif
/* Some architectures define NSIG and not _NSIG or vice versa */
#ifndef NSIG
# define NSIG _NSIG
#endif
#ifndef _NSIG
# define _NSIG NSIG
#endif

/* If we don't have any real-time signals available to userspace,
   hide them all */
#if SIGRTMAX <= SIGRTMIN
# undef SIGRTMIN
# undef SIGRTMAX
#endif

/* The kernel header files are inconsistent whether or not
   SIGRTMAX is inclusive or exclusive.  POSIX seems to state that
   it's inclusive, however. */
#if SIGRTMAX >= _NSIG
# undef  SIGRTMAX
# define SIGRTMAX (_NSIG-1)
#endif

__extern const char *const sys_siglist[_NSIG];
__extern const char *const sys_sigabbrev[_NSIG];

/* This assumes sigset_t is either an unsigned long or an array of such,
   and that _NSIG_BPW in the kernel is always LONG_BIT */

static __inline__ int sigemptyset(sigset_t * __set)
{
	memset(__set, 0, sizeof *__set);
	return 0;
}
static __inline__ int sigfillset(sigset_t * __set)
{
	memset(__set, ~0, sizeof *__set);
	return 0;
}
static __inline__ int sigaddset(sigset_t * __set, int __signum)
{
	unsigned long *__lset = (unsigned long *)__set;
	__signum--;		/* Signal 0 is not in the set */
	__lset[__signum / LONG_BIT] |= 1UL << (__signum % LONG_BIT);
	return 0;
}
static __inline__ int sigdelset(sigset_t * __set, int __signum)
{
	unsigned long *__lset = (unsigned long *)__set;
	__signum--;		/* Signal 0 is not in the set */
	__lset[__signum / LONG_BIT] &= ~(1UL << (__signum % LONG_BIT));
	return 0;
}
static __inline__ int sigismember(sigset_t * __set, int __signum)
{
	unsigned long *__lset = (unsigned long *)__set;
	__signum--;		/* Signal 0 is not in the set */
	return (int)((__lset[__signum / LONG_BIT] >> (__signum % LONG_BIT)) &
		     1);
}

__extern __sighandler_t __signal(int, __sighandler_t, int);
#ifndef signal
__extern __sighandler_t signal(int, __sighandler_t);
#endif
__extern __sighandler_t sysv_signal(int, __sighandler_t);
__extern __sighandler_t bsd_signal(int, __sighandler_t);
__extern int sigaction(int, const struct sigaction *, struct sigaction *);
__extern int sigprocmask(int, const sigset_t *, sigset_t *);
__extern int sigpending(sigset_t *);
__extern int sigsuspend(const sigset_t *);
__extern int raise(int);
__extern int kill(pid_t, int);

#endif				/* _SIGNAL_H */