# SNOBOL4HOST(3) | CSNOBOL4B 2.2.1 | December 18, 2020

## NAME

snobol4host – SNOBOL4 host O/S functions

## SYNOPSIS

    -INCLUDE 'host.sno'

## DESCRIPTION

HOST()
  Macro SPITBOL: returns ARCHITECTURE:OPERATING_SYSTEM:SNOBOL_VERSION The string contains three parts, separated by colons. The first part describes the physical architecture, the second describes the operating system, and the third describes the language implementation name and version. NOTE! Architecture names come from the uname(3) library call, and may be different for the same hardware when running different operating systems. Examples:
  amd64:FreeBSD 12.1-RELEASE-p1:CSNOBOL4B 2.2
  x86_64:Linux 5.4.0-12-generic:CSNOBOL4B 2.2

HOST(0)
  Macro SPITBOL: returns a string containing the command line parameter supplied to the -u option, if any. If no -u option was given, HOST(0) returns the concatenation of all user parameters following the input filename(s).

HOST(1, string)
  Catspaw SPITBOL: passes the string to the system(3) C library function, and returns the subprocess exit status.

HOST(2, n)
  Catspaw SPITBOL: for integer n returns the n'th command line argument (regardless of whether the argument was the command name, an option, a filename or a user parameter) as a string, or failure if n is out of range.

HOST(3)
  Catspaw SPITBOL: returns an integer for use with HOST(2) indicating the first command line argument available as a user parameter.

HOST(4, I)
  Catspaw SPITBOL: returns the value of the environment variable named by string.

HOST(HOST_CONFIG_HOST)
  CSNOBOL4: returns host where configure script was run

HOST(HOST_CONFIG_DATE)
  CSNOBOL4: returns date when configure script was run

HOST(HOST_CONFIG_OPTIONS)
  CSNOBOL4: returns configure command line options (or fails)

HOST(HOST_VERSION_DATE)
  CSNOBOL4: version date (from configure script)

HOST(HOST_CC_IS)
  CSNOBOL4: C compiler name/id

HOST(HOST_BUILD_DATE)
  CSNOBOL4: returns date when snobol4 built

HOST(HOST_BUILD_DIR)
  CSNOBOL4: returns directory where snobol4 built

HOST(HOST_BUILD_FILES)
  CSNOBOL4: returns named of files ued to build snobol4

HOST(HOST_SNOLIB_DIR)
  CSNOBOL4: return default SNOLIB directory (for -INCLUDE, LOAD())

HOST(HOST_SNOLIB_FILE)
  CSNOBOL4: return default file for LOAD()

HOST(HOST_CC)
  CSNOBOL4: C Compiler used to build CSNOBOL4

HOST(HOST_COPT)
  CSNOBOL4: C Compiler optimizer flags used to build CSNOBOL4

HOST(HOST_SO_EXT)
  CSNOBOL4: Shared Object Library extension

HOST(HOST_SO_CFLAGS)
  CSNOBOL4: C Compiler flags for Shared Objects

HOST(HOST_SO_LD)
  CSNOBOL4: Shared Object file load command

HOST(HOST_SO_LDFLAGS)
  CSNOBOL4: Shared Object file load switches

HOST(HOST_DL_EXT)
  CSNOBOL4: Dynamic Loadable Library extension

HOST(HOST_DL_CFLAGS)
  CSNOBOL4: C Compiler flags for Dynamic Loadables

HOST(HOST_DL_LD)
  CSNOBOL4: Dynamic Loadable file load command

HOST(HOST_DL_LDFLAGS)
  CSNOBOL4: Dynamic Loadable file load switches

HOST(HOST_DIR_SEP)
  CSNOBOL4: return system directory seperator character (may be empty)

HOST(HOST_PATH_SEP)
  CSNOBOL4: return system PATH seperator character

HOST(HOST_DEF_SNOPATH)
  CSNOBOL4: default library search path

HOST(HOST_INCLUDE_DIR)
  CSNOBOL4: path for C headers

HOST(HOST_OBJ_EXT)
  CSNOBOL4: object file extension

HOST(HOST_SETUP_SYS)
  CSNOBOL4: setuputil system name

HOST(HOST_SHARED_OBJ_SUBDIR)
  CSNOBOL4: shared object subdir

HOST(HOST_CONFIG_CFLAGS)
  CSNOBOL4: CFLAGS from configure

HOST(HOST_CONFIG_CPPFLAGS)
  CSNOBOL4: C preprocessor flags from configure

HOST(HOST_CONFIG_LDFLAGS)
  CSNOBOL4: loader flags from configure

HOST(HOST_INTEGER_BITS)
  CSNOBOL4: number of bits used to represent SNOBOL4 INTEGER type

HOST(HOST_REAL_BITS)
  CSNOBOL4: number of bits used to represent SNOBOL4 REAL type

HOST(HOST_POINTER_BITS)
  CSNOBOL4: number of bits used to represent C pointer type

HOST(HOST_LONG_BITS)
  CSNOBOL4: number of bits used to represent C long type

HOST(HOST_DESCR_BITS)
  CSNOBOL4: number of bits used to represent SIL "descriptor" type

HOST(HOST_SPEC_BITS)
  CSNOBOL4: number of bits used to represent SIL "specifier" type

HOST(HOST_CHAR_BITS)
  CSNOBOL4: number of bits used to represent C char type

HOST(HOST_DYNAMIC_SIZE)
  CSNOBOL4: size of "dynamic" storage in descriptors

HOST(HOST_PMSTACK_SIZE)
  CSNOBOL4: size of pattern match stack in descriptors

HOST(HOST_ISTACK_SIZE)
  CSNOBOL4: size of interpreter stack in descriptors

HOST(HOST_SNOLIB_BASE)
  CSNOBOL4: library base directory in use

HOST(HOST_SNOLIB_LOCAL)
  CSNOBOL4: local, version-independant files

HOST(HOST_SNOLIB_VLIB)
  CSNOBOL4: distribution files (version-specific)

HOST(HOST_SNOLIB_VLOCAL)
  CSNOBOL4: local, version-specific files

HOST(HOST_SNOPATH_DIR)
  CSNOBOL4: return n'th element in search directory list

HOST(HOST_SNOLIB_VERS)
  CSNOBOL4: versioned base directory

## SEE ALSO

snobol4(1), snobol4func(1).