/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 */
|