This file is indexed.

/usr/include/kdbos.h is in libelektra-dev 0.7.1-1.

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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/***************************************************************************
             kdbos.h  -  operating system specific workarounds
                             -------------------
    begin                : Mon Dec 29 2003
    copyright            : (C) 2003 by Avi Alkalay
    email                : avi@unix.sh
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the BSD License (revised).                      *
 *                                                                         *
 ***************************************************************************/

/* This header purpose is that afterwards following types are defined:
 * .. means don't care, just enough for your system
 * For more information on that types read POSIX documentation.
 *
 * Type     Purpose                 Limits
 * size_t   size of array or string 0, SIZE_MAX
 * ssize_t  size with error cond.   -1, SSIZE_MAX(<SIZE_MAX)
 * time_t   Seconds since 1970      0,.. recommended: 64 bit
 *
 * Integer Types must be at least 32bit:
 *
 * int      Integral Fast Type      INT_MIN, INT_MAX
 * uid_t    User identification     0,..
 * gid_t    Group identification    0,..
 * type_t   Typing information      -1,..
 * keyswitch_t For keyNew
 * option_t    For kdbGet, kdbSet and ksLookup*
 *
 *
 * Following elektra specific types are defined:
 *
 * Type     Purpose
 * cursor_t stores information to find a position in a keyset
 *
 * Following constants must be defined:
 *
 * KEY_SEPARATOR   how to delimit keynames
 * PATH_SEPARATOR  how to delimit pathnames
 * KEY_DEF_MODE    the standard mode for keys
 * KEY_DIR_MODE    the mode to add (|=) for key directories
 *
 * Following limits must be defined (in addition to limits mentioned
 * above for types):
 *
 * MAX_UCHAR       the maximum for unsigned char
 * MAX_KEY_LENGTH  the maximum length for a keyname
 * MAX_PATH_LENGTH the maximum length for a pathname
 *
 * In addition to the types the ... or va_list must be supported,
 * this is ISO C and should happen by including <stdarg.h>.
 *
 * Go ahead and write a #ifdef block for your operating system
 * when the POSIX defaults are not ok.
 */


#ifndef KDBOS_H
#define KDBOS_H


/* Include essential headers used in kdb.h */
#include <stdarg.h>

#ifndef WIN32

/***************************************************
 *               Posix Compatible
 ***************************************************/

#ifndef __USE_POSIX
#define __USE_POSIX
#endif
#include <limits.h>

/* Conforming C++ programs are not allowed to
 * include inttypes.h*/
#include <inttypes.h>
#include <sys/types.h>

/**Separator for Path names*/
#define PATH_SEPARATOR '/'


/**MAX_PATH_LENGTH will be the value for longest
 * possible filenames on the system.*/

/*Some systems have even longer pathnames*/
#ifdef PATH_MAX
#define MAX_PATH_LENGTH PATH_MAX
/*This value is garanteed on any Posixsystem*/
#elif defined __USE_POSIX
#define MAX_PATH_LENGTH _POSIX_PATH_MAX
#else
#define MAX_PATH_LENGTH 4096
#endif

/*Type to point to every position within the keyset*/
typedef ssize_t cursor_t;

/*Integer types*/
typedef int type_t;
typedef int keyswitch_t;
typedef int option_t;

/**Separator for key names.
 * This character will be used to separate key names*/
#define KEY_SEPARATOR '/'
/**Default Mode.
 * This mode will be used for fresh keys*/
#define KEY_DEF_MODE 0664
/**Default directory mode.
 * This mode will be ORed to have a directory key*/
#define KEY_DEF_DIR 0111

/**Lets assume that the namespace + relative path is shorter then the absolute path.
 * So the maximum length of key is what the system allows for the path.*/
#define MAX_KEY_LENGTH MAX_PATH_LENGTH




#else /* WIN32 */

/***************************************************
 *                 Windows
 ***************************************************/
# include <windows.h>
# include <limits.h>

# define usleep(x) Sleep(x)

# define ssize_t int
# define snprintf _snprintf

/**Separator for Path names*/
#define PATH_SEPARATOR '\\'

#define MAX_PATH_LENGTH 4096

/*Type to point to every position within the keyset*/
typedef ssize_t cursor_t;

/*Integer types*/
typedef int type_t;
typedef int keyswitch_t;
typedef int option_t;

/**Separator for key names.
 * This character will be used to separate key names*/
#define KEY_SEPARATOR '/'
/**Default Mode.
 * This mode will be used for fresh keys*/
#define KEY_DEF_MODE 0664
/**Default directory mode.
 * This mode will be ORed to have a directory key*/
#define KEY_DEF_DIR 0111

/**Lets assume that the namespace + relative path is shorter then the absolute path.
 * So the maximum length of key is what the system allows for the path.*/
#define MAX_KEY_LENGTH MAX_PATH_LENGTH




#endif /* WIN32 */

#endif /* KDBOS_H */