src/stored/fd_cmds.c
static bool read_data_cmd(JCR *jcr)
{
   BSOCK *fd = jcr->file_bsock;

   Dmsg1(120, "Read data: %s", fd->msg);
   if (jcr->session_opened) {
      Dmsg1(120, "<bfiled: %s", fd->msg);
      return do_read_data(jcr);
   } else {
      pm_strcpy(jcr->errmsg, _("Attempt to read on non-open session.\n"));
      fd->fsend(NOT_opened);
      return false;
   }
}
/*
 *   Read Data command
 *     Open Data Channel, read the data from
 *     the archive device and send to File
 *     daemon.
 */
Read Data command
Open Data Channel, read the data from
the archive device and send to File
daemon.
Read Data command Open Data Channel read the data from the archive device and send to File daemon .
static bool read_data_cmd(JCR *jcr)
{
   BSOCK *fd = jcr->file_bsock;
   Dmsg1(120, "Read data: %s", fd->msg);
   if (jcr->session_opened) {
      Dmsg1(120, "<bfiled: %s", fd->msg);
      return do_read_data(jcr);
   } else {
      pm_strcpy(jcr->errmsg, _("Attempt to read on non-open session.\n"));
      fd->fsend(NOT_opened);
      return false;
   }
}
static bool read_data_cmd ( JCR * jcr ) { BSOCK * fd = jcr -> file_bsock ; Dmsg1 ( 120 , " " , fd -> msg ) ; if ( jcr -> session_opened ) { Dmsg1 ( 120 , " " , fd -> msg ) ; return do_read_data ( jcr ) ; } else { pm_strcpy ( jcr -> errmsg , _ ( " \n " ) ) ; fd -> fsend ( NOT_opened ) ; return false ; } }
Read Data command
     Open Data Channel, read the data from
     the archive device and send to File
     daemon.
Read Data command Open Data Channel read the data from the archive device and send to File daemon .