Logo Search packages:      
Sourcecode: hamlib version File versions  Download package

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:
rigThe rig handle
chansArray of channels where to store the data
cfgpsArray of config parameters to retrieve
valsArray 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 1168 of file mem.c.

References caps, 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;
}

Here is the call graph for this function:


Generated by  Doxygen 1.6.0   Back to index