Search Top Index
HELP SYSDEFS Roger Evans & Robert Duncan, Aug 1992 Revised John Gibson Aug 1995 System-specific definitions. include sysdefs uses sysdefs INCLUDE * SYSDEFS defines a set of symbolic constants specific to the machine and operating system on which Poplog is running. The information is derived from the system variables sys_machine_type and sys_os_type (see REF * SYSTEM). LIB * SYSDEFS defines the same set of symbols as the include file, but declares them as global, permanent constants rather than as lexical ones. The library is maintained largely for compatibility reasons, and use of the include file is preferred. The symbol values are all either boolean (for flags) or numeric (for version numbers). They are intended primarily for use with the DEF and DEFV conditional-compilation macros (see REF * DEF, * DEFV), and so in general only those symbols representing attributes true of the current system will be defined. This means that on a VMS system, for example, the symbol UNIX will not be defined: this does not preclude its use with the DEF macro however, since this will test first for whether the symbol is defined before testing its value. The complete set of symbols divides into two major groups, describing the machine type and the operating system type. The machine-type symbols are all boolean: Symbol Defined for VAX VAX (including VAXstation etc.) SUN any Sun system: will also define one of the following SUN3 Sun3 SUN4 Sun4 (including SPARCstation etc.) HP9000 Hewlett Packard 9000: will also define one of HP9000_300 300 series HP9000_700 700 series DECSTATION DEC RISC systems IRIS Silicon Graphics IRIS (Personal IRIS, Indigo etc.) The operating system symbols are numeric (except where indicated) and are set to the operating system version number: Symbol Defined for VMS VMS UNIX any Unix system (NB: this is a boolean value) SUNOS SunOS (including Solaris) HPUX HP-UX ULTRIX DEC Ultrix IRIX Silicon Graphics IRIX In addition, Unix systems are divided (more or less arbitrarily) into "Berkeley" systems and "System V" systems, for which the following symbols are defined: BERKELEY BSD-derived systems (4.2 or 4.3) SYSTEM_V System V derived systems (3.2 or 4.0) There are also the following miscellaneous flags which indicate that the system supports a particular feature: Symbol Feature BSD_SOCKETS Berkeley-style sockets BSD_SYMLINKS Berkeley-style symbolic links COFF Common Object File Format Finally, Unix systems may also define symbols POSIXN (i.e. POSIX1, POSIX2, ...) to indicate that the system supports the POSIX-N standard. Where defined, the value of these symbols is an integer revision date, e.g. 199303. The information on which all these definitions are based is built into the Poplog executable, and so strictly speaking relates to the system on which Poplog was built rather than that on which it is running: it won't change after an operating system upgrade, for example. LIB * POPHOST can be used to provide more locally-specific information. See also: HELP * SYS_MACHINE_TYPE HELP * SYS_PROCESSOR_TYPE HELP * SYS_OS_TYPE HELP * POPHOST HELP * INCLUDE REF * DEF REF * DEFV --- C.all/help/sysdefs --- Copyright University of Sussex 1994. All rights reserved.