# Uses of Package
jdk.incubator.foreign

Packages that use jdk.incubator.foreign
Package
Description
jdk.incubator.foreign
Classes to support low-level and efficient foreign memory/function access, directly from Java.

- Classes in jdk.incubator.foreign used by jdk.incubator.foreign
  Class
  Description
  Addressable
  Represents a type which is addressable.
  CLinker
  A C linker implements the C Application Binary Interface (ABI) calling conventions.
  FunctionDescriptor
  A function descriptor is made up of zero or more argument layouts and zero or one return layout.
  GroupLayout
  A group layout is used to combine multiple member layouts.
  MemoryAddress
  A memory address models a reference into a memory location.
  MemoryLayout
  A memory layout can be used to describe the contents of a memory segment.
  MemoryLayout.PathElement
  Instances of this class are used to form layout paths.
  MemorySegment
  A memory segment models a contiguous region of memory.
  NativeSymbol
  A native symbol models a reference to a location (typically the entry point of a function) in a native library.
  ResourceScope
  A resource scope manages the lifecycle of one or more resources.
  SegmentAllocator
  This interface models a memory allocator.
  SequenceLayout
  A sequence layout.
  SymbolLookup
  A symbol lookup.
  VaList
  An interface that models a variable argument list, similar in functionality to a C `va_list`.
  VaList.Builder
  A builder interface used to construct a variable argument list.
  ValueLayout
  A value layout.
  ValueLayout.OfAddress
  A value layout whose carrier is `MemoryAddress.class`.
  ValueLayout.OfBoolean
  A value layout whose carrier is `boolean.class`.
  ValueLayout.OfByte
  A value layout whose carrier is `byte.class`.
  ValueLayout.OfChar
  A value layout whose carrier is `char.class`.
  ValueLayout.OfDouble
  A value layout whose carrier is `double.class`.
  ValueLayout.OfFloat
  A value layout whose carrier is `float.class`.
  ValueLayout.OfInt
  A value layout whose carrier is `int.class`.
  ValueLayout.OfLong
  A value layout whose carrier is `long.class`.
  ValueLayout.OfShort
  A value layout whose carrier is `short.class`.