SLOG_Irec_ReserveSpace
Reserve space in the current frame for the current interval record identified by record type ID and interval record type ID.
Synopsis
int SLOG_Irec_ReserveSpace( SLOG_STREAM *slog,
const SLOG_rectype_t rectype,
const SLOG_intvltype_t intvltype,
const SLOG_bebit_t bebit_0,
const SLOG_bebit_t bebit_1,
const SLOG_starttime_t starttime )
Modified Input Variables
- slog - pointer to the SLOG_STREAM where the interval record locates.
Unmodified Input Variables
- rectype - interval record's record field which determines if the
record is a FIXED, VARIABLE or Message record, this in turns
will determine the number of association and the number of
sets of MPI call arguments or the extra space needed for Message
record.
- intvltype - interval record's interval type field.
- bebit_0 - interval record's first bebit.
- bebit_1 - interval record's second bebit.
- starttime - interval record's start time, used to check if the interval
follows the time order rule set by
SLOG_SetIncreasingEndtimeOrder() or
SLOG_SetIncreasingStarttimeOrder(). The checking is only
done when user turns on the corresponding compiler
flag. If not, this input variable will not be used.
Modified Output Variables
- returned value - integer return status.
Usage Notes on this subroutine
*** IMPORTANT ***, this routine is totally optional.
User doesn't have to use this routine to use the API.
And this routine can only be called when the completed
interval records are arranged in increasing endtime order.
The subroutine allocates space in the current frame for the
interval record. Typically, the routine is called when user
knows only __start_event__ of an interval record without the
knowledge of the __end_event__. So the routine must be
called before calling SLOG_Irec_ToOutputStream(). For completed
interval records which are arranged in increasing endtime stamp
order, each interval record may be called with
SLOG_Irec_ReserveSpace() first when the time of the corresponding
__start_event__ is known and called with SLOG_Irec_ToOutputStream()
when the time of the corresponding __end_event__ is known. Also
the routine will check if the starttime supplied is called in
increasing time order which is a sufficient condition to guarantee
that space reservation for every pseudo record in each frame.
Include File Needed
slog.h
Notes on SLOG return status code
There are 5 allowed SLOG returned status codes. They include
SLOG_SUCCESS, SLOG_FAIL and SLOG_EOF. Their actual values
are defined in slog.h
SLOG_SUCCESS is returned when no error is encountered.
SLOG_FAIL is returned when error is encounted.
SLOG_EOF is returned when End of file is encounted.
There are also SLOG_TRUE and SLOG_FALSE which are sued as boolean
values, in particular they are used in boolean functions which
are usually named as IsXXXXX(), AreXXXXX() and HasXXXXX().
Location:../src/slog_irec_write.c