DragonFly On-Line Manual Pages
MPE_Log_pack(4) MPE MPE_Log_pack(4)
MPE_Log_pack - pack the informational data into the byte buffer to be
stored in a infomational event. The routine will byteswap the data if
it is invoked on a small endian machine.
int MPE_Log_pack( MPE_LOG_BYTES bytebuf, int *position,
char tokentype, int count, const void *data )
- output byte buffer which is of sizeof(MPE_LOG_BYTES), i.e. 32
bytes. For C, bytebuf could be of type MPE_LOG_BYTES. For
Fortran, bytebuf could be of type 'character*32'.
- an offset measured from the beginning of the bytebuf. On
input, data will be written to the offset position. On Output,
position will be updated to reflect the next available position
in the byte buffer.
- a character token type indicator, currently supported tokens
are 's', 'h', 'd', 'l', 'x', 'X', 'e' and 'E'.
count - the number of continuous storage units as indicated by
data - pointer to the beginning of the storage units being copied.
NOTES ON STORAGE FORMAT CONTROL SUPPORT
The format control string is printf like, e.g. "Comment = %s". All the
MPE %-token storage support is provided by SLOG-2. That is whatever
supported by SLOG-2 will be supported by MPE. Currently, the following
%s : variable length string, byte buffer size is length of string + 2.
%h : 2-byte integer, printed as decimal integer, byte buffer size is 2.
%d : 4-byte integer, printed as decimal integer, byte buffer size is 4.
%l : 8-byte integer, printed as decimal integer, byte buffer size is 8.
%x : 4-byte integer, printed as hexadecimal integer, byte buffer size
%X : 8-byte integer, printed as hexadecimal integer, byte buffer size
%e : 4-byte float, printed as decimal float, byte buffer size is 4.
%E : 8-byte float, printed as decimal float, byte buffer size is 8.