The mi_fp_setretlen() function

The mi_fp_setretlen() accessor function sets the length of a return value of a user-defined function from its associated MI_FPARAM structure.

Syntax

void mi_fp_setretlen(fparam_ptr, ret_pos, ret_len)
   MI_FPARAM *fparam_ptr;
   mi_integer ret_pos;
   mi_integer ret_len;
fparam_ptr
A pointer to the associated MI_FPARAM structure.
ret_pos
The index position into the return-length array for the return value whose length you want to set. For C user-defined functions, the only valid value is 0.
ret_len
The length, in bytes, to set for the ret_pos+1 return value.
Valid in client LIBMI application? Valid in user-defined routine?
Yes Yes

Usage

The mi_fp_setretlen() function sets the length of the function return value at position ret_pos in the MI_FPARAM structure that fparam_ptr references. The MI_FPARAM structure stores information about return-value lengths in the zero-based return-length array.

For more information about return-value information in an MI_FPARAM structure, see the HCL OneDB™ DataBlade® API Programmer's Guide.

To set information for the nth return value, use a ret_pos value of n-1. For example, the following call to mi_fp_setretlen() sets the length to 4 bytes for the first return value of the my_func() UDR, with which fparam1 is associated:
mi_integer my_func(..., fparam1)
   ...
   MI_FPARAM *fparam1;
{
   ...
   mi_fp_setretlen(fparam1, 0, 4);
Important: C user-defined functions always have only one return value.

Return values

None.