Findex(), Findex32() - index a fielded buffer
Findex(FBFR *fbfr, FLDOCC intvl)
Findex32(FBFR32 *fbfr, FLDOCC32 intvl)
The function Findex() is called explicitly to index a fielded buffer. fbfr is a pointer to a fielded buffer. The second parameter, intvl, gives the indexing interval, that is, the ideal separation of indexed fields. If this argument has value 0, then the buffer's current indexing value is used. If the current value itself is 0, the value FSTDXINTVL (defaults to 16) is used. Using an indexing value of 1 will ensure that every field in the buffer is indexed. The size of the index interval and the amount of space allocated to a buffer's index are inversely proportional: the smaller the interval, the more fields are indexed and thus the larger the amount of space used for indexing.
Findex32() is used with 32-bit FML.
A thread in a multithreaded application may issue a call to Findex() or Findex32() while running in any context state, including TPINVALIDCONTEXT.
This function returns -1 on error and sets Ferror to indicate the error condition.
Under the following conditions, Findex() fails and sets Ferror to:
The buffer does not begin on the proper boundary.
The buffer is not a fielded buffer or has not been initialized by Finit().
An ENTRY is to be added to the index but there is not enough space remaining in the buffer.
Introduction to FML Functions, Fidxused, Fidxused32(3fml), Frstrindex, Frstrindex32(3fml), Funindex, Funindex32(3fml)
Copyright © 2000 BEA Systems, Inc. All rights reserved.