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.