org.apache.tomcat.jni

## Class OS

- java.lang.Object
- - org.apache.tomcat.jni.OS

    public class OS
    extends Object

OS

Author:
  Mladen Turk

### Field Summary

Fields
`static boolean` `IS_BSD`
`static boolean` `IS_LINUX`
`static boolean` `IS_MACOSX`
`static boolean` `IS_NETWARE`
`static boolean` `IS_SOLARIS`
`static boolean` `IS_UNIX`
`static boolean` `IS_WIN32`
`static boolean` `IS_WIN64`
`static int` `LOG_DEBUG`
`static int` `LOG_EMERG`
`static int` `LOG_ERROR`
`static int` `LOG_INFO`
`static int` `LOG_NOTICE`
`static int` `LOG_WARN`

### Constructor Summary

Constructors
Constructor and Description
`OS()`

### Method Summary

Methods
`static String` `defaultEncoding(long pool)` Get the name of the system default character set.
`static String` `expand(String str)` Expand environment variables.
`static int` `info(long[] inf)` Gather system info.
`static String` `localeEncoding(long pool)` Get the name of the current locale character set.
`static int` `random(byte[] buf, int len)` Generate random bytes.
`static void` `syslog(int level, String message)` Log message.
`static void` `sysloginit(String domain)` Initialize system logging.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### LOG_EMERG

    public static final int LOG_EMERG

See Also:
  Constant Field Values

#### LOG_ERROR

    public static final int LOG_ERROR

See Also:
  Constant Field Values

#### LOG_NOTICE

    public static final int LOG_NOTICE

See Also:
  Constant Field Values

#### LOG_WARN

    public static final int LOG_WARN

See Also:
  Constant Field Values

#### LOG_INFO

    public static final int LOG_INFO

See Also:
  Constant Field Values

#### LOG_DEBUG

    public static final int LOG_DEBUG

See Also:
  Constant Field Values

#### IS_UNIX

    public static final boolean IS_UNIX

#### IS_NETWARE

    public static final boolean IS_NETWARE

#### IS_WIN32

    public static final boolean IS_WIN32

#### IS_WIN64

    public static final boolean IS_WIN64

#### IS_LINUX

    public static final boolean IS_LINUX

#### IS_SOLARIS

    public static final boolean IS_SOLARIS

#### IS_BSD

    public static final boolean IS_BSD

#### IS_MACOSX

    public static final boolean IS_MACOSX

### Constructor Detail

#### OS

    public OS()

### Method Detail

#### defaultEncoding

    public static String defaultEncoding(long pool)

Get the name of the system default character set.

Parameters:
  `pool` - the pool to allocate the name from, if needed

#### localeEncoding

    public static String localeEncoding(long pool)

Get the name of the current locale character set. Defers to apr_os_default_encoding if the current locale's data can't be retrieved on this system.

Parameters:
  `pool` - the pool to allocate the name from, if needed

#### random

    public static int random(byte[] buf,
             int len)

Generate random bytes.

Parameters:
  `buf` - Buffer to fill with random bytes
  `len` - Length of buffer in bytes

#### info

    public static int info(long[] inf)

Gather system info.

     On exit the inf array will be filled with:
     inf[0]  - Total usable main memory size
     inf[1]  - Available memory size
     inf[2]  - Total page file/swap space size
     inf[3]  - Page file/swap space still available
     inf[4]  - Amount of shared memory
     inf[5]  - Memory used by buffers
     inf[6]  - Memory Load

     inf[7]  - Idle Time in microseconds
     inf[8]  - Kernel Time in microseconds
     inf[9]  - User Time in microseconds

     inf[10] - Process creation time (apr_time_t)
     inf[11] - Process Kernel Time in microseconds
     inf[12] - Process User Time in microseconds

     inf[13] - Current working set size.
     inf[14] - Peak working set size.
     inf[15] - Number of page faults.

Parameters:
  `inf` - array that will be filled with system information. Array length must be at least 16.

#### expand

    public static String expand(String str)

Expand environment variables.

Parameters:
  `str` - String to expand
Returns:
  Expanded string with replaced environment variables.

#### sysloginit

    public static void sysloginit(String domain)

Initialize system logging.

Parameters:
  `domain` - String that will be prepended to every message

#### syslog

    public static void syslog(int level,
              String message)

Log message.

Parameters:
  `level` - Log message severity. See LOG_XXX enums.
  `message` - Message to log