xlate_pro_disk_next_block(3E)
xlate_pro_disk_next_block - Gets translation byte stream pointers
As shipped in IRIX 6.5.7. Last changed in IRIX 6.5.5.
NAME xlate_pro_disk_next_block - Gets translation byte stream pointers SYNOPSIS #include <elf.h> #include <libelf.h> #include <dwarf.h> #include <libdwarf.h> #include <cmplrs/xlate.h> #include <libXlate.h> int xlate_pro_disk_next_block(xlate_table_pro pro_table_ptr, char **data, Elf64_Xword *data_size ); IMPLEMENTATION IRIX systems DESCRIPTION The xlate_pro_disk_next_block function gets pointers to the blocks making up the stream of data. The xlate functions do not write the stream to disk. Typically, the transformation-tool will use libelf to write the bytes to disk. xlate_pro_disk_next_block gets the contents and size of the next block through the following pointer arguments: pro_table_ptr Specifies a valid open producer translate table handle. xlate_pro_disk_header must have been called to create the byte stream and count the number of blocks. It is essential that if the data stream gets written to a data file (an Elf file) for later reading that the data stream be given a proper Elf d_align of 4 for a 32-bit stream and 8 for a 64-bit stream. data Specifies the pointed at memory which is set to a pointer to a set of bytes which form part of the translation table byte stream. The caller must free(3) the memory pointed to. data_size The pointed at memory is set to the number of bytes in this block of the byte stream. For an example, see xlate_pro_disk_header(3) and libelfutil(5). FILES /usr/include/libXlate.h /usr/include/cmplrs/xlate.h /usr/include/elf.h /usr/include/dwarf.h /usr/include/libdwarf.h /usr/lib/libelfutil.a THREAD SAFETY The xlate functions are thread safe. This means that if distinct xlate_table_con and xlate_table_pro handles are used in distinct threads to call xlate functions simultaneously in multiple threads, the threads will not interfere. However, using a particular xlate_table_con handle or a particular xlate_table_pro handle to call xlate functions simultaneously in multiple threads is not supported and may cause unpredictable results. DIAGNOSTICS XLATE_TB_STATUS_NO_ERROR (0) is returned on success. In case of error, a negative number is returned indicating the error. In case of error nothing is returned through the pointer arguments. The following error codes may be returned: XLATE_TB_STATUS_INVALID_TABLE table is not a valid open producer handle. XLATE_TB_STATUS_BLOCK_REQ_SEQ_ERR xlate_pro_disk_header has not been called yet, and it must be called before calling xlate_pro_disk_next_block. XLATE_TB_STATUS_ALREADY_DONE xlate_pro_disk_next_block was called more times than it should have been since the last call to xlate_pro_disk_header. XLATE_TB_STATUS_ALLOC_FAIL malloc failed trying to allocate memory for the stream bytes. SEE ALSO xlate_pro_disk_next_block(3), xlate_pro_finish(3), xlate_pro_init(3) xlate(4) libelfutil(5) This man page is available only online.