[<< wikibooks] Ada Programming/Libraries/System
== Description ==
The System package is a standard library package provided with each Ada implementation. It includes implementation and system configuration-dependent definitions. The System package contains a standard set of language-defined (but implementation-dependent) types and named numbers.


=== Types ===
Name
Address
Priority (also Interrupt_Priority and Any_Priority since Ada 95)
Bit_Order (since Ada 95)


=== Constants ===
The following named numbers may be set by pragmas. These pragmas may only be used at the start of compilation:

System_Name
Storage_Unit
Memory_SizeThe following named numbers are set by the implementation:

Null_Address (since Ada 95)
Default_Priority (since Ada 95)
Default_Bit_Order (since Ada 95)
MIN_INT — the smallest value of all predefined integer types (negative).
MAX_INT — the largest value of all predefined integer types (positive).
MAX_BINARY_MODULUS — the largest power of allowed as the modulus for modular types.
MAX_NONBINARY_MODULUS — the largest value allowed as the modulus for modular types.
MAX_BASE_DIGITS — the largest number of significant decimal digits in a floating point declaration.
MAX_DIGITS — the largest number of significant decimal digits in a floating point declaration without a range specification. This value is at most as large as the previous one.
MAX_MANTISSA — the largest possible number of binary digits in the mantissa of fixed point values.
FINE_DELTA — The smallest delta allowed in a fixed point value (given a range constraint of -1.0 to 1.0).
TICK — the clock period (in seconds).


== Child packages ==


=== Standard System packages ===
The six untagged System packages are from the ISO/IEC 8652:1995(E) standard.

(Ada 20012)
This package is available since Ada 2012.System
System.Address_To_Access_Conversions
System.Machine_Code
System.Multiprocessors (Ada 2012)
System.Multiprocessors.Dispatching_Domains (Ada 2012)
System.RPC
System.Storage_Elements
System.Storage_Pools
System.Storage_Pools.Subpools (Ada 2012)


=== GNAT System packages ===
System.Address_Image
System.Assertions
System.Memory
System.Partition_Interface
System.Task_Info
System.WCh_Cnv
System.WCh_ConThe following 200 odd packages form the GNAT runtime environment. They are mentioned here as a reference for advanced users. Normal GNAT users should ignore them because they are internal units of the runtime system.

System.Address_Operations
System.Arith_64
System.AST_Handling
System.Aux_DEC
System.Bit_Ops
System.Boolean_Array_Operations
System.Compare_Array_Signed_8
System.Compare_Array_Unsigned_8
System.Compare_Array_Signed_16
System.Compare_Array_Signed_32
System.Compare_Array_Signed_64
System.Case_Util
System.Compare_Array_Unsigned_16
System.Compare_Array_Unsigned_32
System.Compare_Array_Unsigned_64
System.Checked_Pools
System.CRC32
System.CRTL
System.Direct_IO
System.Error_Reporting
System.Exceptions
System.Exception_Table
System.Exn_Int
System.Exn_LLF
System.Exn_LLI
System.Exp_Int
System.Exp_LLI
System.Exp_LLU
System.Exp_Mod
System.Exp_Uns
System.Fat_Flt
System.Fat_Gen
System.Fat_LFlt
System.Fat_LLF
System.Fat_SFlt
System.File_Control_Block
System.File_IO
System.Finalization_Implementation
System.Finalization_Root
System.Fore
System.Generic_Vector_Operations
System.Global_Locks
System.HIE_Back_End
System.HTable
System.Img_BIU
System.Img_Bool
System.Img_Char
System.Img_Dec
System.Img_Enum
System.Img_Int
System.Img_LLB
System.Img_LLD
System.Img_LLI
System.Img_LLU
System.Img_LLW
System.Img_Real
System.Img_Uns
System.Img_WChar
System.Img_WIU
System.Interrupt_Management.Operations
System.Interrupts
System.Interrupt_Management
System.IO
System.Mantissa
System.Machine_State_Operations
System.Memory_Copy
System.OS_Interface
System.OS_Primitives
System.Pack_03
System.Pack_05
System.Pack_06
System.Pack_07
System.Pack_09
System.Pack_10
System.Pack_11
System.Pack_12
System.Pack_13
System.Pack_14
System.Pack_15
System.Pack_17
System.Pack_18
System.Pack_19
System.Pack_20
System.Pack_21
System.Pack_22
System.Pack_23
System.Pack_24
System.Pack_25
System.Pack_26
System.Pack_27
System.Pack_28
System.Pack_29
System.Pack_30
System.Pack_31
System.Pack_33
System.Pack_34
System.Pack_35
System.Pack_36
System.Pack_37
System.Pack_38
System.Pack_39
System.Pack_40
System.Pack_41
System.Pack_42
System.Pack_43
System.Pack_44
System.Pack_45
System.Pack_46
System.Pack_47
System.Pack_48
System.Pack_49
System.Pack_50
System.Pack_51
System.Pack_52
System.Pack_53
System.Pack_54
System.Pack_55
System.Pack_56
System.Pack_57
System.Pack_58
System.Pack_59
System.Pack_60
System.Pack_61
System.Pack_62
System.Pack_63
System.Parameters
System.Pool_Global
System.Pool_Local
System.Pool_Size
System.Powten_Table
System.Program_Info
System.Pure_Exceptions
System.Restrictions
System.Rident
System.Scalar_Values
System.Secondary_Stack
System.Sequential_IO
System.Shared_Storage
System.Soft_Links
System.Soft_Links.Tasking
System.String_Ops_Concat_3
System.String_Ops_Concat_4
System.String_Ops_Concat_5
System.Stack_Checking
System.Standard_Library
System.Stack_Checking.Operations
System.Stream_Attributes
System.String_Compare
System.String_Ops
System.Tasking.Async_Delays
System.Tasking.Entry_Calls
System.Tasking.Protected_Objects
System.Task_Primitives.Operations
System.Tasking.Restricted.Stages
System.Tasking.Debug
System.Tasking.Initialization
System.Tasking
System.Task_Primitives
System.Tasking.Queuing
System.Tasking.Rendezvous
System.Tasking.Restricted
System.Tasking.Stages
System.Tasking.Utilities
System.Tasking.Task_Attributes
System.Task_Primitives.Interrupt_Operations
System.Tasking.Protected_Objects.Entries
System.Tasking.Protected_Objects.Operations
System.Tasking.Protected_Objects.Single_Entry
System.Traceback
System.Traces
System.Traceback_Entries
System.Traces.Tasking
System.Unsigned_Types
System.Vax_Float_Operations
System.Val_Bool
System.Val_Char
System.Val_Dec
System.Val_Enum
System.Val_Int
System.Val_LLD
System.Val_LLI
System.Val_LLU
System.Val_Real
System.Val_Uns
System.Val_Util
System.Val_WChar
System.Vectors.Boolean_Operations
System.Vectors
System.Version_Control
System.VMS_Exception_Table
System.WCh_JIS
System.WCh_StW
System.WCh_WtS
System.Wid_Bool
System.Wid_Char
System.Wid_Enum
System.Wid_LLI
System.Wid_LLU
System.Wid_WChar
System.WWd_Char
System.WWd_Enum
System.Wwd_WChar


== See also ==


=== Wikibook ===
Ada Programming
Ada Programming/Libraries
Ada Programming/Libraries/Standard
Ada Programming/Libraries/Ada
Ada Programming/Libraries/Interfaces


=== Ada 83 Reference Manual ===
13.7: The Package System


=== Ada 95 Reference Manual ===
13.7: The Package System (Annotated)


=== Ada 2005 Reference Manual ===
13.7: The Package System (Annotated)