コード例 #1
0
ファイル: autoxflate-sd.c プロジェクト: AlD/bareos
static bRC setup_record_translation(void *value)
{
   DCR *dcr;

   /*
    * Unpack the arguments passed in.
    */
   dcr = (DCR *)value;
   if (!dcr) {
      return bRC_Error;
   }

   /*
    * Setup auto deflation/inflation of streams when enabled for this device.
    */
   switch (dcr->autodeflate) {
   case IO_DIRECTION_OUT:
   case IO_DIRECTION_INOUT:
      if (!setup_auto_deflation(dcr)) {
         return bRC_Error;
      }
      break;
   default:
      break;
   }

   switch (dcr->autoinflate) {
   case IO_DIRECTION_OUT:
   case IO_DIRECTION_INOUT:
      if (!setup_auto_inflation(dcr)) {
         return bRC_Error;
      }
      break;
   default:
      break;
   }

   return bRC_OK;
}
コード例 #2
0
ファイル: autoxflate-sd.c プロジェクト: debfx/bareos
static bRC setup_record_translation(bpContext *ctx, void *value)
{
   DCR *dcr;
   bool did_setup = false;
   const char *inflate_in = SETTING_UNSET;
   const char *inflate_out = SETTING_UNSET;
   const char *deflate_in = SETTING_UNSET;
   const char *deflate_out = SETTING_UNSET;

   /*
    * Unpack the arguments passed in.
    */
   dcr = (DCR *)value;
   if (!dcr) {
      return bRC_Error;
   }

   /*
    * Give jobmessage info what is configured
    */
   switch (dcr->autodeflate) {
   case IO_DIRECTION_NONE:
      deflate_in = SETTING_NO;
      deflate_out = SETTING_NO;
      break;
   case IO_DIRECTION_IN:
      deflate_in = SETTING_YES;
      deflate_out = SETTING_NO;
      break;
   case IO_DIRECTION_OUT:
      deflate_in = SETTING_NO;
      deflate_out = SETTING_YES;
      break;
   case IO_DIRECTION_INOUT:
      deflate_in = SETTING_YES;
      deflate_out = SETTING_YES;
      break;
   default:
      Jmsg(ctx, M_ERROR, _("Unexpected autodeflate setting on %s"), dcr->dev_name);
      break;
   }

   switch (dcr->autoinflate) {
   case IO_DIRECTION_NONE:
      inflate_in = SETTING_NO;
      inflate_out = SETTING_NO;
      break;
   case IO_DIRECTION_IN:
      inflate_in = SETTING_YES;
      inflate_out = SETTING_NO;
      break;
   case IO_DIRECTION_OUT:
      inflate_in = SETTING_NO;
      inflate_out = SETTING_YES;
      break;
   case IO_DIRECTION_INOUT:
      inflate_in = SETTING_YES;
      inflate_out = SETTING_YES;
      break;
   default:
      Jmsg(ctx, M_ERROR, _("Unexpected autoinflate setting on %s"), dcr->dev_name);
      break;
   }

   /*
    * Setup auto deflation/inflation of streams when enabled for this device.
    */
   switch (dcr->autodeflate) {
   case IO_DIRECTION_NONE:
      break;
   case IO_DIRECTION_OUT:
   case IO_DIRECTION_INOUT:
      if (!setup_auto_deflation(ctx, dcr)) {
         return bRC_Error;
      }
      did_setup = true;
      break;
   default:
      break;
   }

   switch (dcr->autoinflate) {
   case IO_DIRECTION_NONE:
      break;
   case IO_DIRECTION_OUT:
   case IO_DIRECTION_INOUT:
      if (!setup_auto_inflation(ctx, dcr)) {
         return bRC_Error;
      }
      did_setup = true;
      break;
   default:
      break;
   }

   if (did_setup) {
      Jmsg(ctx, M_INFO,
            _("autoxflate-sd.c: %s OUT:[SD->inflate=%s->deflate=%s->DEV] IN:[DEV->inflate=%s->deflate=%s->SD]\n"),
           dcr->dev_name, inflate_out, deflate_out, inflate_in, deflate_in);
   }

   return bRC_OK;
}