This file is indexed.

/usr/include/pike8.0/pike/constants.h is in pike8.0-dev 8.0.388-2.

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
104
105
106
107
/*
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
*/

#ifndef ADD_EFUN_H
#define ADD_EFUN_H

#include "svalue.h"
#include "hashtable.h"
#include "las.h" /* For OPT_SIDE_EFFECT etc. */

typedef int (*docode_fun)(node *n);
typedef node *(*optimize_fun)(node *n);

#define CALLABLE_DYNAMIC 1

struct callable
{
  PIKE_MEMORY_OBJECT_MEMBERS;
  c_fun function;
  struct pike_type *type;
  struct pike_string *name;
  struct program *prog;
  INT16 flags; /* OPT_* */
  INT16 internal_flags;
#ifdef PIKE_DEBUG
  INT8 may_return_void;
  long runs;
  struct callable *prev;
#endif
  optimize_fun optimize;
  docode_fun docode;
  struct callable *next;
};

#ifdef PIKE_DEBUG
/* We have a double-linked list in debug mode for identification
 * purposes. */
extern struct callable *first_callable;
#endif

/* Prototypes begin here */
PMOD_EXPORT struct mapping *get_builtin_constants(void);
void low_add_efun(struct pike_string *name, struct svalue *fun);
void low_add_constant(const char *name, struct svalue *fun);
void add_pike_string_constant(const char *name, const char *str, int len);
PMOD_EXPORT void add_global_program(const char *name, struct program *p);
void really_free_callable(struct callable * c);
void count_memory_in_callables(size_t * num, size_t * size);
void free_all_callable_blocks(void);
PMOD_EXPORT struct callable *low_make_callable(c_fun fun,
				   struct pike_string *name,
				   struct pike_type *type,
				   int flags,
				   optimize_fun optimize,
				   docode_fun docode);
PMOD_EXPORT struct callable *make_callable(c_fun fun,
			       const char *name,
			       const char *type,
			       int flags,
			       optimize_fun optimize,
			       docode_fun docode);
PMOD_EXPORT void add_efun2(const char *name,
                           c_fun fun,
                           const char *type,
                           int flags,
                           optimize_fun optimize,
                           docode_fun docode);
PMOD_EXPORT void add_efun(const char *name, c_fun fun, const char *type, int flags);
PMOD_EXPORT void quick_add_efun(const char *name, ptrdiff_t name_length,
                                c_fun fun,
                                const char *type, ptrdiff_t type_length,
                                int flags,
                                optimize_fun optimize,
                                docode_fun docode);
PMOD_EXPORT void visit_callable (struct callable *c, int action, void *extra);
void init_builtin_constants(void);
void exit_builtin_constants(void);
/* Prototypes end here */

#define visit_callable_ref(C, REF_TYPE, EXTRA)			\
  visit_ref (pass_callable (C), (REF_TYPE),			\
	     (visit_thing_fn *) &visit_callable, (EXTRA))

#include "pike_macros.h"

#define ADD_EFUN2(NAME,FUN,TYPE,OPT_FLAGS,OPTIMIZE,DOCODE) \
    quick_add_efun(NAME,CONSTANT_STRLEN(NAME),FUN, \
                   TYPE,CONSTANT_STRLEN(TYPE),OPT_FLAGS,OPTIMIZE,DOCODE)

#define ADD_EFUN(NAME,FUN,TYPE,OPT_FLAGS) \
    ADD_EFUN2(NAME,FUN,TYPE,OPT_FLAGS,0,0)

#define ADD_EFUN_DTYPE(NAME,FUN,DTYPE,FLAGS) do {				\
  DTYPE_START;									\
  {DTYPE}									\
  {										\
    struct pike_string *_t;							\
    DTYPE_END(_t);								\
    quick_add_efun(NAME,CONSTANT_STRLEN(NAME),FUN,_t->str,_t->len,FLAGS,0,0);	\
    free_string(_t);								\
  }										\
} while (0)

#endif