# Uses of Interface
java.lang.foreign.FunctionDescriptor

Packages that use FunctionDescriptor
Package
Description
java.lang.foreign
Provides low-level access to memory and functions outside the Java runtime.

## Uses of FunctionDescriptor in java.lang.foreign

Methods in java.lang.foreign that return FunctionDescriptor
Modifier and Type
Method
Description
`FunctionDescriptor`
FunctionDescriptor.`appendArgumentLayouts(MemoryLayout... addedLayouts)`
Returns a function descriptor with the given argument layouts appended to the argument layouts of this function descriptor.
`FunctionDescriptor`
FunctionDescriptor.`changeReturnLayout(MemoryLayout newReturn)`
Returns a function descriptor with the provided return layout.
`FunctionDescriptor`
FunctionDescriptor.`dropReturnLayout()`
Returns a new function descriptor, with no return layout.
`FunctionDescriptor`
FunctionDescriptor.`insertArgumentLayouts(int index, MemoryLayout... addedLayouts)`
Returns a function descriptor with the given argument layouts inserted at the given index, into the argument layout array of this function descriptor.
`static FunctionDescriptor`
FunctionDescriptor.`of(MemoryLayout resLayout, MemoryLayout... argLayouts)`
Creates a function descriptor with the given return and argument layouts.
`static FunctionDescriptor`
FunctionDescriptor.`ofVoid(MemoryLayout... argLayouts)`
Creates a function descriptor with the given argument layouts and no return layout.
Methods in java.lang.foreign with parameters of type FunctionDescriptor
Modifier and Type
Method
Description
`MethodHandle`
Linker.`downcallHandle(FunctionDescriptor function, Linker.Option... options)`
Restricted.
Creates a method handle that is used to call a foreign function with the given signature.
`MethodHandle`
Linker.`downcallHandle(MemorySegment address, FunctionDescriptor function, Linker.Option... options)`
Restricted.
Creates a method handle that is used to call a foreign function with the given signature and address.
`MemorySegment`
Linker.`upcallStub(MethodHandle target, FunctionDescriptor function, Arena arena, Linker.Option... options)`
Restricted.
Creates an upcall stub which can be passed to other foreign functions as a function pointer, associated with the given arena.