This file is indexed.

/usr/include/ustr-cntl.h is in libustr-dev 1.0.4-3ubuntu2.

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
/* Copyright (c) 2007 James Antill -- See LICENSE file for terms. */
#ifndef USTR_CNTL_H
#define USTR_CNTL_H 1

#ifndef USTR_MAIN_H
# error " You should include ustr-main.h before this file, or just ustr.h"
#endif

#define USTR_CNTL_OPT_GET_REF_BYTES   ( 1)
#define USTR_CNTL_OPT_SET_REF_BYTES   ( 2)
#define USTR_CNTL_OPT_GET_HAS_SIZE    ( 3)
#define USTR_CNTL_OPT_SET_HAS_SIZE    ( 4)
#define USTR_CNTL_OPT_GET_EXACT_BYTES ( 5)
#define USTR_CNTL_OPT_SET_EXACT_BYTES ( 6)
#define USTR_CNTL_OPT_GET_MEM         ( 7)
#define USTR_CNTL_OPT_SET_MEM         ( 8)
#define USTR_CNTL_OPT_GET_MC_M_SCRUB  ( 9)
#define USTR_CNTL_OPT_SET_MC_M_SCRUB  (10)
#define USTR_CNTL_OPT_GET_MC_F_SCRUB  (11)
#define USTR_CNTL_OPT_SET_MC_F_SCRUB  (12)
#define USTR_CNTL_OPT_GET_MC_R_SCRUB  (13)
#define USTR_CNTL_OPT_SET_MC_R_SCRUB  (14)
#define USTR_CNTL_OPT_GET_FMT         (15)
#define USTR_CNTL_OPT_SET_FMT         (16)

/* move to dynamic configuration, so it's more usable from a shared library */
#undef  USTR_CONF_REF_BYTES
#define USTR_CONF_REF_BYTES (ustr__opts->ref_bytes)
#undef  USTR_CONF_HAS_SIZE
#define USTR_CONF_HAS_SIZE (ustr__opts->has_size)
#undef  USTR_CONF_EXACT_BYTES
#define USTR_CONF_EXACT_BYTES (ustr__opts->exact_bytes)
#undef  USTR_CONF_MALLOC
#define USTR_CONF_MALLOC(x)     ((*ustr__opts->umem.sys_malloc)(x))
#undef  USTR_CONF_REALLOC
#define USTR_CONF_REALLOC(x, y) ((*ustr__opts->umem.sys_realloc)((x), (y)))
#undef  USTR_CONF_FREE
#define USTR_CONF_FREE(x)       ((*ustr__opts->umem.sys_free)(x))
#undef  USTR_CONF_VSNPRINTF_BEG
#define USTR_CONF_VSNPRINTF_BEG    ustr__opts->ufmt.sys_vsnprintf_beg
#undef  USTR_CONF_VSNPRINTF_END
#define USTR_CONF_VSNPRINTF_END    ustr__opts->ufmt.sys_vsnprintf_end

struct Ustr_cntl_mem
{
 void *(*sys_malloc)(size_t);
 void *(*sys_realloc)(void *, size_t);
 void  (*sys_free)(void *);
};

struct Ustr_cntl_fmt
{
 int (*sys_vsnprintf_beg)(char *, size_t, const char *, va_list);
 int (*sys_vsnprintf_end)(char *, size_t, const char *, va_list); 
};

#if USTR_CONF_INCLUDE_INTERNAL_HEADERS
struct Ustr_opts
{
 size_t ref_bytes;

 struct Ustr_cntl_mem umem;
 struct Ustr_cntl_fmt ufmt;

 unsigned int has_size    : 1;
 unsigned int exact_bytes : 1;
 unsigned int mc_m_scrub  : 1;
 unsigned int mc_f_scrub  : 1;
 unsigned int mc_r_scrub  : 1;
};

/* this is for use within the shared library only... */
extern struct Ustr_opts ustr__opts[1];

USTR_CONF_e_PROTO int   ustr__cntl_mc_setup_env2bool(const char *, int)
    USTR__COMPILE_ATTR_WARN_UNUSED_RET();
USTR_CONF_e_PROTO void  ustr__cntl_mc_setup_main(void);
USTR_CONF_e_PROTO void *ustr__cntl_mc_setup_malloc(size_t)
    USTR__COMPILE_ATTR_WARN_UNUSED_RET();

USTR_CONF_e_PROTO void *ustr__cntl_mc_malloc(size_t)
    USTR__COMPILE_ATTR_WARN_UNUSED_RET();
USTR_CONF_e_PROTO void *ustr__cntl_mc_realloc(void *, size_t)
    USTR__COMPILE_ATTR_WARN_UNUSED_RET();
USTR_CONF_e_PROTO void  ustr__cntl_mc_free(void *);
#else
struct Ustr_opts; /* declare opaque struct */
#endif

#if USTR_CONF_COMPILE_TYPEDEF
typedef struct Ustr_cntl_mem  Ustr_cntl_mem;
typedef struct Ustr_cntl_fmt  Ustr_cntl_fmt;
typedef struct Ustr_opts      Ustr_opts;
#endif

USTR_CONF_E_PROTO int ustr_cntl_opt(int, ...)
    USTR__COMPILE_ATTR_NONNULL_A();

#if USTR_CONF_INCLUDE_CODEONLY_HEADERS
#include "ustr-cntl-code.h"
#endif

#endif