gtpc2m94 | C/C++ Language Support User's Guide |
This function removes a record from the record hold table.
Format
#include <tpfio.h>
void unfrc(enum t_lvl level);
- level
- One of 16 possible values representing a valid data level from the
enumeration type t_lvl, expressed as Dx, where x
represents the hexadecimal number of the level (0-F). This
argument identifies the FARW containing the file address of the record to be
removed from the record hold table.
Normal Return
Void.
Error Return
Not applicable.
Programming Considerations
- The record address residing on the FARW specified by argument
level must have been placed in the record hold table by the calling
ECB. Control is transferred to the system error routine (with exit) if
the address is not in the RHT, or the record hold table refers to a different
ECB.
- When the file address returns from the unfrc call, it appears
to be unheld from the point of view of the program. For requests from
outside the commit scope, the file address still appears to be held.
When the commit is completed successfully, the file address will be unheld and
any waiting requests will be serviced.
Examples
The following example finds (with hold) an application message block on
level 6 and then removes the address from the record hold table.
#include <tpfio.h>
#include <c$am0sg.h>
struct am0sg *prime, *chain; /* Pointers to message blocks */
·
·
·
prime = ecbptr()->ce1cr1; /* Base prime message block */
/* and read 1st chain w/hold */
chain = find_record(D6,(unsigned int *)&(prime->am0fch),"OM",'\0',HOLD);
unfrc(D6); /* Now remove chain address from
the record hold table. */
Related Information