Package jnr.ffi.byref
Class NumberByReference
- All Implemented Interfaces:
Serializable
,ByReference<Number>
NumberByReference is used when the address of a primitive integral value must be passed
as a parameter to a function, but the exact type is system dependent.
For example, the following C code,
extern void get_size(ssize_t *sp);
ssize_t foo(void) {
ssize_t n;
// pass a reference to 'n' so get_size() can fill it out
get_size(&n);
return n;
}
Would be declared in java as
interface Lib {
void get_size(@Out NumberByReference ap);
}
and used like this
NumberByReference size = new NumberByReference(ssize_t);
lib.get_size(size);
System.out.printf("size from lib=%d\n", size.longValue());
- See Also:
-
Field Summary
FieldsFields inherited from class jnr.ffi.byref.AbstractNumberReference
value
-
Constructor Summary
ConstructorsConstructorDescriptionNumberByReference
(TypeAlias typeAlias) NumberByReference
(TypeAlias typeAlias, Number value) -
Method Summary
Modifier and TypeMethodDescriptionvoid
fromNative
(Runtime runtime, Pointer memory, long offset) Copies the java value from native memoryint
nativeSize
(Runtime runtime) Gets the size of the native buffer required to store the valuevoid
Copies the java value to native memoryMethods inherited from class jnr.ffi.byref.AbstractNumberReference
byteValue, checkNull, doubleValue, floatValue, getValue, intValue, longValue, shortValue
-
Field Details
-
typeAlias
-
-
Constructor Details
-
NumberByReference
-
NumberByReference
-
-
Method Details
-
nativeSize
Description copied from interface:ByReference
Gets the size of the native buffer required to store the value- Parameters:
runtime
- The current runtime.- Returns:
- the size in bytes of the native type
-
fromNative
Description copied from interface:ByReference
Copies the java value from native memory- Parameters:
runtime
- The current runtime.memory
- the native memory buffer.offset
- The offset of the field.
-
toNative
Description copied from interface:ByReference
Copies the java value to native memory- Parameters:
runtime
- The current runtime.memory
- The native memory buffer.offset
- The offset of the field.
-