This file is indexed.

/usr/include/GNUstep/Foundation/NSProcessInfo.h is in libgnustep-base-dev 1.22.1-4+deb7u1.

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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
/* Interface for NSProcessInfo for GNUStep
   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.

   Written by:  Georg Tuparev, EMBL & Academia Naturalis, 
                Heidelberg, Germany
                Tuparev@EMBL-Heidelberg.de
   Last update: 08-aug-1995
	 
   This file is part of the GNUstep Base Library.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.
   
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.
   
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02111 USA.
   */ 

#ifndef __NSProcessInfo_h_GNUSTEP_BASE_INCLUDE
#define __NSProcessInfo_h_GNUSTEP_BASE_INCLUDE
#import	<GNUstepBase/GSVersionMacros.h>

#import	<Foundation/NSObject.h>

#if	defined(__cplusplus)
extern "C" {
#endif

@class NSArray;
@class NSMutableArray;
@class NSDictionary;
@class NSData;
@class NSMutableSet;

#if OS_API_VERSION(GS_API_MACOSX,GS_API_LATEST)

/**
 * Constants returned by the -operatingSystem method.
 * NB. The presence of a constant in this list does *NOT* imply that
 * the named operating system is supported.  Some values are provided
 * for MacOS-X compatibility or are obsolete and provided for
 * backward compatibility.
 */
enum {
  NSWindowsNTOperatingSystem = 1,
  NSWindows95OperatingSystem,
  NSSolarisOperatingSystem,
  NSHPUXOperatingSystem,
  NSMACHOperatingSystem,
  NSSunOSOperatingSystem,
  NSOSF1OperatingSystem,
#if OS_API_VERSION(GS_API_NONE,GS_API_NONE)
  GSGNULinuxOperatingSystem = 100,
  GSBSDOperatingSystem,
  GSBeOperatingSystem,
  GSCygwinOperatingSystem

#if GS_API_VERSION(0,011500)
// Defines of deprecated constants for backward compatibility
#define	NSGNULinuxOperatingSystem	GSGNULinuxOperatingSystem
#define	NSBSDOperatingSystem		GSBSDOperatingSystem
#define	NSBeOperatingSystem		GSBeOperatingSystem
#define	NSCygwinOperatingSystem		GSCygwinOperatingSystem
#endif	/* GS_API_VERSION(0,011500) */

#endif	/* OS_API_VERSION(GS_API_NONE,GS_API_NONE) */
};
#endif	/* OS_API_VERSION(GS_API_MACOSX,GS_API_LATEST) */


@interface NSProcessInfo: NSObject

/**
 * Returns the shared NSProcessInfo object for the current process.
 */
+ (NSProcessInfo*) processInfo;

/**
 * Returns an array containing the arguments supplied to start this
 * process.<br />
 * NB. In GNUstep, any arguments of the form --GNU-Debug=...
 * are <em>not</em> included in this array ... they are part of the
 * debug mechanism, and are hidden so that setting debug variables
 * will not effect the normal operation of the program.<br />
 * Please note, the special <code>--GNU-Debug=...</code> syntax differs from
 * that which is used to specify values for the [NSUserDefaults] system.<br />
 * User defaults are set on the command line by specifying the default name
 * (with a leading hyphen) as one argument, and the default value as the
 * following argument.  The arguments used to set user defaults are
 * present in the array returned by this method.
 */
- (NSArray*) arguments;

/**
 * Returns a dictionary giving the environment variables which were
 * provided for the process to use.
 */
- (NSDictionary*) environment;

/**
 * Returns a string which may be used as a globally unique identifier.<br />
 * The string contains the host name, the process ID, a timestamp and a
 * counter.<br />
 * The first three values identify the process in which the string is
 * generated, while the fourth ensures that multiple strings generated
 * within the same process are unique.
 */
- (NSString*) globallyUniqueString;

/**
 * Returns the name of the machine on which this process is running.
 */
- (NSString*) hostName;

#if OS_API_VERSION(GS_API_MACOSX,GS_API_LATEST)

/**
 * Return a number representing the operating system type.<br />
 * The known types are listed in the header file, but not all of the
 * listed types are actually implemented ... some are present for
 * MacOS-X compatibility only.<br />
 * <list>
 * <item>NSWindowsNTOperatingSystem - used for Windows NT, and later</item>
 * <item>NSWindows95OperatingSystem - probably never to be implemented</item>
 * <item>NSSolarisOperatingSystem - used for Sun Solaris</item>
 * <item>NSHPUXOperatingSystem - used for HP/UX</item>
 * <item>NSMACHOperatingSystem - MacOSX and perhaps Hurd in future?</item>
 * <item>NSSunOSOperatingSystem - Used for Sun Sun/OS</item>
 * <item>NSOSF1OperatingSystem - Used for OSF/1 (probably obsolete)</item>
 * <item>GSGNULinuxOperatingSystem - the GNUstep 'standard'</item>
 * <item>GSBSDOperatingSystem - BSD derived operating systems</item>
 * <item>GSBeperatingSystem - Used for Be-OS (probably obsolete)</item>
 * <item>GSCygwinOperatingSystem - cygwin unix-like environment</item>
 * </list>
 */
- (NSUInteger) operatingSystem;

/**
 * Return a human readable string representing the operating system type.<br />
 * The supported types are -
 * <list>
 * <item>NSWindowsNTOperatingSystem - used for Windows NT, and later</item>
 * <item>NSWindows95OperatingSystem - probably never to be implemented</item>
 * <item>NSSolarisOperatingSystem - used for Sun Solaris</item>
 * <item>NSHPUXOperatingSystem - used for HP/UX</item>
 * <item>NSMACHOperatingSystem - MacOSX and perhaps Hurd in future?</item>
 * <item>NSSunOSOperatingSystem - Used for Sun Sun/OS</item>
 * <item>NSOSF1OperatingSystem - Used for OSF/1 (probably obsolete)</item>
 * <item>GSGNULinuxOperatingSystem - the GNUstep 'standard'</item>
 * <item>GSBSDOperatingSystem - BSD derived operating systems</item>
 * <item>GSBeperatingSystem - Used for Be-OS (probably obsolete)</item>
 * <item>GSCygwinOperatingSystem - cygwin unix-like environment</item>
 * </list>
 */
- (NSString*) operatingSystemName;

/**
 * Returns a human readable version string for the current operating system
 * version.
 */
#if OS_API_VERSION(100200,GS_API_LATEST)
- (NSString *) operatingSystemVersionString;
#endif

/**
 * Returns the process identifier number which uniquely identifies
 * this process on this machine.
 */
- (int) processIdentifier;
#endif

/**
 * Returns the process name for this process. This may have been set using
 * the -setProcessName: method, or may be the default process name (the
 * file name of the binary being executed).
 */
- (NSString*) processName;

/**
 * Change the name of the current process to newName.
 */
- (void) setProcessName: (NSString*)newName;

#if OS_API_VERSION(100500,GS_API_LATEST) 
/** Not implemented */
- (NSUInteger) processorCount;
/** Not implemented */
- (NSUInteger) activeProcessorCount;
/** Not implemented */
- (unsigned long long) physicalMemory;
#endif
@end

#if GS_API_VERSION(GS_API_NONE,011700)

/**
 * Provides GNUstep-specific methods for controlled debug logging (a GNUstep
 * facility) and an internal/developer-related method.
 */
@interface	NSProcessInfo (GNUstep)

/**
 * Set the file to which NSLog output should be directed.<br />
 * Returns YES on success, NO on failure.<br />
 * By default logging goes to standard error.
 */
- (BOOL) setLogFile: (NSString*)path;

/** Obsolete ... the GSInitializeProcess() function has the same effect and
 * can be called more easily from other languages (particularly C).
 */
+ (void) initializeWithArguments: (char**)argv
                           count: (int)argc
                     environment: (char**)env;
@end

/**
 * Fallback/override function.<br />
 * The developer must call this method to initialize
 * the NSProcessInfo system if none of the system-specific hacks to
 * auto-initialize it are working.<br />
 * It is also safe to call this function to override the effects
 * of the automatic initialisation, which some applications may need
 * to do when using GNUstep libraries embedded within other frameworks.
 */
GS_EXPORT void GSInitializeProcess(int argc, char **argv, char **envp);

/**
 * Function for rapid testing to see if a debug level is set.<br />
 * This is used by the debugging macros.<br />
 * If debug logging has been turned off, this returns NO even if
 * the specified level exists in the set of debug levels.
 */
GS_EXPORT BOOL GSDebugSet(NSString *level);

#endif	/* GS_API_NONE */

#if	defined(__cplusplus)
}
#endif

#if     !NO_GNUSTEP && !defined(GNUSTEP_BASE_INTERNAL)
#import <GNUstepBase/NSProcessInfo+GNUstepBase.h>
#endif

#endif /* __NSProcessInfo_h_GNUSTEP_BASE_INCLUDE */