< Ada Programming < Libraries

Ada. Time-tested, safe and secure.
This language feature is available from Ada 95 on. Interfaces.C is a unit of the Predefined Language Environment since Ada 95.
Specification
-- Standard Ada library specification -- Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com> -- Copyright (c) 2004-2016 AXE Consultants -- Copyright (c) 2004, 2005, 2006 Ada-Europe -- Copyright (c) 2000 The MITRE Corporation, Inc. -- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc. -- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual -- -------------------------------------------------------------------------packageInterfaces.CispragmaPure(C); -- Declarations based on C's <limits.h> CHAR_BIT :constant:= implementation_defined; -- typically 8 SCHAR_MIN :constant:= implementation_defined; -- typically -128 SCHAR_MAX :constant:= implementation_defined; -- typically 127 UCHAR_MAX :constant:= implementation_defined; -- typically 255 -- Signed and Unsigned Integerstypeintisrangeimplementation_defined .. implementation_defined;typeshortisrangeimplementation_defined .. implementation_defined;typelongisrangeimplementation_defined .. implementation_defined;typesigned_charisrangeSCHAR_MIN .. SCHAR_MAX;forsigned_char'SizeuseCHAR_BIT;typeunsignedismodimplementation_defined;typeunsigned_shortismodimplementation_defined;typeunsigned_longismodimplementation_defined;typeunsigned_charismod(UCHAR_MAX+1);forunsigned_char'SizeuseCHAR_BIT;subtypeplain_charisunsigned_char; -- implementation_defined;typeptrdiff_tisrangeimplementation_defined .. implementation_defined;typesize_tismodimplementation_defined; -- Floating PointtypeC_floatisdigitsimplementation_defined;typedoubleisdigitsimplementation_defined;typelong_doubleisdigitsimplementation_defined; -- Characters and Stringstypecharis('x}}'); -- implementation_defined character type; nul :constantchar := implementation_defined;functionTo_C (Item :inCharacter)returnchar;functionTo_Ada (Item :inchar)returnCharacter;typechar_arrayisarray(size_trange<>)ofaliasedchar;pragmaPack (char_array);forchar_array'Component_SizeuseCHAR_BIT;functionIs_Nul_Terminated (Item :inchar_array)returnBoolean;functionTo_C (Item :inString; Append_Nul :inBoolean := True)returnchar_array;functionTo_Ada (Item :inchar_array; Trim_Nul :inBoolean := True)returnString;procedureTo_C (Item :inString; Target :outchar_array; Count :outsize_t; Append_Nul :inBoolean := True);procedureTo_Ada (Item :inchar_array; Target :outString; Count :outNatural; Trim_Nul :inBoolean := True); -- Wide Character and Wide Stringtypewchar_tis(' '); -- implementation_defined char type; wide_nul :constantwchar_t := implementation_defined;functionTo_C (Item :inWide_Character)returnwchar_t;functionTo_Ada (Item :inwchar_t )returnWide_Character;typewchar_arrayisarray(size_trange<>)ofaliasedwchar_t;pragmaPack (wchar_array);functionIs_Nul_Terminated (Item :inwchar_array)returnBoolean;functionTo_C (Item :inWide_String; Append_Nul :inBoolean := True)returnwchar_array;functionTo_Ada (Item :inwchar_array; Trim_Nul :inBoolean := True)returnWide_String;procedureTo_C (Item :inWide_String; Target :outwchar_array; Count :outsize_t; Append_Nul :inBoolean := True);procedureTo_Ada (Item :inwchar_array; Target :outWide_String; Count :outNatural; Trim_Nul :inBoolean := True); -- ISO/IEC 10646:2003 compatible types defined by ISO/IEC TR 19769:2004.typechar16_tis('x}}'); -- implementation_defined character type char16_nul :constantchar16_t := implementation_defined;functionTo_C (Item :inWide_Character)returnchar16_t;functionTo_Ada (Item :inchar16_t)returnWide_Character;typechar16_arrayisarray(size_trange<>)ofaliasedchar16_t;pragmaPack (char16_array);functionIs_Nul_Terminated (Item :inchar16_array)returnBoolean;functionTo_C (Item :inWide_String; Append_Nul :inBoolean := True)returnchar16_array;functionTo_Ada (Item :inchar16_array; Trim_Nul :inBoolean := True)returnWide_String;procedureTo_C (Item :inWide_String; Target :outchar16_array; Count :outsize_t; Append_Nul :inBoolean := True);procedureTo_Ada (Item :inchar16_array; Target :outWide_String; Count :outNatural; Trim_Nul :inBoolean := True);typechar32_tis('x}}'); -- implementation_defined character type char32_nul :constantchar32_t := implementation_defined;functionTo_C (Item :inWide_Wide_Character)returnchar32_t;functionTo_Ada (Item :inchar32_t)returnWide_Wide_Character;typechar32_arrayisarray(size_trange<>)ofaliasedchar32_t;pragmaPack (char32_array);functionIs_Nul_Terminated (Item :inchar32_array)returnBoolean;functionTo_C (Item :inWide_Wide_String; Append_Nul :inBoolean := True)returnchar32_array;functionTo_Ada (Item :inchar32_array; Trim_Nul :inBoolean := True)returnWide_Wide_String;procedureTo_C (Item :inWide_Wide_String; Target :outchar32_array; Count :outsize_t; Append_Nul :inBoolean := True);procedureTo_Ada (Item :inchar32_array; Target :outWide_Wide_String; Count :outNatural; Trim_Nul :inBoolean := True); Terminator_Error :exception;endInterfaces.C;
See also
Wikibook
External examples
- Search for examples of
Interfaces.Cin: Rosetta Code, GitHub or this Wikibook. - Search for any post related to
Interfaces.Cin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 95
Ada 2005
Ada 2012
Open-Source Implementations
FSF GNAT
drake
- Specification: interfaces/i-c.ads
- Body: interfaces/i-c.adb
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.