This file is indexed.

/usr/include/bglibs/fmt/number.h is in libbg1-dev 1.106-3.

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#ifndef FMT__NUMBER__H__
#define FMT__NUMBER__H__

/** \defgroup fmt fmt: Formatting Functions

\par Function Naming

-# Prefix
   - \c fmt_ : Always present
-# Data type
   - \c s : Signed integer (long)
   - \c u : Unsigned integer (long)
   - \c sll : Signed long long integer
   - \c ull : Unsigned long long integer
-# Conversion type
   - \c num : Generic number
   - \c dec : Decimal
   - \c hex : Hexadecimal (lower case)
   - \c Hex : Hexadecimal (upper case)
-# Width / Padding
   - \c w : (optional) Pad out the result to a minimum width

For example, \c fmt_sdecw formats a signed integer using decimal with
width padding.

\par Calling Convention

Parameters to the fmt functions are passed in the following order.
The presence of all parameters, except for \c buffer, is dependant on
which function is being used.

-# \c buffer : The character string into which to put the data result.
   If this is \c NULL, no data is written, and only the length is
   calculated.  This is useful for determining how long a formatted
   string might be.
-# \c number or \c data : The input data item to convert.
-# \c width : The minimum output width.
-# \c pad : The character with which to pad the output.
-# \c base : The numerical base to use.
-# \c digits : The array of digits to use.

\par Return Value

All fmt functions return the number of bytes written to the buffer
space.

@{ */

/** The maximum space used by a formatted number.  This value is long
  enough for 2^128 plus a trailing \c NUL byte. */
#define FMT_ULONG_LEN 40

extern const char fmt_lcase_digits[36];
extern const char fmt_ucase_digits[36];

extern unsigned fmt_pad(char* buffer, unsigned width, char pad);
extern unsigned fmt_sign_pad(char* buffer, int sign,
			     unsigned width, char pad);

/** \name Signed integer conversions
 * @{ */

extern unsigned fmt_snumw(char* buffer, long num,
			  unsigned width, char pad,
			  unsigned base, const char* digits);
extern unsigned fmt_sdec(char* buffer, long num);
extern unsigned fmt_sdecw(char* buffer, long num,
			  unsigned width, char pad);

/** @} */

/** \name Signed long long integer conversions
 * @{ */

extern unsigned fmt_sllnumw(char* buffer, long long num,
			    unsigned width, char pad,
			    unsigned base, const char* digits);
extern unsigned fmt_slldec(char* buffer, long long num);
extern unsigned fmt_slldecw(char* buffer, long long num,
			    unsigned width, char pad);

/** @} */

/** \name Unsigned integer conversions
 * @{ */

extern unsigned fmt_unumw(char* buffer, unsigned long num,
			  unsigned width, char pad,
			  unsigned base, const char* digits);
extern unsigned fmt_udec(char* buffer, unsigned long num);
extern unsigned fmt_udecw(char* buffer, unsigned long num,
			  unsigned width, char pad);
extern unsigned fmt_uhex(char* buffer, unsigned long num);
extern unsigned fmt_uhexw(char* buffer, unsigned long num,
			  unsigned width, char pad);
extern unsigned fmt_uHex(char* buffer, unsigned long num);
extern unsigned fmt_uHexw(char* buffer, unsigned long num,
			  unsigned width, char pad);

/** @} */

/** \name Unsigned long long integer conversions
 * @{ */

extern unsigned fmt_ullnumw(char* buffer, unsigned long long num,
			    unsigned width, char pad,
			    unsigned base, const char* digits);
extern unsigned fmt_ulldec(char* buffer, unsigned long long num);
extern unsigned fmt_ulldecw(char* buffer, unsigned long long num,
			    unsigned width, char pad);
extern unsigned fmt_ullhex(char* buffer, unsigned long long num);
extern unsigned fmt_ullhexw(char* buffer, unsigned long long num,
			    unsigned width, char pad);
extern unsigned fmt_ullHex(char* buffer, unsigned long long num);
extern unsigned fmt_ullHexw(char* buffer, unsigned long long num,
			    unsigned width, char pad);

/** @} */

/** @} */

#endif