Logo Search packages:      
Sourcecode: hamlib version File versions

int HAMLIB_API rig_get_mem_all ( RIG rig,
channel_t  chans[],
const struct confparams  cfgps[],
value_t  vals[] 
)

get all channel and non-channel data

Parameters:
rig The rig handle
chans Array of channels where to store the data
cfgps Array of config parameters to retrieve
vals Array of values where to store the data
Retrieves the data associated with all the memory channels, and rigs memory parameters. This is the prefered method to support clonable rigs.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rig_get_mem_all(), rig_set_mem_all_cb()
Todo:
finish coding and testing of mem_all functions

Definition at line 1129 of file mem.c.

References caps, rig_caps::get_mem_all_cb, RIG_EINVAL, rig_get_chan_all(), and RIG_OK.

{
      struct rig_caps *rc;
      int retval;
      struct map_all_s mem_all_arg;

      if (CHECK_RIG_ARG(rig) || !chans || !cfgps || !vals)
            return -RIG_EINVAL;

      rc = rig->caps;
      mem_all_arg.chans = chans;
      mem_all_arg.cfgps = cfgps;
      mem_all_arg.vals = vals;

      if (rc->get_mem_all_cb)
            return rc->get_mem_all_cb(rig, map_chan, map_parm,
                        (rig_ptr_t)&mem_all_arg);

      /*
       * if not available, emulate it
       *
       * TODO: save_current_state, restore_current_state
       */
      retval = rig_get_chan_all (rig, chans);
      if (retval != RIG_OK)
            return retval;

      retval = get_parm_all_cb_generic (rig, map_parm, (rig_ptr_t)cfgps,
                  (rig_ptr_t)vals);

      return retval;
}


Generated by  Doxygen 1.6.0   Back to index