[Index][Class hierarchy] | (#rtl)

# Reference for package 'rtl'

Free Pascal Run-Time Library

## Units

`BaseUnix` |  | Basic Unix functionality
`Character` |  | Unicode character classification and conversion
`charset` |  | Character set support
`Classes` |  | Basic classes for RTL
`clocale` |  | Initialize internationalization settings from the C library
`cmem` |  | Memory manager replacement using the C memory manager
`collation_de` |  | German Unicode collation data
`collation_es` |  | Spanish Unicode collation data
`collation_fr_ca` |  | French (and Canadian) Unicode collation data
`collation_ja` |  | Japanse Unicode collation data
`collation_ko` |  | Korean Unicode collation data
`collation_ru` |  | Russian Unicode collation data
`collation_sv` |  | Swedish Unicode collation data
`collation_zh` |  | Chinese Unicode collation data
`cp1250` |  | Single-Byte codepage 1250 definition
`cp1251` |  | Single-Byte codepage 1251 definition
`cp1252` |  | Single-Byte codepage 1252 definition
`cp1253` |  | Single-Byte codepage 1253 definition
`cp1254` |  | Single-Byte codepage 1254 definition
`cp1255` |  | Single-Byte codepage 1255 definition
`cp1256` |  | Single-Byte codepage 1256 definition
`cp1257` |  | Single-Byte codepage 1257 definition
`cp1258` |  | Single-Byte codepage 1258 definition
`cp437` |  | Single-Byte codepage 437 definition
`cp646` |  | Single-Byte codepage 646 definition
`cp850` |  | Single-Byte codepage 850 definition
`cp852` |  | Single-Byte codepage 852 definition
`cp856` |  | Single-Byte codepage 856 definition
`cp866` |  | Single-Byte codepage 866 definition
`cp874` |  | Single-Byte codepage 874 definition
`cp8859_1` |  | Single-Byte codepage 8859_1 definition
`cp8859_2` |  | Single-Byte codepage 8859_2 definition
`cp8859_5` |  | Single-Byte codepage 8859_5 definition
`cp895` |  | Single-Byte codepage 895 definition
`cp932` |  | Single-Byte codepage 932 definition
`cp936` |  | Single-Byte codepage 936 definition
`cp949` |  | Single-Byte codepage 949 definition
`cp950` |  | Single-Byte codepage 950 definition
`cpall` |  | Add all known Single-Byte codepage definitions
`Crt` |  | CRT - Turbo Pascal screen and keyboard handling unit
`cthreads` |  | Initialize the thread manager with a POSIX thread manager
`ctypes` |  | Common C type definitions
`cwstring` |  | Implement the widestring manager with a C library based implementation
`DateUtils` |  | Date/Time manipulation routines.
`Dos` |  | DOS - Turbo Pascal MS-DOS interface
`dxeload` |  | Load DXE file in to memory
`dynlibs` |  | Cross-platform support for dynamically loadable libraries
`emu387` |  | Load coprocessor emulation support
`errors` |  | Convert UNIX error codes to string message
`exeinfo` |  | Return executable information
`fgl` |  | Free Pascal Generic Lists
`fpwidestring` |  | Native Object Pascal Unicode string support
`getopts` |  | GNU compatible access to command-line options.
`go32` |  | GO32 - access to the 32-bit DOS extender
`gpm` |  | Interface to GPM (General Purpose Mouse) library
`Graph` |  | TP compatible unit to handle screen graphics.
`heaptrc` |  | Heap debugging functionality.
`ipc` |  | Unix Inter Process Communication functionality.
`keyboard` |  | Access to low-level keyboard functions
`lineinfo` |  | Return address line information
`Linux` |  | Linux-specific operating system calls.
`lnfodwrf` |  | Return address line information
`Math` |  | Additional mathematical routines.
`matrix` |  | Two, three, four dimensional matrix unit
`mmx` |  | Access to MMX processor functionality
`Mouse` |  | Mouse event handling unit
`Objects` |  | TP-Compatible basic Objects.
`objpas` |  | Objpas - Delphi and objfpc mode system overrides
`ports` |  | Access to hardware ports
`printer` |  | Provide access to the printer.
`sharemem` |  | Shared memory memory manager (windows)
`Sockets` |  | TCP/IP Sockets functionality unit
`Strings` |  | Null-terminated string (PChar) routines.
`StrUtils` |  | Various string handling routines
`System` |  | The system unit
`sysutils` |  | Various system utilities.
`Types` |  | Various types
`TypInfo` |  | Access Run-Time Type Information (RTTI)
`unicodedata` |  | Unicode data management
`unicodeducet` |  | Root Unicode collation (DUCET)
`Unix` |  | Extended Unix functionality.
`unixcp` |  | Code Page name to number conversions
`unixtype` |  | Basic UNIX types
`unixutil` |  | Unix utility routines.
`Variants` |  | Extended variants support
`video` |  | Screen handling unit
`WinCRT` |  | Auxiliary windows routines for the graph unit
`WinDirs` |  | Get names of special directories under windows
`x86` |  | Intel X86 specific routines for Unix platforms.

## Description

The Run-Time Library is the basis of all Free Pascal programs. It contains the basic units that most programs will use, and are made available on all platforms supported by Free pascal (well, more or less).

There are units for compatibility with the Turbo Pascal Run-Time library, and there are units for compatibility with Delphi.

On top of these two sets, there are also a series of units to handle keyboard/mouse and text screens in a cross-platform way.

Other units include platform specific units that implement the specifics of a platform, these are usually needed to support the Turbo Pascal or Delphi units.

Units that fall outside the above outline do not belong in the RTL, but should be included in the packages, or in the FCL.