code: def as_download(self, data, block_num=-1):
          
          size = len(data)
          type_ = c_byte * len(data)
          cdata = type_.from_buffer_copy(data)
          return self.library.Cli_AsDownload(self.pointer, block_num,
                                             byref(cdata), size)
docs: Downloads a DB data into the AG asynchronously.
          A whole block (including header and footer) must be available into the
          user buffer.
  
          :param block_num: New Block number (or -1)
          :param data: the user buffer