parameters: (self, source, pc=0)
docstring: Obtain multiple instructions from an input source.
  
          This is like get_instruction() except it is a generator for all
          instructions within the source. It starts at the beginning of the
          source and reads instructions until no more can be read.
  
          This generator returns 3-tuple of:
  
            long address of instruction.
            long size of instruction, in bytes.
            str representation of instruction.
docstring_summary: Obtain multiple instructions from an input source.
docstring_tokens: Obtain multiple instructions from an input source .
function: def get_instructions(self, source, pc=0):
          """Obtain multiple instructions from an input source.
  
          This is like get_instruction() except it is a generator for all
          instructions within the source. It starts at the beginning of the
          source and reads instructions until no more can be read.
  
          This generator returns 3-tuple of:
  
            long address of instruction.
            long size of instruction, in bytes.
            str representation of instruction.
          """
          source_bytes = c_char_p(source)
          out_str = cast((c_byte * 255)(), c_char_p)
  
          # This could probably be written cleaner. But, it does work.
          buf = cast(source_bytes, POINTER(c_ubyte * len(source))).contents
          offset = 0
          address = pc
          end_address = pc + len(source)
          while address < end_address:
              b = cast(addressof(buf) + offset, POINTER(c_ubyte))
              result = lib.LLVMDisasmInstruction(self, b,
                      c_uint64(len(source) - offset), c_uint64(address),
                      out_str, 255)
  
              if result == 0:
                  break
  
              yield (address, result, out_str.value)
  
              address += result
              offset += result
function_tokens: def get_instructions ( self , source , pc = 0 ) : source_bytes = c_char_p ( source ) out_str = cast ( ( c_byte * 255 ) ( ) , c_char_p ) # This could probably be written cleaner. But, it does work. buf = cast ( source_bytes , POINTER ( c_ubyte * len ( source ) ) ) . contents offset = 0 address = pc end_address = pc + len ( source ) while address < end_address : b = cast ( addressof ( buf ) + offset , POINTER ( c_ubyte ) ) result = lib . LLVMDisasmInstruction ( self , b , c_uint64 ( len ( source ) - offset ) , c_uint64 ( address ) , out_str , 255 ) if result == 0 : break yield ( address , result , out_str . value ) address += result offset += result