diff --git a/perl/Changes b/perl/Changes deleted file mode 100644 index 7b8379688..000000000 --- a/perl/Changes +++ /dev/null @@ -1,6 +0,0 @@ -Revision history for Perl extension Hamlib. - -0.01 Sat Feb 9 22:12:07 2002 - - original version; created by h2xs 1.21 with options - -Oax -n Hamlib -p rig_ -o '^[R]IG \*$' -F -I../../include rig.h - diff --git a/perl/Hamlib.pm b/perl/Hamlib.pm deleted file mode 100644 index be6379b1f..000000000 --- a/perl/Hamlib.pm +++ /dev/null @@ -1,715 +0,0 @@ -package Hamlib; - -# Copyright 2002 Stephane Fillod. See accompanying README file for -# usage information - -use 5.006; -use strict; -use warnings; -use Errno; -use Carp; - -require Exporter; -require DynaLoader; -use AutoLoader; -#use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD); -our $VERSION = '0.02'; - -our @ISA = qw(Exporter DynaLoader); - -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. - -# This allows declaration use Hamlib ':all'; -# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK -# will save memory. -our %EXPORT_TAGS = ( 'ann' => [ qw( - RIG_ANN_ALL - RIG_ANN_FREQ - RIG_ANN_NONE - RIG_ANN_OFF - RIG_ANN_RXMODE - ) ] , - 'conf' => [ qw( - RIG_CONF_CHECKBUTTON - RIG_CONF_COMBO - RIG_CONF_NUMERIC - RIG_CONF_STRING - ) ] , - 'err_code' => [ qw( - RIG_OK - RIG_ECONF - RIG_EINTERNAL - RIG_EINVAL - RIG_EIO - RIG_ENAVAIL - RIG_ENIMPL - RIG_ENOMEM - RIG_ENTARGET - RIG_EPROTO - RIG_ERJCTED - RIG_ETIMEOUT - RIG_ETRUNC - ) ] , - 'flag' => [ qw( - RIG_FLAG_APRS - RIG_FLAG_COMPUTER - RIG_FLAG_DXCLUSTER - RIG_FLAG_HANDHELD - RIG_FLAG_MOBILE - RIG_FLAG_RECEIVER - RIG_FLAG_SCANNER - RIG_FLAG_TNC - RIG_FLAG_TRANSCEIVER - RIG_FLAG_TRANSMITTER - RIG_FLAG_TRUNKING - ) ] , - 'func' => [ qw( - RIG_FUNC_ABM - RIG_FUNC_AIP - RIG_FUNC_ANF - RIG_FUNC_APF - RIG_FUNC_ARO - RIG_FUNC_BC - RIG_FUNC_COMP - RIG_FUNC_FAGC - RIG_FUNC_FBKIN - RIG_FUNC_LMP - RIG_FUNC_LOCK - RIG_FUNC_MBC - RIG_FUNC_MN - RIG_FUNC_MON - RIG_FUNC_MUTE - RIG_FUNC_NB - RIG_FUNC_NONE - RIG_FUNC_NR - RIG_FUNC_REV - RIG_FUNC_RNF - RIG_FUNC_SBKIN - RIG_FUNC_SQL - RIG_FUNC_TONE - RIG_FUNC_TSQL - RIG_FUNC_VOX - RIG_FUNC_VSC - ) ] , - 'itu_region' => [ qw( - RIG_ITU_REGION1 - RIG_ITU_REGION2 - RIG_ITU_REGION3 - ) ] , - 'level' => [ qw( - RIG_LEVEL_AF - RIG_LEVEL_AGC - RIG_LEVEL_ALC - RIG_LEVEL_APF - RIG_LEVEL_ATT - RIG_LEVEL_BALANCE - RIG_LEVEL_BKINDL - RIG_LEVEL_COMP - RIG_LEVEL_CWPITCH - RIG_LEVEL_FLOAT_LIST - RIG_LEVEL_IF - RIG_LEVEL_KEYSPD - RIG_LEVEL_METER - RIG_LEVEL_MICGAIN - RIG_LEVEL_NONE - RIG_LEVEL_NOTCHF - RIG_LEVEL_NR - RIG_LEVEL_PBT_IN - RIG_LEVEL_PBT_OUT - RIG_LEVEL_PREAMP - RIG_LEVEL_READONLY_LIST - RIG_LEVEL_RF - RIG_LEVEL_RFPOWER - RIG_LEVEL_SQL - RIG_LEVEL_SQLSTAT - RIG_LEVEL_STRENGTH - RIG_LEVEL_SWR - RIG_LEVEL_VOX - ) ] , - 'mode' => [ qw( - RIG_MODE_AM - RIG_MODE_CW - RIG_MODE_FM - RIG_MODE_LSB - RIG_MODE_NONE - RIG_MODE_RTTY - RIG_MODE_SSB - RIG_MODE_USB - RIG_MODE_WFM - ) ] , - 'vfo_op' => [ qw( - RIG_OP_BAND_DOWN - RIG_OP_BAND_UP - RIG_OP_CPY - RIG_OP_DOWN - RIG_OP_FROM_VFO - RIG_OP_LEFT - RIG_OP_MCL - RIG_OP_NONE - RIG_OP_RIGHT - RIG_OP_TO_VFO - RIG_OP_UP - RIG_OP_XCHG - ) ] , - 'parm' => [ qw( - RIG_PARM_ANN - RIG_PARM_APO - RIG_PARM_BACKLIGHT - RIG_PARM_BAT - RIG_PARM_BEEP - RIG_PARM_FLOAT_LIST - RIG_PARM_NONE - RIG_PARM_READONLY_LIST - RIG_PARM_TIME - ) ] , - 'scan' => [ qw( - RIG_SCAN_DELTA - RIG_SCAN_MEM - RIG_SCAN_NONE - RIG_SCAN_PRIO - RIG_SCAN_PROG - RIG_SCAN_SLCT - RIG_SCAN_STOP - ) ] , - 'trn' => [ qw( - RIG_TRN_OFF - RIG_TRN_POLL - RIG_TRN_RIG - ) ] , - 'type' => [ qw( - RIG_TYPE_COMPUTER - RIG_TYPE_HANDHELD - RIG_TYPE_MASK - RIG_TYPE_MOBILE - RIG_TYPE_OTHER - RIG_TYPE_PCRECEIVER - RIG_TYPE_RECEIVER - RIG_TYPE_SCANNER - RIG_TYPE_TRANSCEIVER - RIG_TYPE_TRUNKSCANNER - ) ] , - 'vfo' => [ qw( - RIG_VFO1 - RIG_VFO2 - RIG_VFO_A - RIG_VFO_ALL - RIG_VFO_B - RIG_VFO_C - RIG_VFO_CURR - RIG_VFO_MAIN - RIG_VFO_MEM - RIG_VFO_NONE - RIG_VFO_SUB - RIG_VFO_VFO -) ] ); - -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'vfo'} } ); - -our @EXPORT = qw( - RIG_ANN_ALL - RIG_ANN_FREQ - RIG_ANN_NONE - RIG_ANN_OFF - RIG_ANN_RXMODE - RIG_CONF_CHECKBUTTON - RIG_CONF_COMBO - RIG_CONF_NUMERIC - RIG_CONF_STRING - RIG_OK - RIG_ECONF - RIG_EINTERNAL - RIG_EINVAL - RIG_EIO - RIG_ENAVAIL - RIG_ENIMPL - RIG_ENOMEM - RIG_ENTARGET - RIG_EPROTO - RIG_ERJCTED - RIG_ETIMEOUT - RIG_ETRUNC - RIG_FLAG_APRS - RIG_FLAG_COMPUTER - RIG_FLAG_DXCLUSTER - RIG_FLAG_HANDHELD - RIG_FLAG_MOBILE - RIG_FLAG_RECEIVER - RIG_FLAG_SCANNER - RIG_FLAG_TNC - RIG_FLAG_TRANSCEIVER - RIG_FLAG_TRANSMITTER - RIG_FLAG_TRUNKING - RIG_FREQ_NONE - RIG_FUNC_ABM - RIG_FUNC_AIP - RIG_FUNC_ANF - RIG_FUNC_APF - RIG_FUNC_ARO - RIG_FUNC_BC - RIG_FUNC_COMP - RIG_FUNC_FAGC - RIG_FUNC_FBKIN - RIG_FUNC_LMP - RIG_FUNC_LOCK - RIG_FUNC_MBC - RIG_FUNC_MN - RIG_FUNC_MON - RIG_FUNC_MUTE - RIG_FUNC_NB - RIG_FUNC_NONE - RIG_FUNC_NR - RIG_FUNC_REV - RIG_FUNC_RNF - RIG_FUNC_SBKIN - RIG_FUNC_SQL - RIG_FUNC_TONE - RIG_FUNC_TSQL - RIG_FUNC_VOX - RIG_FUNC_VSC - RIG_ITU_REGION1 - RIG_ITU_REGION2 - RIG_ITU_REGION3 - RIG_LEVEL_AF - RIG_LEVEL_AGC - RIG_LEVEL_ALC - RIG_LEVEL_APF - RIG_LEVEL_ATT - RIG_LEVEL_BALANCE - RIG_LEVEL_BKINDL - RIG_LEVEL_COMP - RIG_LEVEL_CWPITCH - RIG_LEVEL_FLOAT_LIST - RIG_LEVEL_IF - RIG_LEVEL_KEYSPD - RIG_LEVEL_METER - RIG_LEVEL_MICGAIN - RIG_LEVEL_NONE - RIG_LEVEL_NOTCHF - RIG_LEVEL_NR - RIG_LEVEL_PBT_IN - RIG_LEVEL_PBT_OUT - RIG_LEVEL_PREAMP - RIG_LEVEL_READONLY_LIST - RIG_LEVEL_RF - RIG_LEVEL_RFPOWER - RIG_LEVEL_SQL - RIG_LEVEL_SQLSTAT - RIG_LEVEL_STRENGTH - RIG_LEVEL_SWR - RIG_LEVEL_VOX - RIG_MODE_AM - RIG_MODE_CW - RIG_MODE_FM - RIG_MODE_LSB - RIG_MODE_NONE - RIG_MODE_RTTY - RIG_MODE_SSB - RIG_MODE_USB - RIG_MODE_WFM - RIG_OP_BAND_DOWN - RIG_OP_BAND_UP - RIG_OP_CPY - RIG_OP_DOWN - RIG_OP_FROM_VFO - RIG_OP_LEFT - RIG_OP_MCL - RIG_OP_NONE - RIG_OP_RIGHT - RIG_OP_TO_VFO - RIG_OP_UP - RIG_OP_XCHG - RIG_PARM_ANN - RIG_PARM_APO - RIG_PARM_BACKLIGHT - RIG_PARM_BAT - RIG_PARM_BEEP - RIG_PARM_FLOAT_LIST - RIG_PARM_NONE - RIG_PARM_READONLY_LIST - RIG_PARM_TIME - RIG_PASSBAND_NORMAL - RIG_SCAN_DELTA - RIG_SCAN_MEM - RIG_SCAN_NONE - RIG_SCAN_PRIO - RIG_SCAN_PROG - RIG_SCAN_SLCT - RIG_SCAN_STOP - RIG_SETTING_MAX - RIG_TARGETABLE_ALL - RIG_TARGETABLE_FREQ - RIG_TARGETABLE_MODE - RIG_TARGETABLE_NONE - RIG_TRN_OFF - RIG_TRN_POLL - RIG_TRN_RIG - RIG_TYPE_COMPUTER - RIG_TYPE_HANDHELD - RIG_TYPE_MASK - RIG_TYPE_MOBILE - RIG_TYPE_OTHER - RIG_TYPE_PCRECEIVER - RIG_TYPE_RECEIVER - RIG_TYPE_SCANNER - RIG_TYPE_TRANSCEIVER - RIG_TYPE_TRUNKSCANNER - RIG_VFO_A - RIG_VFO_B - RIG_VFO_C - RIG_VFO_ALL - RIG_VFO_CURR - RIG_VFO_MAIN - RIG_VFO_MEM - RIG_VFO_NONE - RIG_VFO_SUB - RIG_VFO_VFO -); - -sub AUTOLOAD { - # This AUTOLOAD is used to 'autoload' constants from the constant() - # XS function. If a constant is not found then control is passed - # to the AUTOLOAD in AutoLoader. - - my $constname; - our $AUTOLOAD; - ($constname = $AUTOLOAD) =~ s/.*:://; - croak "& not defined" if $constname eq 'constant'; - my $val = constant($constname, @_ ? $_[0] : 0); - if ($! != 0) { - if ($!{EINVAL}) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; - goto &AutoLoader::AUTOLOAD; - } - else { - croak "Your vendor has not defined Hamlib macro $constname"; - } - } - { - no strict 'refs'; - # Fixed between 5.005_53 and 5.005_61 - if ($] >= 5.00561) { - *$AUTOLOAD = sub () { $val }; - } - else { - *$AUTOLOAD = sub { $val }; - } - } - goto &$AUTOLOAD; -} - -bootstrap Hamlib $VERSION; - -# Preloaded methods go here. - - -# Autoload methods go after =cut, and are processed by the autosplit program. - -1; -__END__ - -=head1 NAME - -Hamlib - Perl extension for Hamlib - -=head1 SYNOPSIS - - use Hamlib; - blah blah blah - -=head1 DESCRIPTION - -Stub documentation for Hamlib, created by h2xs. It looks like the -author of the extension was negligent enough to leave the stub -unedited. - -Blah blah blah. - -=head2 EXPORT - -None by default. - -=head2 Exportable constants - - CHANLSTSIZ - FILPATHLEN - FLTLSTSIZ - FRQRANGESIZ - MAXCHANDESC - MAXDBLSTSIZ - RIGNAMSIZ - RIGVERSIZ - RIG_ANN_ALL - RIG_ANN_FREQ - RIG_ANN_NONE - RIG_ANN_OFF - RIG_ANN_RXMODE - RIG_COMBO_MAX - RIG_CONF_CHECKBUTTON - RIG_CONF_COMBO - RIG_CONF_NUMERIC - RIG_CONF_STRING - RIG_CTRL_MAIN - RIG_CTRL_SUB - RIG_ECONF - RIG_EINTERNAL - RIG_EINVAL - RIG_EIO - RIG_ENAVAIL - RIG_ENIMPL - RIG_ENOMEM - RIG_ENTARGET - RIG_EPROTO - RIG_ERJCTED - RIG_ETIMEOUT - RIG_ETRUNC - RIG_FLAG_APRS - RIG_FLAG_COMPUTER - RIG_FLAG_DXCLUSTER - RIG_FLAG_HANDHELD - RIG_FLAG_MOBILE - RIG_FLAG_RECEIVER - RIG_FLAG_SCANNER - RIG_FLAG_TNC - RIG_FLAG_TRANSCEIVER - RIG_FLAG_TRANSMITTER - RIG_FLAG_TRUNKING - RIG_FREQ_NONE - RIG_FUNC_ABM - RIG_FUNC_AIP - RIG_FUNC_ANF - RIG_FUNC_APF - RIG_FUNC_ARO - RIG_FUNC_BC - RIG_FUNC_COMP - RIG_FUNC_FAGC - RIG_FUNC_FBKIN - RIG_FUNC_LMP - RIG_FUNC_LOCK - RIG_FUNC_MBC - RIG_FUNC_MN - RIG_FUNC_MON - RIG_FUNC_MUTE - RIG_FUNC_NB - RIG_FUNC_NONE - RIG_FUNC_NR - RIG_FUNC_REV - RIG_FUNC_RNF - RIG_FUNC_SBKIN - RIG_FUNC_SQL - RIG_FUNC_TONE - RIG_FUNC_TSQL - RIG_FUNC_VOX - RIG_FUNC_VSC - RIG_ITU_REGION1 - RIG_ITU_REGION2 - RIG_ITU_REGION3 - RIG_LEVEL_AF - RIG_LEVEL_AGC - RIG_LEVEL_ALC - RIG_LEVEL_APF - RIG_LEVEL_ATT - RIG_LEVEL_BALANCE - RIG_LEVEL_BKINDL - RIG_LEVEL_COMP - RIG_LEVEL_CWPITCH - RIG_LEVEL_FLOAT_LIST - RIG_LEVEL_IF - RIG_LEVEL_KEYSPD - RIG_LEVEL_METER - RIG_LEVEL_MICGAIN - RIG_LEVEL_NONE - RIG_LEVEL_NOTCHF - RIG_LEVEL_NR - RIG_LEVEL_PBT_IN - RIG_LEVEL_PBT_OUT - RIG_LEVEL_PREAMP - RIG_LEVEL_READONLY_LIST - RIG_LEVEL_RF - RIG_LEVEL_RFPOWER - RIG_LEVEL_SQL - RIG_LEVEL_SQLSTAT - RIG_LEVEL_STRENGTH - RIG_LEVEL_SWR - RIG_LEVEL_VOX - RIG_MODE_AM - RIG_MODE_CW - RIG_MODE_FM - RIG_MODE_LSB - RIG_MODE_NONE - RIG_MODE_RTTY - RIG_MODE_SSB - RIG_MODE_USB - RIG_MODE_WFM - RIG_OK - RIG_OP_BAND_DOWN - RIG_OP_BAND_UP - RIG_OP_CPY - RIG_OP_DOWN - RIG_OP_FROM_VFO - RIG_OP_LEFT - RIG_OP_MCL - RIG_OP_NONE - RIG_OP_RIGHT - RIG_OP_TO_VFO - RIG_OP_UP - RIG_OP_XCHG - RIG_PARM_ANN - RIG_PARM_APO - RIG_PARM_BACKLIGHT - RIG_PARM_BAT - RIG_PARM_BEEP - RIG_PARM_FLOAT_LIST - RIG_PARM_NONE - RIG_PARM_READONLY_LIST - RIG_PARM_TIME - RIG_PASSBAND_NORMAL - RIG_SCAN_DELTA - RIG_SCAN_MEM - RIG_SCAN_NONE - RIG_SCAN_PRIO - RIG_SCAN_PROG - RIG_SCAN_SLCT - RIG_SCAN_STOP - RIG_SETTING_MAX - RIG_TARGETABLE_ALL - RIG_TARGETABLE_FREQ - RIG_TARGETABLE_MODE - RIG_TARGETABLE_NONE - RIG_TRN_OFF - RIG_TRN_POLL - RIG_TRN_RIG - RIG_TYPE_COMPUTER - RIG_TYPE_HANDHELD - RIG_TYPE_MASK - RIG_TYPE_MOBILE - RIG_TYPE_OTHER - RIG_TYPE_PCRECEIVER - RIG_TYPE_RECEIVER - RIG_TYPE_SCANNER - RIG_TYPE_TRANSCEIVER - RIG_TYPE_TRUNKSCANNER - RIG_VFO1 - RIG_VFO2 - RIG_VFO_A - RIG_VFO_ALL - RIG_VFO_B - RIG_VFO_C - RIG_VFO_CURR - RIG_VFO_MAIN - RIG_VFO_MEM - RIG_VFO_NONE - RIG_VFO_SUB - RIG_VFO_VFO - -=head2 Exportable functions - - int rig_check_backend (rig_model_t rig_model) - int rig_cleanup (RIG *rig) - int rig_close (RIG *rig) - const struct confparams* rig_confparam_lookup (RIG *rig, const char *name) - void rig_debug (enum rig_debug_level_e debug_level, const char *fmt, ...) - int rig_get_ant (RIG *rig, vfo_t vfo, ant_t *ant) - const struct rig_caps * rig_get_caps (rig_model_t rig_model) - int rig_get_channel (RIG *rig, channel_t *chan) - int rig_get_conf (RIG *rig, token_t token, char *val) - int rig_get_ctcss_sql (RIG *rig, vfo_t vfo, tone_t *tone) - int rig_get_ctcss_tone (RIG *rig, vfo_t vfo, tone_t *tone) - int rig_get_dcd (RIG *rig, vfo_t vfo, dcd_t *dcd) - int rig_get_dcs_code (RIG *rig, vfo_t vfo, tone_t *code) - int rig_get_dcs_sql (RIG *rig, vfo_t vfo, tone_t *code) - int rig_get_freq (RIG *rig, vfo_t vfo, freq_t *freq) - int rig_get_func (RIG *rig, vfo_t vfo, setting_t func, int *status) - const char * rig_get_info (RIG *rig) - int rig_get_level (RIG *rig, vfo_t vfo, setting_t level, value_t *val) - int rig_get_mem (RIG *rig, vfo_t vfo, int *ch) - int rig_get_mode (RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) - int rig_get_parm (RIG *rig, setting_t parm, value_t *val) - int rig_get_powerstat (RIG *rig, powerstat_t *status) - int rig_get_ptt (RIG *rig, vfo_t vfo, ptt_t *ptt) - const freq_range_t * rig_get_range (const freq_range_t *range_list, freq_t freq, rmode_t mode) - shortfreq_t rig_get_resolution (RIG *rig, rmode_t mode) - int rig_get_rit (RIG *rig, vfo_t vfo, shortfreq_t *rit) - int rig_get_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs) - int rig_get_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift) - int rig_get_split (RIG *rig, vfo_t vfo, split_t *split) - int rig_get_split_freq (RIG *rig, vfo_t vfo, freq_t *tx_freq) - int rig_get_split_mode (RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width) - int rig_get_trn (RIG *rig, int *trn) - int rig_get_ts (RIG *rig, vfo_t vfo, shortfreq_t *ts) - int rig_get_vfo (RIG *rig, vfo_t *vfo) - int rig_get_xit (RIG *rig, vfo_t vfo, shortfreq_t *xit) - setting_t rig_has_get_func (RIG *rig, setting_t func) - setting_t rig_has_get_level (RIG *rig, setting_t level) - setting_t rig_has_get_parm (RIG *rig, setting_t parm) - scan_t rig_has_scan (RIG *rig, scan_t scan) - setting_t rig_has_set_func (RIG *rig, setting_t func) - setting_t rig_has_set_level (RIG *rig, setting_t level) - setting_t rig_has_set_parm (RIG *rig, setting_t parm) - vfo_op_t rig_has_vfo_op (RIG *rig, vfo_op_t op) - RIG * rig_init (rig_model_t rig_model) - int rig_list_foreach (int (*cfunc)(const struct rig_caps*, void* ), void* data) - int rig_load_all_backends () - int rig_load_backend (const char *be_name) - int rig_mW2power (RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode) - int rig_need_debug (enum rig_debug_level_e debug_level) - int rig_open (RIG *rig) - pbwidth_t rig_passband_narrow (RIG *rig, rmode_t mode) - pbwidth_t rig_passband_normal (RIG *rig, rmode_t mode) - pbwidth_t rig_passband_wide (RIG *rig, rmode_t mode) - int rig_power2mW (RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode) - rig_model_t rig_probe (port_t *p) - rig_model_t rig_probe_all (port_t *p) - int rig_recv_dtmf (RIG *rig, vfo_t vfo, char *digits, int *length) - int rig_register (const struct rig_caps *caps) - int rig_reset (RIG *rig, reset_t reset) - int rig_restore_channel (RIG *rig, const channel_t *chan) - int rig_save_channel (RIG *rig, channel_t *chan) - int rig_scan (RIG *rig, vfo_t vfo, scan_t scan, int ch) - int rig_send_dtmf (RIG *rig, vfo_t vfo, const char *digits) - int rig_send_morse (RIG *rig, vfo_t vfo, const char *msg) - int rig_set_ant (RIG *rig, vfo_t vfo, ant_t ant) - int rig_set_bank (RIG *rig, vfo_t vfo, int bank) - int rig_set_channel (RIG *rig, const channel_t *chan) - int rig_set_conf (RIG *rig, token_t token, const char *val) - int rig_set_ctcss_sql (RIG *rig, vfo_t vfo, tone_t tone) - int rig_set_ctcss_tone (RIG *rig, vfo_t vfo, tone_t tone) - int rig_set_dcs_code (RIG *rig, vfo_t vfo, tone_t code) - int rig_set_dcs_sql (RIG *rig, vfo_t vfo, tone_t code) - void rig_set_debug (enum rig_debug_level_e debug_level) - int rig_set_freq (RIG *rig, vfo_t vfo, freq_t freq) - int rig_set_func (RIG *rig, vfo_t vfo, setting_t func, int status) - int rig_set_level (RIG *rig, vfo_t vfo, setting_t level, value_t val) - int rig_set_mem (RIG *rig, vfo_t vfo, int ch) - int rig_set_mode (RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) - int rig_set_parm (RIG *rig, setting_t parm, value_t val) - int rig_set_powerstat (RIG *rig, powerstat_t status) - int rig_set_ptt (RIG *rig, vfo_t vfo, ptt_t ptt) - int rig_set_rit (RIG *rig, vfo_t vfo, shortfreq_t rit) - int rig_set_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t rptr_offs) - int rig_set_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift) - int rig_set_split (RIG *rig, vfo_t vfo, split_t split) - int rig_set_split_freq (RIG *rig, vfo_t vfo, freq_t tx_freq) - int rig_set_split_mode (RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width) - int rig_set_trn (RIG *rig, int trn) - int rig_set_ts (RIG *rig, vfo_t vfo, shortfreq_t ts) - int rig_set_vfo (RIG *rig, vfo_t vfo) - int rig_set_xit (RIG *rig, vfo_t vfo, shortfreq_t xit) - int rig_setting2idx (setting_t s) - int rig_token_foreach (RIG *rig, int (*cfunc)(const struct confparams *, void* ), void* data) - token_t rig_token_lookup (RIG *rig, const char *name) - int rig_unregister (rig_model_t rig_model) - int rig_vfo_op (RIG *rig, vfo_t vfo, vfo_op_t op) - const char * rigerror (int errnum) - - -=head1 AUTHOR - -A. U. Thor, Ea.u.thor@a.galaxy.far.far.awayE - -=head1 SEE ALSO - -L. - -=cut diff --git a/perl/Hamlib.xs b/perl/Hamlib.xs deleted file mode 100644 index 105be774e..000000000 --- a/perl/Hamlib.xs +++ /dev/null @@ -1,3510 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#include - -typedef RIG* Hamlib__Rig; - -static int -not_here(char *s) -{ - croak("%s not implemented on this architecture", s); - return -1; -} - -static double -constant_F(char *name, int len, int arg) -{ - switch (name[1 + 0]) { - case 'I': - if (strEQ(name + 1, "ILPATHLEN")) { /* F removed */ -#ifdef FILPATHLEN - return FILPATHLEN; -#else - goto not_there; -#endif - } - case 'L': - if (strEQ(name + 1, "LTLSTSIZ")) { /* F removed */ -#ifdef FLTLSTSIZ - return FLTLSTSIZ; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 1, "RQRANGESIZ")) { /* F removed */ -#ifdef FRQRANGESIZ - return FRQRANGESIZ; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant__(char *name, int len, int arg) -{ - if (1 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[1 + 1]) { - case 'B': - if (strEQ(name + 1, "_BEGIN_DECLS")) { /* _ removed */ -#ifdef __BEGIN_DECLS - return __BEGIN_DECLS; -#else - goto not_there; -#endif - } - case 'E': - if (strEQ(name + 1, "_END_DECLS")) { /* _ removed */ -#ifdef __END_DECLS - return __END_DECLS; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_OP_B(char *name, int len, int arg) -{ - if (8 + 4 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[8 + 4]) { - case 'D': - if (strEQ(name + 8, "AND_DOWN")) { /* RIG_OP_B removed */ -#ifdef RIG_OP_BAND_DOWN - return RIG_OP_BAND_DOWN; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 8, "AND_UP")) { /* RIG_OP_B removed */ -#ifdef RIG_OP_BAND_UP - return RIG_OP_BAND_UP; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_OP(char *name, int len, int arg) -{ - if (6 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 1]) { - case 'B': - if (!strnEQ(name + 6,"_", 1)) - break; - return constant_RIG_OP_B(name, len, arg); - case 'C': - if (strEQ(name + 6, "_CPY")) { /* RIG_OP removed */ -#ifdef RIG_OP_CPY - return RIG_OP_CPY; -#else - goto not_there; -#endif - } - case 'D': - if (strEQ(name + 6, "_DOWN")) { /* RIG_OP removed */ -#ifdef RIG_OP_DOWN - return RIG_OP_DOWN; -#else - goto not_there; -#endif - } - case 'F': - if (strEQ(name + 6, "_FROM_VFO")) { /* RIG_OP removed */ -#ifdef RIG_OP_FROM_VFO - return RIG_OP_FROM_VFO; -#else - goto not_there; -#endif - } - case 'L': - if (strEQ(name + 6, "_LEFT")) { /* RIG_OP removed */ -#ifdef RIG_OP_LEFT - return RIG_OP_LEFT; -#else - goto not_there; -#endif - } - case 'M': - if (strEQ(name + 6, "_MCL")) { /* RIG_OP removed */ -#ifdef RIG_OP_MCL - return RIG_OP_MCL; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 6, "_NONE")) { /* RIG_OP removed */ -#ifdef RIG_OP_NONE - return RIG_OP_NONE; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 6, "_RIGHT")) { /* RIG_OP removed */ -#ifdef RIG_OP_RIGHT - return RIG_OP_RIGHT; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 6, "_TO_VFO")) { /* RIG_OP removed */ -#ifdef RIG_OP_TO_VFO - return RIG_OP_TO_VFO; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 6, "_UP")) { /* RIG_OP removed */ -#ifdef RIG_OP_UP - return RIG_OP_UP; -#else - goto not_there; -#endif - } - case 'X': - if (strEQ(name + 6, "_XCHG")) { /* RIG_OP removed */ -#ifdef RIG_OP_XCHG - return RIG_OP_XCHG; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_O(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'K': - if (strEQ(name + 5, "K")) { /* RIG_O removed */ -#ifdef RIG_OK - return RIG_OK; -#else - goto not_there; -#endif - } - case 'P': - return constant_RIG_OP(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_PARM_A(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'N': - if (strEQ(name + 10, "NN")) { /* RIG_PARM_A removed */ -#ifdef RIG_PARM_ANN - return RIG_PARM_ANN; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 10, "PO")) { /* RIG_PARM_A removed */ -#ifdef RIG_PARM_APO - return RIG_PARM_APO; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_PARM_BA(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'C': - if (strEQ(name + 11, "CKLIGHT")) { /* RIG_PARM_BA removed */ -#ifdef RIG_PARM_BACKLIGHT - return RIG_PARM_BACKLIGHT; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 11, "T")) { /* RIG_PARM_BA removed */ -#ifdef RIG_PARM_BAT - return RIG_PARM_BAT; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_PARM_B(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'A': - return constant_RIG_PARM_BA(name, len, arg); - case 'E': - if (strEQ(name + 10, "EEP")) { /* RIG_PARM_B removed */ -#ifdef RIG_PARM_BEEP - return RIG_PARM_BEEP; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_PAR(char *name, int len, int arg) -{ - if (7 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[7 + 2]) { - case 'A': - if (!strnEQ(name + 7,"M_", 2)) - break; - return constant_RIG_PARM_A(name, len, arg); - case 'B': - if (!strnEQ(name + 7,"M_", 2)) - break; - return constant_RIG_PARM_B(name, len, arg); - case 'F': - if (strEQ(name + 7, "M_FLOAT_LIST")) { /* RIG_PAR removed */ -#ifdef RIG_PARM_FLOAT_LIST - return RIG_PARM_FLOAT_LIST; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 7, "M_NONE")) { /* RIG_PAR removed */ -#ifdef RIG_PARM_NONE - return RIG_PARM_NONE; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 7, "M_READONLY_LIST")) { /* RIG_PAR removed */ -#ifdef RIG_PARM_READONLY_LIST - return RIG_PARM_READONLY_LIST; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 7, "M_TIME")) { /* RIG_PAR removed */ -#ifdef RIG_PARM_TIME - return RIG_PARM_TIME; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_P(char *name, int len, int arg) -{ - if (5 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 1]) { - case 'R': - if (!strnEQ(name + 5,"A", 1)) - break; - return constant_RIG_PAR(name, len, arg); - case 'S': - if (strEQ(name + 5, "ASSBAND_NORMAL")) { /* RIG_P removed */ -#ifdef RIG_PASSBAND_NORMAL - return RIG_PASSBAND_NORMAL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_A(char *name, int len, int arg) -{ - if (5 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 3]) { - case 'A': - if (strEQ(name + 5, "NN_ALL")) { /* RIG_A removed */ -#ifdef RIG_ANN_ALL - return RIG_ANN_ALL; -#else - goto not_there; -#endif - } - case 'F': - if (strEQ(name + 5, "NN_FREQ")) { /* RIG_A removed */ -#ifdef RIG_ANN_FREQ - return RIG_ANN_FREQ; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 5, "NN_NONE")) { /* RIG_A removed */ -#ifdef RIG_ANN_NONE - return RIG_ANN_NONE; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 5, "NN_OFF")) { /* RIG_A removed */ -#ifdef RIG_ANN_OFF - return RIG_ANN_OFF; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 5, "NN_RXMODE")) { /* RIG_A removed */ -#ifdef RIG_ANN_RXMODE - return RIG_ANN_RXMODE; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_SCAN_P(char *name, int len, int arg) -{ - if (10 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[10 + 1]) { - case 'I': - if (strEQ(name + 10, "RIO")) { /* RIG_SCAN_P removed */ -#ifdef RIG_SCAN_PRIO - return RIG_SCAN_PRIO; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "ROG")) { /* RIG_SCAN_P removed */ -#ifdef RIG_SCAN_PROG - return RIG_SCAN_PROG; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_SCAN_S(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'L': - if (strEQ(name + 10, "LCT")) { /* RIG_SCAN_S removed */ -#ifdef RIG_SCAN_SLCT - return RIG_SCAN_SLCT; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 10, "TOP")) { /* RIG_SCAN_S removed */ -#ifdef RIG_SCAN_STOP - return RIG_SCAN_STOP; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_SC(char *name, int len, int arg) -{ - if (6 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 3]) { - case 'D': - if (strEQ(name + 6, "AN_DELTA")) { /* RIG_SC removed */ -#ifdef RIG_SCAN_DELTA - return RIG_SCAN_DELTA; -#else - goto not_there; -#endif - } - case 'M': - if (strEQ(name + 6, "AN_MEM")) { /* RIG_SC removed */ -#ifdef RIG_SCAN_MEM - return RIG_SCAN_MEM; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 6, "AN_NONE")) { /* RIG_SC removed */ -#ifdef RIG_SCAN_NONE - return RIG_SCAN_NONE; -#else - goto not_there; -#endif - } - case 'P': - if (!strnEQ(name + 6,"AN_", 3)) - break; - return constant_RIG_SCAN_P(name, len, arg); - case 'S': - if (!strnEQ(name + 6,"AN_", 3)) - break; - return constant_RIG_SCAN_S(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_S(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'C': - return constant_RIG_SC(name, len, arg); - case 'E': - if (strEQ(name + 5, "ETTING_MAX")) { /* RIG_S removed */ -#ifdef RIG_SETTING_MAX - return RIG_SETTING_MAX; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_CONF_C(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'H': - if (strEQ(name + 10, "HECKBUTTON")) { /* RIG_CONF_C removed */ -#ifdef RIG_CONF_CHECKBUTTON - return RIG_CONF_CHECKBUTTON; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "OMBO")) { /* RIG_CONF_C removed */ -#ifdef RIG_CONF_COMBO - return RIG_CONF_COMBO; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_CON(char *name, int len, int arg) -{ - if (7 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[7 + 2]) { - case 'C': - if (!strnEQ(name + 7,"F_", 2)) - break; - return constant_RIG_CONF_C(name, len, arg); - case 'N': - if (strEQ(name + 7, "F_NUMERIC")) { /* RIG_CON removed */ -#ifdef RIG_CONF_NUMERIC - return RIG_CONF_NUMERIC; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 7, "F_STRING")) { /* RIG_CON removed */ -#ifdef RIG_CONF_STRING - return RIG_CONF_STRING; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_CO(char *name, int len, int arg) -{ - switch (name[6 + 0]) { - case 'M': - if (strEQ(name + 6, "MBO_MAX")) { /* RIG_CO removed */ -#ifdef RIG_COMBO_MAX - return RIG_COMBO_MAX; -#else - goto not_there; -#endif - } - case 'N': - return constant_RIG_CON(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_CT(char *name, int len, int arg) -{ - if (6 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 3]) { - case 'M': - if (strEQ(name + 6, "RL_MAIN")) { /* RIG_CT removed */ -#ifdef RIG_CTRL_MAIN - return RIG_CTRL_MAIN; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 6, "RL_SUB")) { /* RIG_CT removed */ -#ifdef RIG_CTRL_SUB - return RIG_CTRL_SUB; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_C(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'O': - return constant_RIG_CO(name, len, arg); - case 'T': - return constant_RIG_CT(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_TYPE_T(char *name, int len, int arg) -{ - if (10 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[10 + 1]) { - case 'A': - if (strEQ(name + 10, "RANSCEIVER")) { /* RIG_TYPE_T removed */ -#ifdef RIG_TYPE_TRANSCEIVER - return RIG_TYPE_TRANSCEIVER; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 10, "RUNKSCANNER")) { /* RIG_TYPE_T removed */ -#ifdef RIG_TYPE_TRUNKSCANNER - return RIG_TYPE_TRUNKSCANNER; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_TYPE_M(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'A': - if (strEQ(name + 10, "ASK")) { /* RIG_TYPE_M removed */ -#ifdef RIG_TYPE_MASK - return RIG_TYPE_MASK; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "OBILE")) { /* RIG_TYPE_M removed */ -#ifdef RIG_TYPE_MOBILE - return RIG_TYPE_MOBILE; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_TY(char *name, int len, int arg) -{ - if (6 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 3]) { - case 'C': - if (strEQ(name + 6, "PE_COMPUTER")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_COMPUTER - return RIG_TYPE_COMPUTER; -#else - goto not_there; -#endif - } - case 'H': - if (strEQ(name + 6, "PE_HANDHELD")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_HANDHELD - return RIG_TYPE_HANDHELD; -#else - goto not_there; -#endif - } - case 'M': - if (!strnEQ(name + 6,"PE_", 3)) - break; - return constant_RIG_TYPE_M(name, len, arg); - case 'O': - if (strEQ(name + 6, "PE_OTHER")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_OTHER - return RIG_TYPE_OTHER; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 6, "PE_PCRECEIVER")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_PCRECEIVER - return RIG_TYPE_PCRECEIVER; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 6, "PE_RECEIVER")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_RECEIVER - return RIG_TYPE_RECEIVER; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 6, "PE_SCANNER")) { /* RIG_TY removed */ -#ifdef RIG_TYPE_SCANNER - return RIG_TYPE_SCANNER; -#else - goto not_there; -#endif - } - case 'T': - if (!strnEQ(name + 6,"PE_", 3)) - break; - return constant_RIG_TYPE_T(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_TA(char *name, int len, int arg) -{ - if (6 + 9 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 9]) { - case 'A': - if (strEQ(name + 6, "RGETABLE_ALL")) { /* RIG_TA removed */ -#ifdef RIG_TARGETABLE_ALL - return RIG_TARGETABLE_ALL; -#else - goto not_there; -#endif - } - case 'F': - if (strEQ(name + 6, "RGETABLE_FREQ")) { /* RIG_TA removed */ -#ifdef RIG_TARGETABLE_FREQ - return RIG_TARGETABLE_FREQ; -#else - goto not_there; -#endif - } - case 'M': - if (strEQ(name + 6, "RGETABLE_MODE")) { /* RIG_TA removed */ -#ifdef RIG_TARGETABLE_MODE - return RIG_TARGETABLE_MODE; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 6, "RGETABLE_NONE")) { /* RIG_TA removed */ -#ifdef RIG_TARGETABLE_NONE - return RIG_TARGETABLE_NONE; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_TR(char *name, int len, int arg) -{ - if (6 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 2]) { - case 'O': - if (strEQ(name + 6, "N_OFF")) { /* RIG_TR removed */ -#ifdef RIG_TRN_OFF - return RIG_TRN_OFF; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 6, "N_POLL")) { /* RIG_TR removed */ -#ifdef RIG_TRN_POLL - return RIG_TRN_POLL; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 6, "N_RIG")) { /* RIG_TR removed */ -#ifdef RIG_TRN_RIG - return RIG_TRN_RIG; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_T(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'A': - return constant_RIG_TA(name, len, arg); - case 'R': - return constant_RIG_TR(name, len, arg); - case 'Y': - return constant_RIG_TY(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_EN(char *name, int len, int arg) -{ - switch (name[6 + 0]) { - case 'A': - if (strEQ(name + 6, "AVAIL")) { /* RIG_EN removed */ -#ifdef RIG_ENAVAIL - return RIG_ENAVAIL; -#else - goto not_there; -#endif - } - case 'I': - if (strEQ(name + 6, "IMPL")) { /* RIG_EN removed */ -#ifdef RIG_ENIMPL - return RIG_ENIMPL; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 6, "OMEM")) { /* RIG_EN removed */ -#ifdef RIG_ENOMEM - return RIG_ENOMEM; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 6, "TARGET")) { /* RIG_EN removed */ -#ifdef RIG_ENTARGET - return RIG_ENTARGET; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_EIN(char *name, int len, int arg) -{ - switch (name[7 + 0]) { - case 'T': - if (strEQ(name + 7, "TERNAL")) { /* RIG_EIN removed */ -#ifdef RIG_EINTERNAL - return RIG_EINTERNAL; -#else - goto not_there; -#endif - } - case 'V': - if (strEQ(name + 7, "VAL")) { /* RIG_EIN removed */ -#ifdef RIG_EINVAL - return RIG_EINVAL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_EI(char *name, int len, int arg) -{ - switch (name[6 + 0]) { - case 'N': - return constant_RIG_EIN(name, len, arg); - case 'O': - if (strEQ(name + 6, "O")) { /* RIG_EI removed */ -#ifdef RIG_EIO - return RIG_EIO; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_ET(char *name, int len, int arg) -{ - switch (name[6 + 0]) { - case 'I': - if (strEQ(name + 6, "IMEOUT")) { /* RIG_ET removed */ -#ifdef RIG_ETIMEOUT - return RIG_ETIMEOUT; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 6, "RUNC")) { /* RIG_ET removed */ -#ifdef RIG_ETRUNC - return RIG_ETRUNC; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_E(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'C': - if (strEQ(name + 5, "CONF")) { /* RIG_E removed */ -#ifdef RIG_ECONF - return RIG_ECONF; -#else - goto not_there; -#endif - } - case 'I': - return constant_RIG_EI(name, len, arg); - case 'N': - return constant_RIG_EN(name, len, arg); - case 'P': - if (strEQ(name + 5, "PROTO")) { /* RIG_E removed */ -#ifdef RIG_EPROTO - return RIG_EPROTO; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 5, "RJCTED")) { /* RIG_E removed */ -#ifdef RIG_ERJCTED - return RIG_ERJCTED; -#else - goto not_there; -#endif - } - case 'T': - return constant_RIG_ET(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_VFO_A(char *name, int len, int arg) -{ - switch (name[9 + 0]) { - case '\0': - if (strEQ(name + 9, "")) { /* RIG_VFO_A removed */ -#ifdef RIG_VFO_A - return RIG_VFO_A; -#else - goto not_there; -#endif - } - case 'L': - if (strEQ(name + 9, "LL")) { /* RIG_VFO_A removed */ -#ifdef RIG_VFO_ALL - return RIG_VFO_ALL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_VFO_C(char *name, int len, int arg) -{ - switch (name[9 + 0]) { - case '\0': - if (strEQ(name + 9, "")) { /* RIG_VFO_C removed */ -#ifdef RIG_VFO_C - return RIG_VFO_C; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 9, "URR")) { /* RIG_VFO_C removed */ -#ifdef RIG_VFO_CURR - return RIG_VFO_CURR; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_VFO_M(char *name, int len, int arg) -{ - switch (name[9 + 0]) { - case 'A': - if (strEQ(name + 9, "AIN")) { /* RIG_VFO_M removed */ -#ifdef RIG_VFO_MAIN - return RIG_VFO_MAIN; -#else - goto not_there; -#endif - } - case 'E': - if (strEQ(name + 9, "EM")) { /* RIG_VFO_M removed */ -#ifdef RIG_VFO_MEM - return RIG_VFO_MEM; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_VFO_(char *name, int len, int arg) -{ - switch (name[8 + 0]) { - case 'A': - return constant_RIG_VFO_A(name, len, arg); - case 'B': - if (strEQ(name + 8, "B")) { /* RIG_VFO_ removed */ -#ifdef RIG_VFO_B - return RIG_VFO_B; -#else - goto not_there; -#endif - } - case 'C': - return constant_RIG_VFO_C(name, len, arg); - case 'M': - return constant_RIG_VFO_M(name, len, arg); - case 'N': - if (strEQ(name + 8, "NONE")) { /* RIG_VFO_ removed */ -#ifdef RIG_VFO_NONE - return RIG_VFO_NONE; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 8, "SUB")) { /* RIG_VFO_ removed */ -#ifdef RIG_VFO_SUB - return RIG_VFO_SUB; -#else - goto not_there; -#endif - } - case 'V': - if (strEQ(name + 8, "VFO")) { /* RIG_VFO_ removed */ -#ifdef RIG_VFO_VFO - return RIG_VFO_VFO; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_V(char *name, int len, int arg) -{ - if (5 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 2]) { - case '1': - if (strEQ(name + 5, "FO1")) { /* RIG_V removed */ -#ifdef RIG_VFO1 - return RIG_VFO1; -#else - goto not_there; -#endif - } - case '2': - if (strEQ(name + 5, "FO2")) { /* RIG_V removed */ -#ifdef RIG_VFO2 - return RIG_VFO2; -#else - goto not_there; -#endif - } - case '_': - if (!strnEQ(name + 5,"FO", 2)) - break; - return constant_RIG_VFO_(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FLAG_TRA(char *name, int len, int arg) -{ - if (12 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[12 + 2]) { - case 'C': - if (strEQ(name + 12, "NSCEIVER")) { /* RIG_FLAG_TRA removed */ -#ifdef RIG_FLAG_TRANSCEIVER - return RIG_FLAG_TRANSCEIVER; -#else - goto not_there; -#endif - } - case 'M': - if (strEQ(name + 12, "NSMITTER")) { /* RIG_FLAG_TRA removed */ -#ifdef RIG_FLAG_TRANSMITTER - return RIG_FLAG_TRANSMITTER; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FLAG_TR(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'A': - return constant_RIG_FLAG_TRA(name, len, arg); - case 'U': - if (strEQ(name + 11, "UNKING")) { /* RIG_FLAG_TR removed */ -#ifdef RIG_FLAG_TRUNKING - return RIG_FLAG_TRUNKING; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FLAG_T(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'N': - if (strEQ(name + 10, "NC")) { /* RIG_FLAG_T removed */ -#ifdef RIG_FLAG_TNC - return RIG_FLAG_TNC; -#else - goto not_there; -#endif - } - case 'R': - return constant_RIG_FLAG_TR(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FL(char *name, int len, int arg) -{ - if (6 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 3]) { - case 'A': - if (strEQ(name + 6, "AG_APRS")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_APRS - return RIG_FLAG_APRS; -#else - goto not_there; -#endif - } - case 'C': - if (strEQ(name + 6, "AG_COMPUTER")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_COMPUTER - return RIG_FLAG_COMPUTER; -#else - goto not_there; -#endif - } - case 'D': - if (strEQ(name + 6, "AG_DXCLUSTER")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_DXCLUSTER - return RIG_FLAG_DXCLUSTER; -#else - goto not_there; -#endif - } - case 'H': - if (strEQ(name + 6, "AG_HANDHELD")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_HANDHELD - return RIG_FLAG_HANDHELD; -#else - goto not_there; -#endif - } - case 'M': - if (strEQ(name + 6, "AG_MOBILE")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_MOBILE - return RIG_FLAG_MOBILE; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 6, "AG_RECEIVER")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_RECEIVER - return RIG_FLAG_RECEIVER; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 6, "AG_SCANNER")) { /* RIG_FL removed */ -#ifdef RIG_FLAG_SCANNER - return RIG_FLAG_SCANNER; -#else - goto not_there; -#endif - } - case 'T': - if (!strnEQ(name + 6,"AG_", 3)) - break; - return constant_RIG_FLAG_T(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_N(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'B': - if (strEQ(name + 10, "B")) { /* RIG_FUNC_N removed */ -#ifdef RIG_FUNC_NB - return RIG_FUNC_NB; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "ONE")) { /* RIG_FUNC_N removed */ -#ifdef RIG_FUNC_NONE - return RIG_FUNC_NONE; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 10, "R")) { /* RIG_FUNC_N removed */ -#ifdef RIG_FUNC_NR - return RIG_FUNC_NR; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_A(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'B': - if (strEQ(name + 10, "BM")) { /* RIG_FUNC_A removed */ -#ifdef RIG_FUNC_ABM - return RIG_FUNC_ABM; -#else - goto not_there; -#endif - } - case 'I': - if (strEQ(name + 10, "IP")) { /* RIG_FUNC_A removed */ -#ifdef RIG_FUNC_AIP - return RIG_FUNC_AIP; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 10, "NF")) { /* RIG_FUNC_A removed */ -#ifdef RIG_FUNC_ANF - return RIG_FUNC_ANF; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 10, "PF")) { /* RIG_FUNC_A removed */ -#ifdef RIG_FUNC_APF - return RIG_FUNC_APF; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 10, "RO")) { /* RIG_FUNC_A removed */ -#ifdef RIG_FUNC_ARO - return RIG_FUNC_ARO; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_R(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'E': - if (strEQ(name + 10, "EV")) { /* RIG_FUNC_R removed */ -#ifdef RIG_FUNC_REV - return RIG_FUNC_REV; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 10, "NF")) { /* RIG_FUNC_R removed */ -#ifdef RIG_FUNC_RNF - return RIG_FUNC_RNF; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_S(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'B': - if (strEQ(name + 10, "BKIN")) { /* RIG_FUNC_S removed */ -#ifdef RIG_FUNC_SBKIN - return RIG_FUNC_SBKIN; -#else - goto not_there; -#endif - } - case 'Q': - if (strEQ(name + 10, "QL")) { /* RIG_FUNC_S removed */ -#ifdef RIG_FUNC_SQL - return RIG_FUNC_SQL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_T(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'O': - if (strEQ(name + 10, "ONE")) { /* RIG_FUNC_T removed */ -#ifdef RIG_FUNC_TONE - return RIG_FUNC_TONE; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 10, "SQL")) { /* RIG_FUNC_T removed */ -#ifdef RIG_FUNC_TSQL - return RIG_FUNC_TSQL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_V(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'O': - if (strEQ(name + 10, "OX")) { /* RIG_FUNC_V removed */ -#ifdef RIG_FUNC_VOX - return RIG_FUNC_VOX; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 10, "SC")) { /* RIG_FUNC_V removed */ -#ifdef RIG_FUNC_VSC - return RIG_FUNC_VSC; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_F(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'A': - if (strEQ(name + 10, "AGC")) { /* RIG_FUNC_F removed */ -#ifdef RIG_FUNC_FAGC - return RIG_FUNC_FAGC; -#else - goto not_there; -#endif - } - case 'B': - if (strEQ(name + 10, "BKIN")) { /* RIG_FUNC_F removed */ -#ifdef RIG_FUNC_FBKIN - return RIG_FUNC_FBKIN; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_L(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'M': - if (strEQ(name + 10, "MP")) { /* RIG_FUNC_L removed */ -#ifdef RIG_FUNC_LMP - return RIG_FUNC_LMP; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "OCK")) { /* RIG_FUNC_L removed */ -#ifdef RIG_FUNC_LOCK - return RIG_FUNC_LOCK; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FUNC_M(char *name, int len, int arg) -{ - switch (name[10 + 0]) { - case 'B': - if (strEQ(name + 10, "BC")) { /* RIG_FUNC_M removed */ -#ifdef RIG_FUNC_MBC - return RIG_FUNC_MBC; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 10, "N")) { /* RIG_FUNC_M removed */ -#ifdef RIG_FUNC_MN - return RIG_FUNC_MN; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 10, "ON")) { /* RIG_FUNC_M removed */ -#ifdef RIG_FUNC_MON - return RIG_FUNC_MON; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 10, "UTE")) { /* RIG_FUNC_M removed */ -#ifdef RIG_FUNC_MUTE - return RIG_FUNC_MUTE; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_FU(char *name, int len, int arg) -{ - if (6 + 3 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[6 + 3]) { - case 'A': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_A(name, len, arg); - case 'B': - if (strEQ(name + 6, "NC_BC")) { /* RIG_FU removed */ -#ifdef RIG_FUNC_BC - return RIG_FUNC_BC; -#else - goto not_there; -#endif - } - case 'C': - if (strEQ(name + 6, "NC_COMP")) { /* RIG_FU removed */ -#ifdef RIG_FUNC_COMP - return RIG_FUNC_COMP; -#else - goto not_there; -#endif - } - case 'F': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_F(name, len, arg); - case 'L': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_L(name, len, arg); - case 'M': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_M(name, len, arg); - case 'N': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_N(name, len, arg); - case 'R': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_R(name, len, arg); - case 'S': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_S(name, len, arg); - case 'T': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_T(name, len, arg); - case 'V': - if (!strnEQ(name + 6,"NC_", 3)) - break; - return constant_RIG_FUNC_V(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_F(char *name, int len, int arg) -{ - switch (name[5 + 0]) { - case 'L': - return constant_RIG_FL(name, len, arg); - case 'R': - if (strEQ(name + 5, "REQ_NONE")) { /* RIG_F removed */ -#ifdef RIG_FREQ_NONE - return RIG_FREQ_NONE; -#else - goto not_there; -#endif - } - case 'U': - return constant_RIG_FU(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_I(char *name, int len, int arg) -{ - if (5 + 9 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 9]) { - case '1': - if (strEQ(name + 5, "TU_REGION1")) { /* RIG_I removed */ -#ifdef RIG_ITU_REGION1 - return RIG_ITU_REGION1; -#else - goto not_there; -#endif - } - case '2': - if (strEQ(name + 5, "TU_REGION2")) { /* RIG_I removed */ -#ifdef RIG_ITU_REGION2 - return RIG_ITU_REGION2; -#else - goto not_there; -#endif - } - case '3': - if (strEQ(name + 5, "TU_REGION3")) { /* RIG_I removed */ -#ifdef RIG_ITU_REGION3 - return RIG_ITU_REGION3; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_NO(char *name, int len, int arg) -{ - switch (name[12 + 0]) { - case 'N': - if (strEQ(name + 12, "NE")) { /* RIG_LEVEL_NO removed */ -#ifdef RIG_LEVEL_NONE - return RIG_LEVEL_NONE; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 12, "TCHF")) { /* RIG_LEVEL_NO removed */ -#ifdef RIG_LEVEL_NOTCHF - return RIG_LEVEL_NOTCHF; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_N(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'O': - return constant_RIG_LEVEL_NO(name, len, arg); - case 'R': - if (strEQ(name + 11, "R")) { /* RIG_LEVEL_N removed */ -#ifdef RIG_LEVEL_NR - return RIG_LEVEL_NR; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_PB(char *name, int len, int arg) -{ - if (12 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[12 + 2]) { - case 'I': - if (strEQ(name + 12, "T_IN")) { /* RIG_LEVEL_PB removed */ -#ifdef RIG_LEVEL_PBT_IN - return RIG_LEVEL_PBT_IN; -#else - goto not_there; -#endif - } - case 'O': - if (strEQ(name + 12, "T_OUT")) { /* RIG_LEVEL_PB removed */ -#ifdef RIG_LEVEL_PBT_OUT - return RIG_LEVEL_PBT_OUT; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_P(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'B': - return constant_RIG_LEVEL_PB(name, len, arg); - case 'R': - if (strEQ(name + 11, "REAMP")) { /* RIG_LEVEL_P removed */ -#ifdef RIG_LEVEL_PREAMP - return RIG_LEVEL_PREAMP; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_A(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'F': - if (strEQ(name + 11, "F")) { /* RIG_LEVEL_A removed */ -#ifdef RIG_LEVEL_AF - return RIG_LEVEL_AF; -#else - goto not_there; -#endif - } - case 'G': - if (strEQ(name + 11, "GC")) { /* RIG_LEVEL_A removed */ -#ifdef RIG_LEVEL_AGC - return RIG_LEVEL_AGC; -#else - goto not_there; -#endif - } - case 'L': - if (strEQ(name + 11, "LC")) { /* RIG_LEVEL_A removed */ -#ifdef RIG_LEVEL_ALC - return RIG_LEVEL_ALC; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 11, "PF")) { /* RIG_LEVEL_A removed */ -#ifdef RIG_LEVEL_APF - return RIG_LEVEL_APF; -#else - goto not_there; -#endif - } - case 'T': - if (strEQ(name + 11, "TT")) { /* RIG_LEVEL_A removed */ -#ifdef RIG_LEVEL_ATT - return RIG_LEVEL_ATT; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_RF(char *name, int len, int arg) -{ - switch (name[12 + 0]) { - case '\0': - if (strEQ(name + 12, "")) { /* RIG_LEVEL_RF removed */ -#ifdef RIG_LEVEL_RF - return RIG_LEVEL_RF; -#else - goto not_there; -#endif - } - case 'P': - if (strEQ(name + 12, "POWER")) { /* RIG_LEVEL_RF removed */ -#ifdef RIG_LEVEL_RFPOWER - return RIG_LEVEL_RFPOWER; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_R(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'E': - if (strEQ(name + 11, "EADONLY_LIST")) { /* RIG_LEVEL_R removed */ -#ifdef RIG_LEVEL_READONLY_LIST - return RIG_LEVEL_READONLY_LIST; -#else - goto not_there; -#endif - } - case 'F': - return constant_RIG_LEVEL_RF(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_B(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'A': - if (strEQ(name + 11, "ALANCE")) { /* RIG_LEVEL_B removed */ -#ifdef RIG_LEVEL_BALANCE - return RIG_LEVEL_BALANCE; -#else - goto not_there; -#endif - } - case 'K': - if (strEQ(name + 11, "KINDL")) { /* RIG_LEVEL_B removed */ -#ifdef RIG_LEVEL_BKINDL - return RIG_LEVEL_BKINDL; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_SQ(char *name, int len, int arg) -{ - if (12 + 1 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[12 + 1]) { - case '\0': - if (strEQ(name + 12, "L")) { /* RIG_LEVEL_SQ removed */ -#ifdef RIG_LEVEL_SQL - return RIG_LEVEL_SQL; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 12, "LSTAT")) { /* RIG_LEVEL_SQ removed */ -#ifdef RIG_LEVEL_SQLSTAT - return RIG_LEVEL_SQLSTAT; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_S(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'Q': - return constant_RIG_LEVEL_SQ(name, len, arg); - case 'T': - if (strEQ(name + 11, "TRENGTH")) { /* RIG_LEVEL_S removed */ -#ifdef RIG_LEVEL_STRENGTH - return RIG_LEVEL_STRENGTH; -#else - goto not_there; -#endif - } - case 'W': - if (strEQ(name + 11, "WR")) { /* RIG_LEVEL_S removed */ -#ifdef RIG_LEVEL_SWR - return RIG_LEVEL_SWR; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_C(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'O': - if (strEQ(name + 11, "OMP")) { /* RIG_LEVEL_C removed */ -#ifdef RIG_LEVEL_COMP - return RIG_LEVEL_COMP; -#else - goto not_there; -#endif - } - case 'W': - if (strEQ(name + 11, "WPITCH")) { /* RIG_LEVEL_C removed */ -#ifdef RIG_LEVEL_CWPITCH - return RIG_LEVEL_CWPITCH; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_LEVEL_M(char *name, int len, int arg) -{ - switch (name[11 + 0]) { - case 'E': - if (strEQ(name + 11, "ETER")) { /* RIG_LEVEL_M removed */ -#ifdef RIG_LEVEL_METER - return RIG_LEVEL_METER; -#else - goto not_there; -#endif - } - case 'I': - if (strEQ(name + 11, "ICGAIN")) { /* RIG_LEVEL_M removed */ -#ifdef RIG_LEVEL_MICGAIN - return RIG_LEVEL_MICGAIN; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_L(char *name, int len, int arg) -{ - if (5 + 5 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 5]) { - case 'A': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_A(name, len, arg); - case 'B': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_B(name, len, arg); - case 'C': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_C(name, len, arg); - case 'F': - if (strEQ(name + 5, "EVEL_FLOAT_LIST")) { /* RIG_L removed */ -#ifdef RIG_LEVEL_FLOAT_LIST - return RIG_LEVEL_FLOAT_LIST; -#else - goto not_there; -#endif - } - case 'I': - if (strEQ(name + 5, "EVEL_IF")) { /* RIG_L removed */ -#ifdef RIG_LEVEL_IF - return RIG_LEVEL_IF; -#else - goto not_there; -#endif - } - case 'K': - if (strEQ(name + 5, "EVEL_KEYSPD")) { /* RIG_L removed */ -#ifdef RIG_LEVEL_KEYSPD - return RIG_LEVEL_KEYSPD; -#else - goto not_there; -#endif - } - case 'M': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_M(name, len, arg); - case 'N': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_N(name, len, arg); - case 'P': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_P(name, len, arg); - case 'R': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_R(name, len, arg); - case 'S': - if (!strnEQ(name + 5,"EVEL_", 5)) - break; - return constant_RIG_LEVEL_S(name, len, arg); - case 'V': - if (strEQ(name + 5, "EVEL_VOX")) { /* RIG_L removed */ -#ifdef RIG_LEVEL_VOX - return RIG_LEVEL_VOX; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_M(char *name, int len, int arg) -{ - if (5 + 4 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[5 + 4]) { - case 'A': - if (strEQ(name + 5, "ODE_AM")) { /* RIG_M removed */ -#ifdef RIG_MODE_AM - return RIG_MODE_AM; -#else - goto not_there; -#endif - } - case 'C': - if (strEQ(name + 5, "ODE_CW")) { /* RIG_M removed */ -#ifdef RIG_MODE_CW - return RIG_MODE_CW; -#else - goto not_there; -#endif - } - case 'F': - if (strEQ(name + 5, "ODE_FM")) { /* RIG_M removed */ -#ifdef RIG_MODE_FM - return RIG_MODE_FM; -#else - goto not_there; -#endif - } - case 'L': - if (strEQ(name + 5, "ODE_LSB")) { /* RIG_M removed */ -#ifdef RIG_MODE_LSB - return RIG_MODE_LSB; -#else - goto not_there; -#endif - } - case 'N': - if (strEQ(name + 5, "ODE_NONE")) { /* RIG_M removed */ -#ifdef RIG_MODE_NONE - return RIG_MODE_NONE; -#else - goto not_there; -#endif - } - case 'R': - if (strEQ(name + 5, "ODE_RTTY")) { /* RIG_M removed */ -#ifdef RIG_MODE_RTTY - return RIG_MODE_RTTY; -#else - goto not_there; -#endif - } - case 'S': - if (strEQ(name + 5, "ODE_SSB")) { /* RIG_M removed */ -#ifdef RIG_MODE_SSB - return RIG_MODE_SSB; -#else - goto not_there; -#endif - } - case 'U': - if (strEQ(name + 5, "ODE_USB")) { /* RIG_M removed */ -#ifdef RIG_MODE_USB - return RIG_MODE_USB; -#else - goto not_there; -#endif - } - case 'W': - if (strEQ(name + 5, "ODE_WFM")) { /* RIG_M removed */ -#ifdef RIG_MODE_WFM - return RIG_MODE_WFM; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_RIG_(char *name, int len, int arg) -{ - switch (name[4 + 0]) { - case 'A': - return constant_RIG_A(name, len, arg); - case 'C': - return constant_RIG_C(name, len, arg); - case 'E': - return constant_RIG_E(name, len, arg); - case 'F': - return constant_RIG_F(name, len, arg); - case 'I': - return constant_RIG_I(name, len, arg); - case 'L': - return constant_RIG_L(name, len, arg); - case 'M': - return constant_RIG_M(name, len, arg); - case 'O': - return constant_RIG_O(name, len, arg); - case 'P': - return constant_RIG_P(name, len, arg); - case 'S': - return constant_RIG_S(name, len, arg); - case 'T': - return constant_RIG_T(name, len, arg); - case 'V': - return constant_RIG_V(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_R(char *name, int len, int arg) -{ - if (1 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[1 + 2]) { - case 'N': - if (strEQ(name + 1, "IGNAMSIZ")) { /* R removed */ -#ifdef RIGNAMSIZ - return RIGNAMSIZ; -#else - goto not_there; -#endif - } - case 'V': - if (strEQ(name + 1, "IGVERSIZ")) { /* R removed */ -#ifdef RIGVERSIZ - return RIGVERSIZ; -#else - goto not_there; -#endif - } - case '_': - if (!strnEQ(name + 1,"IG", 2)) - break; - return constant_RIG_(name, len, arg); - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant_M(char *name, int len, int arg) -{ - if (1 + 2 >= len ) { - errno = EINVAL; - return 0; - } - switch (name[1 + 2]) { - case 'C': - if (strEQ(name + 1, "AXCHANDESC")) { /* M removed */ -#ifdef MAXCHANDESC - return MAXCHANDESC; -#else - goto not_there; -#endif - } - case 'D': - if (strEQ(name + 1, "AXDBLSTSIZ")) { /* M removed */ -#ifdef MAXDBLSTSIZ - return MAXDBLSTSIZ; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -static double -constant(char *name, int len, int arg) -{ - errno = 0; - switch (name[0 + 0]) { - case 'C': - if (strEQ(name + 0, "CHANLSTSIZ")) { /* removed */ -#ifdef CHANLSTSIZ - return CHANLSTSIZ; -#else - goto not_there; -#endif - } - case 'F': - return constant_F(name, len, arg); - case 'M': - return constant_M(name, len, arg); - case 'R': - return constant_R(name, len, arg); - case 'T': - if (strEQ(name + 0, "TSLSTSIZ")) { /* removed */ -#ifdef TSLSTSIZ - return TSLSTSIZ; -#else - goto not_there; -#endif - } - case '_': - return constant__(name, len, arg); - case 'p': - if (strEQ(name + 0, "ptr_t")) { /* removed */ -#ifdef ptr_t - return ptr_t; -#else - goto not_there; -#endif - } - } - errno = EINVAL; - return 0; - -not_there: - errno = ENOENT; - return 0; -} - -MODULE = Hamlib PACKAGE = Hamlib - -double -constant(sv,arg) - PROTOTYPE: $$ - PREINIT: - STRLEN len; - INPUT: - SV * sv - char * s = SvPV(sv, len); - int arg - CODE: - RETVAL = constant(s,len,arg); - OUTPUT: - RETVAL - -MODULE = Hamlib PACKAGE = Hamlib::Rig PREFIX = rig_ - -double -constant(sv,arg) - PROTOTYPE: $$ - PREINIT: - STRLEN len; - INPUT: - SV * sv - char * s = SvPV(sv, len); - int arg - CODE: - RETVAL = constant(s,len,arg); - OUTPUT: - RETVAL - -Hamlib::Rig -rig_init(rig_model) - rig_model_t rig_model - PROTOTYPE: $ - CODE: - { - RIG * theRig; - theRig = rig_init(rig_model); - RETVAL = theRig; - } - POST_CALL: - if (RETVAL == NULL) - croak("rig_init error"); - OUTPUT: - RETVAL - -void -rig_DESTROY(rig) - Hamlib::Rig rig - PROTOTYPE: $ - CODE: - { - rig_cleanup(rig); - } - -int -rig_open(rig) - Hamlib::Rig rig - PROTOTYPE: $ - CODE: - { - RETVAL = rig_open(rig); - } - POST_CALL: - if (RETVAL != RIG_OK) - croak("rig_open error: '%s'", rigerror(RETVAL)); - OUTPUT: - RETVAL - -int -rig_close(rig) - Hamlib::Rig rig - PROTOTYPE: $ - CODE: - { - RETVAL = rig_close(rig); - } - OUTPUT: - RETVAL - -int -rig_cleanup(rig) - Hamlib::Rig rig - -int -rig_set_vfo(rig, vfo) - Hamlib::Rig rig - vfo_t vfo - -int -rig_get_vfo(rig) - Hamlib::Rig rig - CODE: - { - vfo_t vfo; - rig_get_vfo(rig, &vfo); - RETVAL = vfo; - } - OUTPUT: - RETVAL - - -int -rig_set_freq(rig, freq, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - freq_t freq - vfo_t vfo - C_ARGS: - rig, vfo, freq - -freq_t -rig_get_freq(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - freq_t freq; - rig_get_freq(rig, vfo, &freq); - RETVAL = freq; - } - OUTPUT: - RETVAL - -int -rig_set_mode(rig, mode, width = RIG_PASSBAND_NORMAL, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - rmode_t mode - pbwidth_t width - vfo_t vfo - C_ARGS: - rig, vfo, mode, width - -void -rig_get_mode(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - PPCODE: - { - rmode_t mode; - pbwidth_t width; - rig_get_mode(rig, vfo, &mode, &width); - EXTEND(sp,2); - PUSHs(sv_2mortal(newSVuv(mode))); - PUSHs(sv_2mortal(newSViv(width))); - } - -int -rig_set_split_mode(rig, mode, width = RIG_PASSBAND_NORMAL, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - rmode_t mode - pbwidth_t width - vfo_t vfo - C_ARGS: - rig, vfo, mode, width - -int -rig_get_split_mode(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - rmode_t mode; - pbwidth_t width; - rig_get_split_mode(rig, vfo, &mode, &width); - RETVAL = mode; - } - -void -rig_debug(debug_level, fmt, ...) - enum rig_debug_level_e debug_level - const char * fmt - -ant_t -rig_get_ant(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - ant_t ant; - rig_get_ant(rig, vfo, &ant); - RETVAL = ant; - } - OUTPUT: - RETVAL - -const struct rig_caps * -rig_get_caps(rig_model) - rig_model_t rig_model - -int -rig_get_channel(rig, chan) - RIG * rig - channel_t * chan - -int -rig_get_ctcss_sql(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - tone_t tone; - rig_get_ctcss_sql(rig, vfo, &tone); - RETVAL = tone; - } - OUTPUT: - RETVAL - -int -rig_get_ctcss_tone(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - tone_t tone; - rig_get_ctcss_tone(rig, vfo, &tone); - RETVAL = tone; - } - OUTPUT: - RETVAL - -int -rig_get_dcd(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - dcd_t dcd; - rig_get_dcd(rig, vfo, &dcd); - RETVAL = dcd; - } - OUTPUT: - RETVAL - -int -rig_get_dcs_code(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - tone_t code; - rig_get_dcs_code(rig, vfo, &code); - RETVAL = code; - } - OUTPUT: - RETVAL - -int -rig_get_dcs_sql(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - tone_t code; - rig_get_dcs_sql(rig, vfo, &code); - RETVAL = code; - } - OUTPUT: - RETVAL - -int -rig_get_func(rig, func, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - setting_t func - vfo_t vfo - CODE: - { - int status; - rig_get_func(rig, vfo, func, &status); - RETVAL = status; - } - OUTPUT: - RETVAL - - -const char * -rig_get_info(rig) - Hamlib::Rig rig - -value_t -rig_get_level(rig, level, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - setting_t level - vfo_t vfo - CODE: - { - value_t val; - rig_get_level(rig, vfo, level, &val); - RETVAL = val; - } - OUTPUT: - RETVAL - - -int -rig_get_mem(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - int ch; - rig_get_mem(rig, vfo, &ch); - RETVAL = ch; - } - OUTPUT: - RETVAL - - -value_t -rig_get_parm(rig, parm) - Hamlib::Rig rig - setting_t parm - CODE: - { - value_t val; - rig_get_parm(rig, parm, &val); - RETVAL = val; - } - OUTPUT: - RETVAL - - -int -rig_get_powerstat(rig) - Hamlib::Rig rig - CODE: - { - powerstat_t status; - rig_get_powerstat(rig, &status); - RETVAL = status; - } - OUTPUT: - RETVAL - -int -rig_get_ptt(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - ptt_t ptt; - rig_get_ptt(rig, vfo, &ptt); - RETVAL = ptt; - } - OUTPUT: - RETVAL - -const freq_range_t * -rig_get_range(range_list, freq, mode) - const freq_range_t * range_list - freq_t freq - rmode_t mode - -shortfreq_t -rig_get_resolution(rig, mode) - Hamlib::Rig rig - rmode_t mode - -int -rig_get_rit(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - shortfreq_t rit; - rig_get_rit(rig, vfo, &rit); - RETVAL = rit; - } - OUTPUT: - RETVAL - -int -rig_get_rptr_offs(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - shortfreq_t rptr_offs; - rig_get_rptr_offs(rig, vfo, &rptr_offs); - RETVAL = rptr_offs; - } - OUTPUT: - RETVAL - -int -rig_get_rptr_shift(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - rptr_shift_t rptr_shift; - rig_get_rptr_shift(rig, vfo, &rptr_shift); - RETVAL = rptr_shift; - } - OUTPUT: - RETVAL - -split_t -rig_get_split(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - split_t split; - rig_get_split(rig, vfo, &split); - RETVAL = split; - } - OUTPUT: - RETVAL - - -int -rig_set_split_freq(rig, tx_freq, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - freq_t tx_freq - vfo_t vfo - C_ARGS: - rig, vfo, tx_freq - -freq_t -rig_get_split_freq(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - freq_t tx_freq; - rig_get_freq(rig, vfo, &tx_freq); - RETVAL = tx_freq; - } - OUTPUT: - RETVAL - -int -rig_set_ext_level(rig, name, value, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - const char * name - const char * value - vfo_t vfo - CODE: - { - value_t val; - const struct confparams *cfp; - - cfp = rig_ext_lookup(rig, name); - if (!cfp) - return; /* no such parameter */ - - /* FIXME: only RIG_CONF_STRING supported so far */ - val.s = value; - RETVAL = rig_set_ext_level(rig, vfo, cfp->token, val); - } - OUTPUT: - RETVAL - -SV* -rig_get_ext_level(rig, name, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - const char * name - vfo_t vfo - CODE: - { - value_t val; - char s[256]; - const struct confparams *cfp; - - cfp = rig_ext_lookup(rig, name); - if (!cfp) - return; /* no such parameter */ - - /* FIXME: only RIG_CONF_STRING supported so far */ - val.s = s; - rig_get_ext_level(rig, vfo, cfp->token, &val); - RETVAL = newSVpv(val.s, 0); - } - OUTPUT: - RETVAL - -int -rig_set_ext_parm(rig, name, value) - Hamlib::Rig rig - const char * name - const char * value - CODE: - { - value_t val; - const struct confparams *cfp; - - cfp = rig_ext_lookup(rig, name); - if (!cfp) - return; /* no such parameter */ - - /* FIXME: only RIG_CONF_STRING supported so far */ - val.s = value; - RETVAL = rig_set_ext_parm(rig, cfp->token, val); - } - OUTPUT: - RETVAL - -SV* -rig_get_ext_parm(rig, name) - Hamlib::Rig rig - const char * name - CODE: - { - value_t val; - char s[256]; - const struct confparams *cfp; - - cfp = rig_ext_lookup(rig, name); - if (!cfp) - return; /* no such parameter */ - - /* FIXME: only RIG_CONF_STRING supported so far */ - val.s = s; - rig_get_ext_parm(rig, cfp->token, &val); - RETVAL = newSVpv(val.s, 0); - } - OUTPUT: - RETVAL - - -int -rig_set_conf(rig, name, val) - Hamlib::Rig rig - const char * name - const char * val - CODE: - { - token_t token; - token = rig_token_lookup(rig, name); - RETVAL = rig_set_conf(rig, token, val); - } - OUTPUT: - RETVAL - -SV* -rig_get_conf(rig, name) - Hamlib::Rig rig - const char * name - CODE: - { - token_t token; - char val[256]; - - token = rig_token_lookup(rig, name); - rig_get_conf(rig, token, val); - RETVAL = newSVpv(val, 0); - } - OUTPUT: - RETVAL - -int -rig_get_trn(rig, trn) - Hamlib::Rig rig - CODE: - { - int trn; - rig_get_trn(rig, &trn); - RETVAL = trn; - } - OUTPUT: - RETVAL - -int -rig_get_ts(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - shortfreq_t ts; - freq_t freq; - rig_get_ts(rig, vfo, &ts); - RETVAL = ts; - } - OUTPUT: - RETVAL - -int -rig_get_xit(rig, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_t vfo - CODE: - { - shortfreq_t xit; - rig_get_xit(rig, vfo, &xit); - RETVAL = xit; - } - OUTPUT: - RETVAL - -setting_t -rig_has_get_func(rig, func) - Hamlib::Rig rig - setting_t func - -setting_t -rig_has_get_level(rig, level) - Hamlib::Rig rig - setting_t level - -setting_t -rig_has_get_parm(rig, parm) - Hamlib::Rig rig - setting_t parm - -scan_t -rig_has_scan(rig, scan) - Hamlib::Rig rig - scan_t scan - -setting_t -rig_has_set_func(rig, func) - Hamlib::Rig rig - setting_t func - -setting_t -rig_has_set_level(rig, level) - Hamlib::Rig rig - setting_t level - -setting_t -rig_has_set_parm(rig, parm) - Hamlib::Rig rig - setting_t parm - -vfo_op_t -rig_has_vfo_op(rig, op) - Hamlib::Rig rig - vfo_op_t op - -int -rig_load_all_backends() - -int -rig_load_backend(be_name) - const char * be_name - -int -rig_mW2power(rig, power, mwpower, freq, mode) - RIG * rig - float * power - unsigned int mwpower - freq_t freq - rmode_t mode - -int -rig_need_debug(debug_level) - enum rig_debug_level_e debug_level - -pbwidth_t -rig_passband_narrow(rig, mode) - Hamlib::Rig rig - rmode_t mode - -pbwidth_t -rig_passband_normal(rig, mode) - Hamlib::Rig rig - rmode_t mode - -pbwidth_t -rig_passband_wide(rig, mode) - Hamlib::Rig rig - rmode_t mode - -int -rig_power2mW(rig, mwpower, power, freq, mode) - RIG * rig - unsigned int * mwpower - float power - freq_t freq - rmode_t mode - -rig_model_t -rig_probe(p) - port_t * p - -rig_model_t -rig_probe_all(p) - port_t * p - -int -rig_recv_dtmf(rig, vfo, digits, length) - RIG * rig - vfo_t vfo - char * digits - int * length - -int -rig_register(caps) - const struct rig_caps * caps - -int -rig_reset(rig, reset) - Hamlib::Rig rig - reset_t reset - -int -rig_scan(rig, scan, ch, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - scan_t scan - int ch - vfo_t vfo - C_ARGS: - rig, vfo, scan, ch - -int -rig_send_dtmf(rig, vfo, digits, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - const char * digits - vfo_t vfo - C_ARGS: - rig, vfo, digits - -int -rig_send_morse(rig, vfo, msg, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - const char * msg - vfo_t vfo - C_ARGS: - rig, vfo, msg - -int -rig_set_ant(rig, ant, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - ant_t ant - vfo_t vfo - C_ARGS: - rig, vfo, ant - -int -rig_set_bank(rig, bank, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - int bank - vfo_t vfo - C_ARGS: - rig, vfo, bank - -int -rig_set_channel(rig, chan) - RIG * rig - const channel_t * chan - -int -rig_set_ctcss_sql(rig, tone, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - tone_t tone - vfo_t vfo - C_ARGS: - rig, vfo, tone - -int -rig_set_ctcss_tone(rig, tone, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - tone_t tone - vfo_t vfo - C_ARGS: - rig, vfo, tone - -int -rig_set_dcs_code(rig, code, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - tone_t code - vfo_t vfo - C_ARGS: - rig, vfo, code - -int -rig_set_dcs_sql(rig, code, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - tone_t code - vfo_t vfo - C_ARGS: - rig, vfo, code - -void -rig_set_debug(debug_level) - enum rig_debug_level_e debug_level - -int -rig_set_func(rig, func, status, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - setting_t func - int status - vfo_t vfo - C_ARGS: - rig, vfo, func, status - -int -rig_set_level(rig, level, val, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - setting_t level - value_t val - vfo_t vfo - C_ARGS: - rig, vfo, level, val - -int -rig_set_mem(rig, ch, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - int ch - vfo_t vfo - C_ARGS: - rig, vfo, ch - -int -rig_set_parm(rig, parm, val) - Hamlib::Rig rig - setting_t parm - value_t val - -int -rig_set_powerstat(rig, status) - Hamlib::Rig rig - powerstat_t status - -int -rig_set_ptt(rig, ptt, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - ptt_t ptt - vfo_t vfo - C_ARGS: - rig, vfo, ptt - -int -rig_set_rit(rig, rit, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - shortfreq_t rit - vfo_t vfo - C_ARGS: - rig, vfo, rit - -int -rig_set_rptr_offs(rig, rptr_offs, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - shortfreq_t rptr_offs - vfo_t vfo - C_ARGS: - rig, vfo, rptr_offs - -int -rig_set_rptr_shift(rig, rptr_shift, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - rptr_shift_t rptr_shift - vfo_t vfo - C_ARGS: - rig, vfo, rptr_shift - -int -rig_set_split(rig, split, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - split_t split - vfo_t vfo - C_ARGS: - rig, vfo, split - -int -rig_set_trn(rig, trn) - Hamlib::Rig rig - int trn - -int -rig_set_ts(rig, ts, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - shortfreq_t ts - vfo_t vfo - C_ARGS: - rig, vfo, ts - -int -rig_set_xit(rig, xit, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - shortfreq_t xit - vfo_t vfo - C_ARGS: - rig, vfo, xit - -int -rig_setting2idx(s) - setting_t s - -int -rig_unregister(rig_model) - rig_model_t rig_model - -int -rig_vfo_op(rig, op, vfo = RIG_VFO_CURR) - Hamlib::Rig rig - vfo_op_t op - vfo_t vfo - C_ARGS: - rig, vfo, op - -const char * -rigerror(errnum) - int errnum diff --git a/perl/MANIFEST b/perl/MANIFEST deleted file mode 100644 index 6d82d7918..000000000 --- a/perl/MANIFEST +++ /dev/null @@ -1,8 +0,0 @@ -Changes -Hamlib.pm -Hamlib.xs -Makefile.PL -MANIFEST -README -test.pl -typemap diff --git a/perl/README b/perl/README deleted file mode 100644 index a4b6d87d2..000000000 --- a/perl/README +++ /dev/null @@ -1,35 +0,0 @@ -Hamlib version 0.01 -=================== - -The README is used to introduce the module and provide instructions on -how to install the module, any machine dependencies it may have (for -example C compilers and installed libraries) and any other information -that should be provided before the module is installed. - -A README file is required for CPAN modules since CPAN extracts the -README file from a module distribution so that people browsing the -archive can use it get an idea of the modules uses. It is usually a -good idea to provide version information here so that people can -decide whether fixes for the module are worth downloading. - -INSTALLATION - -To install this module type the following: - - perl Makefile.PL - make - make test - make install - -DEPENDENCIES - -This module requires these other modules and libraries: - - blah blah blah - -COPYRIGHT AND LICENCE - -Put the correct copyright and licence information here. - -Copyright (C) 2002 A. U. Thor blah blah blah - diff --git a/perl/test.pl b/perl/test.pl deleted file mode 100644 index d7e3f0cfa..000000000 --- a/perl/test.pl +++ /dev/null @@ -1,62 +0,0 @@ -# Before `make install' is performed this script should be runnable with -# `make test'. After `make install' it should work as `perl test.pl' - -######################### - -# change 'tests => 1' to 'tests => last_test_to_print'; - -use Test; -BEGIN { plan tests => 12 }; -use Hamlib; -ok(1); # If we made it this far, we're ok. - -######################### - -# Insert your test code below, the Test module is use()ed here so read -# its man page ( perldoc Test ) for help writing this test script. - -# 1 => RIG_MODEL_DUMMY - -$rig = Hamlib::Rig::init(1); -ok(defined $rig); - -# set configuration parameter and readback -$rig->set_conf("itu_region", "1"); -ok($rig->get_conf("itu_region") eq "1"); - -# open rig communication -$rig->open(); -ok(1); - -# Get some info from the rig, is available -print "Info: " . $rig->get_info() . "\n"; -ok(1); - -# Here's the plan. Select VFO A, check we got it. -# Then tune to 50.110 MHz, and set USB mode. - -$rig->set_vfo(RIG_VFO_A); -ok(1); - -ok($rig->get_vfo() == RIG_VFO_A); - -$rig->set_freq(50110000); -ok(1); - -ok($rig->get_freq() == 50110000); - -$rig->set_mode(RIG_MODE_USB); -ok(1); - -my ($mode, $width) = $rig->get_mode(); -ok($mode == RIG_MODE_USB); - -# CQ CQ ... - - -# No propagation today on 6. Maybe tomorrow. -$rig->close(); -ok(1); - -# NB: destroy done automatically - diff --git a/perl/typemap b/perl/typemap deleted file mode 100644 index aa2a30a73..000000000 --- a/perl/typemap +++ /dev/null @@ -1,72 +0,0 @@ -TYPEMAP -Hamlib::Rig T_PTROBJ -freq_t T_HAMLIB_QUAD -const char * T_PV -pbwidth_t T_IV -rig_model_t T_IV -rmode_t T_UV -vfo_t T_IV - -# will vanish one day.. -RIG * T_PTROBJ - -# Following to be fixed: -ant_t T_IV -ant_t * T_PTROBJ -channel_t * T_PTROBJ -const channel_t * T_PTROBJ -const freq_range_t * T_PTROBJ -const struct confparams * T_PTROBJ -const struct rig_caps * T_PTROBJ -dcd_t * T_PTROBJ -enum rig_debug_level_e T_PTROBJ -float T_DOUBLE -float * T_PTROBJ -int ( * cfunc ) ( const struct confparams *, void * ) T_PTROBJ -int ( * cfunc ) ( const struct rig_caps *, void * ) T_PTROBJ -int * T_PTROBJ -port_t * T_PTROBJ -powerstat_t T_PTROBJ -powerstat_t * T_PTROBJ -ptt_t T_PTROBJ -ptt_t * T_PTROBJ -reset_t T_PTROBJ -rptr_shift_t T_PTROBJ -rptr_shift_t * T_PTROBJ -scan_t T_IV -setting_t T_HAMLIB_QUAD -shortfreq_t T_IV -shortfreq_t * T_PTROBJ -split_t T_IV -split_t * T_PTROBJ -token_t T_IV -tone_t T_UV -tone_t * T_PTROBJ -unsigned int * T_PTROBJ -value_t T_OPAQUE_STRUCT -value_t * T_PTROBJ -vfo_op_t T_IV -############################################################################# -INPUT -T_OPAQUE_STRUCT - if (sv_derived_from($arg, \"${ntype}\")) { - STRLEN len; - char *s = SvPV((SV*)SvRV($arg), len); - - if (len != sizeof($var)) - croak(\"Size %d of packed data != expected %d\", - len, sizeof($var)); - $var = *($type *)s; - } - else - croak(\"$var is not of type ${ntype}\") - -T_HAMLIB_QUAD - $var = ($type)SvNV($arg) -############################################################################# -OUTPUT -T_OPAQUE_STRUCT - sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var)); - -T_HAMLIB_QUAD - sv_setnv($arg, (NV)$var); diff --git a/tcl/Makefile.am b/tcl/Makefile.am deleted file mode 100644 index d5d8a66f8..000000000 --- a/tcl/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -INCLUDES = @INCLUDES@ -I@TCL_SRC_DIR@/generic - -lib_LTLIBRARIES = libhamlibtcl.la -libhamlibtcl_la_SOURCES = hamlibtcl.c tclrig.c tclrot.c -libhamlibtcl_la_LDFLAGS = -no-undefined -module -version-info 0:0:0 \ - @TCL_LIB_SPEC@ -libhamlibtcl_la_LIBADD = ../src/libhamlib.la - -noinst_HEADERS = tclrig.h tclrot.h - -noinst_SCRIPTS = tcltest.tcl -EXTRA_DIST = tcltest.tcl diff --git a/tcl/hamlibtcl.c b/tcl/hamlibtcl.c deleted file mode 100644 index 8ae9bd9f4..000000000 --- a/tcl/hamlibtcl.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Hamlib tcl/tk bindings - main file - * Copyright (c) 2001,2002 by Stephane Fillod - * - * $Id: hamlibtcl.c,v 1.3 2002-01-22 00:53:01 fillods Exp $ - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include - -#include "tclrig.h" -#include "tclrot.h" - - -int Hamlib_Init(Tcl_Interp *interp) -{ - int ret; - - if ((ret=Tcl_PkgProvide(interp, "Hamlib", "1.0")) != TCL_OK) - return ret; - - /* Register the commands in the package */ - - Tcl_CreateObjCommand(interp, "rig", DoRigLib, - (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); - - Tcl_CreateObjCommand(interp, "rot", DoRotLib, - (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); - - return TCL_OK; -} - diff --git a/tcl/tclrig.c b/tcl/tclrig.c deleted file mode 100644 index 58814b0a4..000000000 --- a/tcl/tclrig.c +++ /dev/null @@ -1,1416 +0,0 @@ -/* - * Hamlib tcl/tk bindings - rig - * Copyright (c) 2001,2002 by Stephane Fillod - * - * $Id: tclrig.c,v 1.4 2002-08-26 21:26:06 fillods Exp $ - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include - -#include "tclrig.h" - - -#define ARG_IN1 0x01 -#define ARG_OUT1 0x02 -#define ARG_IN2 0x04 -#define ARG_OUT2 0x08 -#define ARG_IN3 0x10 -#define ARG_OUT3 0x20 -#define ARG_IN4 0x40 -#define ARG_OUT4 0x80 - -#define ARG_IN (ARG_IN1|ARG_IN2|ARG_IN3|ARG_IN4) -#define ARG_OUT (ARG_OUT1|ARG_OUT2|ARG_OUT3|ARG_OUT4) - -struct cmd_table { - const char *name; - int (*rig_routine)(RIG*, const struct cmd_table*, - Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); - int flags; - const char *arg1; - const char *arg2; - const char *arg3; -}; - -#define declare_proto_rig(f) static int (f)(RIG *rig, \ - const struct cmd_table *cmd, \ - Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) - -declare_proto_rig(tclrig_open); -declare_proto_rig(tclrig_close); -declare_proto_rig(tclrig_cleanup); -declare_proto_rig(set_conf); -declare_proto_rig(get_conf); -declare_proto_rig(set_freq); -declare_proto_rig(get_freq); -declare_proto_rig(set_mode); -declare_proto_rig(get_mode); -declare_proto_rig(set_vfo); -declare_proto_rig(get_vfo); -declare_proto_rig(get_info); -declare_proto_rig(get_strength); -declare_proto_rig(set_level); -declare_proto_rig(get_level); -declare_proto_rig(set_func); -declare_proto_rig(get_func); -declare_proto_rig(set_parm); -declare_proto_rig(get_parm); -declare_proto_rig(set_split_freq); -declare_proto_rig(get_split_freq); -declare_proto_rig(set_split_mode); -declare_proto_rig(get_split_mode); -declare_proto_rig(set_split); -declare_proto_rig(get_split); -declare_proto_rig(set_bank); -declare_proto_rig(set_mem); -declare_proto_rig(get_mem); -declare_proto_rig(vfo_op); -declare_proto_rig(scan); -declare_proto_rig(set_rptr_shift); -declare_proto_rig(get_rptr_shift); -declare_proto_rig(set_rptr_offs); -declare_proto_rig(get_rptr_offs); -declare_proto_rig(set_ctcss_tone); -declare_proto_rig(get_ctcss_tone); -declare_proto_rig(set_dcs_code); -declare_proto_rig(get_dcs_code); -declare_proto_rig(set_ctcss_sql); -declare_proto_rig(get_ctcss_sql); -declare_proto_rig(set_dcs_sql); -declare_proto_rig(get_dcs_sql); -declare_proto_rig(set_ts); -declare_proto_rig(get_ts); -declare_proto_rig(set_rit); -declare_proto_rig(get_rit); -declare_proto_rig(set_xit); -declare_proto_rig(get_xit); -#if 0 -declare_proto_rig(set_ptt); -declare_proto_rig(get_ptt); -declare_proto_rig(get_dcd); -declare_proto_rig(power2mW); -declare_proto_rig(set_channel); -declare_proto_rig(get_channel); -declare_proto_rig(set_trn); -declare_proto_rig(get_trn); -declare_proto_rig(set_powerstat); -declare_proto_rig(get_powerstat); -declare_proto_rig(reset); -declare_proto_rig(set_ant); -declare_proto_rig(get_ant); -declare_proto_rig(send_dtmf); -declare_proto_rig(recv_dtmf); -declare_proto_rig(send_morse); -#endif - -/* - */ -static struct cmd_table cmd_list[] = { - { "open", tclrig_open }, - { "close", tclrig_close }, - { "cleanup", tclrig_cleanup }, - { "set_conf", set_conf, ARG_IN, "Token", "Value" }, - { "get_conf", get_conf, ARG_IN1|ARG_OUT2, "Token", "Value" }, - { "set_freq", set_freq, ARG_IN, "Frequency" }, - { "get_freq", get_freq, ARG_OUT, "Frequency" }, - { "set_mode", set_mode, ARG_IN, "Mode", "Passband" }, - { "get_mode", get_mode, ARG_OUT, "Mode", "Passband" }, - { "set_vfo", set_vfo, ARG_IN, "VFO" }, - { "get_vfo", get_vfo, ARG_OUT, "VFO" }, - { "get_strength", get_strength, ARG_OUT, "Strength" }, - { "set_level", set_level, ARG_IN, "Level", "Value" }, - { "get_level", get_level, ARG_IN1|ARG_OUT2, "Level", "Value" }, - { "set_func", set_func, ARG_IN, "Func", "Func status" }, - { "get_func", get_func, ARG_IN1|ARG_OUT2, "Func", "Func status" }, - { "set_parm", set_parm, ARG_IN, "Parm", "Value" }, - { "get_parm", get_parm, ARG_IN1|ARG_OUT2, "Parm", "Value" }, - { "set_bank", set_bank, ARG_IN, "Bank" }, - { "set_mem", set_mem, ARG_IN, "Memory#" }, - { "get_mem", get_mem, ARG_OUT, "Memory#" }, - { "vfo_op", vfo_op, ARG_IN, "Mem/VFO op" }, - { "set_split_freq", set_split_freq, ARG_IN, "Tx frequency" }, - { "get_split_freq", get_split_freq, ARG_OUT, "Tx frequency" }, - { "set_split_mode", set_split_mode, ARG_IN, "Mode", "Passband" }, - { "get_split_mode", get_split_mode, ARG_OUT, "Mode", "Passband" }, - { "set_split", set_split, ARG_IN, "Split mode" }, - { "get_split", get_split, ARG_OUT, "Split mode" }, - { "scan", scan, ARG_IN, "Scan fct", "Channel" }, - { "set_rptr_shift", set_rptr_shift, ARG_IN, "Rptr shift" }, - { "get_rptr_shift", get_rptr_shift, ARG_OUT, "Rptr shift" }, - { "set_rptr_offs", set_rptr_offs, ARG_IN, "Rptr offset" }, - { "get_rptr_offs", get_rptr_offs, ARG_OUT, "Rptr offset" }, - { "set_ctcss_tone", set_ctcss_tone, ARG_IN, "CTCSS tone" }, - { "get_ctcss_tone", get_ctcss_tone, ARG_OUT, "CTCSS tone" }, - { "set_dcs_code", set_dcs_code, ARG_IN, "DCS code" }, - { "get_dcs_code", get_dcs_code, ARG_OUT, "DCS code" }, - { "set_ctcss_sql", set_ctcss_sql, ARG_IN, "CTCSS tone" }, - { "get_ctcss_sql", get_ctcss_sql, ARG_OUT, "CTCSS tone" }, - { "set_dcs_sql", set_dcs_sql, ARG_IN, "DCS code" }, - { "get_dcs_sql", get_dcs_sql, ARG_OUT, "DCS code" }, - { "set_ts", set_ts, ARG_IN, "Tuning step" }, - { "get_ts", get_ts, ARG_OUT, "Tuning step" }, - { "set_rit", set_rit, ARG_IN, "RIT" }, - { "get_rit", get_rit, ARG_OUT, "RIT" }, - { "set_xit", set_xit, ARG_IN, "XIT" }, - { "get_xit", get_xit, ARG_OUT, "XIT" }, -#if 0 - { "set_ptt", set_ptt, ARG_IN, "PTT" }, - { "get_ptt", get_ptt, ARG_OUT, "PTT" }, - { "set_channel", set_channel, ARG_IN, /* huh! */ }, - { "get_channel", get_channel, ARG_IN, "Channel" }, - { "set_trn", set_trn, ARG_IN, "Transceive" }, - { "get_trn", get_trn, ARG_OUT, "Transceive" }, - { "power2mW", power2mW }, -#endif - { "get_info", get_info, ARG_OUT, "Info" }, - { NULL, NULL }, - -}; - -#define MAXNAMSIZ 32 -#define MAXNBOPT 100 /* max number of different options */ - - -/* - * TODO: use Lex and some kind of hash table - */ -static struct cmd_table *parse_cmd(const char *name) -{ - int i; - - for (i=0; irig_routine)(tcl_rig, - cmd_entry, interp, objc, objv); - - if (retcode != RIG_OK ) { - /* FIXME: set Tcl error, and retcode can be TCL_ERROR! */ - fprintf(stderr, "%s: %s\n", cmd_entry->name, rigerror(retcode)); - return TCL_ERROR; - } - - return TCL_OK; -} - -/* - * static int (f)(RIG *rig, const struct cmd_table *cmd, - * Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) - */ - -declare_proto_rig(tclrig_open) -{ - return rig_open(rig); -} - -declare_proto_rig(tclrig_close) -{ - return rig_close(rig); -} - -/* - * FIXME: delete rig%d tcl command - */ -declare_proto_rig(tclrig_cleanup) -{ - return rig_cleanup(rig); -} - -declare_proto_rig(set_conf) -{ - token_t tok; - - tok = rig_token_lookup(rig, Tcl_GetString(objv[2])); - - return rig_set_conf(rig, tok, Tcl_GetString(objv[3])); -} - -declare_proto_rig(get_conf) -{ - int status; - token_t tok; - Tcl_Obj *resultPtr; - char buf[255]; - - resultPtr = Tcl_GetObjResult(interp); - - tok = rig_token_lookup(rig, Tcl_GetString(objv[2])); - - status = rig_get_conf(rig, tok, buf); - if (status != RIG_OK) - return status; - - Tcl_SetStringObj(resultPtr, buf, -1); - - return RIG_OK; -} - -declare_proto_rig(set_freq) -{ - int status; - double d; - freq_t freq; - - status = Tcl_GetDoubleFromObj(interp, objv[2], &d); - if (status != TCL_OK) - return status; - freq = (freq_t)d; - - return rig_set_freq(rig, RIG_VFO_CURR, freq); -} - -declare_proto_rig(get_freq) -{ - int status; - freq_t freq; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_freq(rig, RIG_VFO_CURR, &freq); - if (status != RIG_OK) - return status; - Tcl_SetDoubleObj(resultPtr, (double)freq); - - return RIG_OK; -} - -declare_proto_rig(get_strength) -{ - int status; - value_t val; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_strength(rig, RIG_VFO_CURR, &val); - if (status != RIG_OK) - return status; - Tcl_SetIntObj(resultPtr, val.i); - - return RIG_OK; -} - -declare_proto_rig(set_mode) -{ - int status; - rmode_t mode; - pbwidth_t width; - - mode = parse_mode(Tcl_GetString(objv[2])); - status = Tcl_GetLongFromObj(interp, objv[3], &width); - if (status != TCL_OK) - return status; - return rig_set_mode(rig, RIG_VFO_CURR, mode, width); -} - - -declare_proto_rig(get_mode) -{ - int status; - rmode_t mode; - pbwidth_t width; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_mode(rig, RIG_VFO_CURR, &mode, &width); - if (status != RIG_OK) - return status; - - /* FIXME: return also width */ - Tcl_SetStringObj(resultPtr, strrmode(mode), -1); - - return RIG_OK; -} - - -declare_proto_rig(set_vfo) -{ - vfo_t vfo; - - vfo = parse_vfo(Tcl_GetString(objv[2])); - return rig_set_vfo(rig, vfo); -} - - -declare_proto_rig(get_vfo) -{ - int status; - vfo_t vfo; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - vfo = parse_vfo(Tcl_GetString(objv[2])); - status = rig_get_vfo(rig, &vfo); - if (status != RIG_OK) - return status; - - Tcl_SetStringObj(resultPtr, strvfo(vfo), -1); - return RIG_OK; -} - -declare_proto_rig(set_split) -{ - split_t split; - int arg; - - Tcl_GetIntFromObj(interp, objv[2], &arg); - split = arg ? RIG_SPLIT_ON : RIG_SPLIT_OFF; - return rig_set_split(rig, RIG_VFO_CURR, split); -} - - -declare_proto_rig(get_split) -{ - int status; - split_t split; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_split(rig, RIG_VFO_CURR, &split); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, split); - return RIG_OK; -} - -declare_proto_rig(scan) -{ - scan_t scan; - int ch; - - scan = parse_scan(Tcl_GetString(objv[2])); - Tcl_GetIntFromObj(interp, objv[3], &ch); - return rig_scan(rig, RIG_VFO_CURR, scan, ch); -} - - -declare_proto_rig(vfo_op) -{ - vfo_op_t op; - - op = parse_vfo_op(Tcl_GetString(objv[2])); - return rig_vfo_op(rig, RIG_VFO_CURR, op); -} - - -declare_proto_rig(set_bank) -{ - int bank; - - Tcl_GetIntFromObj(interp, objv[2], &bank); - return rig_set_bank(rig, RIG_VFO_CURR, bank); -} - - -declare_proto_rig(set_mem) -{ - int ch; - - Tcl_GetIntFromObj(interp, objv[2], &ch); - return rig_set_mem(rig, RIG_VFO_CURR, ch); -} - - -declare_proto_rig(get_mem) -{ - int status; - int ch; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_mem(rig, RIG_VFO_CURR, &ch); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, ch); - return RIG_OK; -} - - - -declare_proto_rig(set_split_freq) -{ - int status; - double d; - freq_t freq; - - status = Tcl_GetDoubleFromObj(interp, objv[2], &d); - if (status != TCL_OK) - return status; - freq = (freq_t)d; - - return rig_set_split_freq(rig, RIG_VFO_CURR, freq); -} - -declare_proto_rig(get_split_freq) -{ - int status; - freq_t freq; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_split_freq(rig, RIG_VFO_CURR, &freq); - if (status != RIG_OK) - return status; - Tcl_SetDoubleObj(resultPtr, (double)freq); - - return RIG_OK; -} - -declare_proto_rig(set_split_mode) -{ - int status; - rmode_t mode; - pbwidth_t width; - - mode = parse_mode(Tcl_GetString(objv[2])); - status = Tcl_GetLongFromObj(interp, objv[3], &width); - if (status != TCL_OK) - return status; - return rig_set_split_mode(rig, RIG_VFO_CURR, mode, width); -} - - -declare_proto_rig(get_split_mode) -{ - int status; - rmode_t mode; - pbwidth_t width; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_split_mode(rig, RIG_VFO_CURR, &mode, &width); - if (status != RIG_OK) - return status; - - /* FIXME: return also width */ - Tcl_SetStringObj(resultPtr, strrmode(mode), -1); - - return RIG_OK; -} - -declare_proto_rig(set_rptr_shift) -{ - rptr_shift_t rptr_shift; - - rptr_shift = parse_rptr_shift(Tcl_GetString(objv[2])); - return rig_set_rptr_shift(rig, RIG_VFO_CURR, rptr_shift); -} - - -declare_proto_rig(get_rptr_shift) -{ - int status; - rptr_shift_t rptr_shift; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_rptr_shift(rig, RIG_VFO_CURR, &rptr_shift); - if (status != RIG_OK) - return status; - - /* FIXME: return also width */ - Tcl_SetStringObj(resultPtr, strptrshift(rptr_shift), -1); - - return RIG_OK; -} - -declare_proto_rig(set_rptr_offs) -{ - shortfreq_t offs; - - Tcl_GetLongFromObj(interp, objv[2], &offs); - return rig_set_rptr_offs(rig, RIG_VFO_CURR, offs); -} - - -declare_proto_rig(get_rptr_offs) -{ - int status; - shortfreq_t offs; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_rptr_offs(rig, RIG_VFO_CURR, &offs); - if (status != RIG_OK) - return status; - - Tcl_SetLongObj(resultPtr, offs); - return RIG_OK; -} - -declare_proto_rig(set_rit) -{ - shortfreq_t rit; - - Tcl_GetLongFromObj(interp, objv[2], &rit); - return rig_set_rit(rig, RIG_VFO_CURR, rit); -} - - -declare_proto_rig(get_rit) -{ - int status; - shortfreq_t rit; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_rit(rig, RIG_VFO_CURR, &rit); - if (status != RIG_OK) - return status; - - Tcl_SetLongObj(resultPtr, rit); - return RIG_OK; -} - -declare_proto_rig(set_xit) -{ - shortfreq_t xit; - - Tcl_GetLongFromObj(interp, objv[2], &xit); - return rig_set_xit(rig, RIG_VFO_CURR, xit); -} - - -declare_proto_rig(get_xit) -{ - int status; - shortfreq_t xit; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_xit(rig, RIG_VFO_CURR, &xit); - if (status != RIG_OK) - return status; - - Tcl_SetLongObj(resultPtr, xit); - return RIG_OK; -} - - -declare_proto_rig(set_ts) -{ - shortfreq_t ts; - - Tcl_GetLongFromObj(interp, objv[2], &ts); - return rig_set_ts(rig, RIG_VFO_CURR, ts); -} - - -declare_proto_rig(get_ts) -{ - int status; - shortfreq_t ts; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_ts(rig, RIG_VFO_CURR, &ts); - if (status != RIG_OK) - return status; - - Tcl_SetLongObj(resultPtr, ts); - return RIG_OK; -} - -declare_proto_rig(set_dcs_code) -{ - tone_t code; - - Tcl_GetIntFromObj(interp, objv[2], &code); - return rig_set_dcs_code(rig, RIG_VFO_CURR, code); -} - - -declare_proto_rig(get_dcs_code) -{ - int status; - tone_t code; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_dcs_code(rig, RIG_VFO_CURR, &code); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, code); - return RIG_OK; -} - -declare_proto_rig(set_dcs_sql) -{ - tone_t code; - - Tcl_GetIntFromObj(interp, objv[2], &code); - return rig_set_dcs_sql(rig, RIG_VFO_CURR, code); -} - - -declare_proto_rig(get_dcs_sql) -{ - int status; - tone_t code; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_dcs_sql(rig, RIG_VFO_CURR, &code); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, code); - return RIG_OK; -} - - -declare_proto_rig(set_ctcss_tone) -{ - tone_t code; - - Tcl_GetIntFromObj(interp, objv[2], &code); - return rig_set_ctcss_tone(rig, RIG_VFO_CURR, code); -} - - -declare_proto_rig(get_ctcss_tone) -{ - int status; - tone_t code; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_ctcss_tone(rig, RIG_VFO_CURR, &code); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, code); - return RIG_OK; -} - -declare_proto_rig(set_ctcss_sql) -{ - tone_t code; - - Tcl_GetIntFromObj(interp, objv[2], &code); - return rig_set_ctcss_sql(rig, RIG_VFO_CURR, code); -} - - -declare_proto_rig(get_ctcss_sql) -{ - int status; - tone_t code; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rig_get_ctcss_sql(rig, RIG_VFO_CURR, &code); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, code); - return RIG_OK; -} - - -declare_proto_rig(get_info) -{ - const char *s; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - s = rig_get_info(rig); - Tcl_SetStringObj(resultPtr, s ? s : "None", -1); - - return RIG_OK; -} - - -declare_proto_rig(set_func) -{ - int status; - setting_t func; - int stat; - - func = parse_func(Tcl_GetString(objv[2])); - status = Tcl_GetIntFromObj(interp, objv[3], &stat); - if (status != TCL_OK) - return status; - return rig_set_func(rig, RIG_VFO_CURR, func, stat); -} - -declare_proto_rig(get_func) -{ - int status; - setting_t func; - int stat; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - func = parse_func(Tcl_GetString(objv[2])); - status = rig_get_func(rig, RIG_VFO_CURR, func, &stat); - if (status != RIG_OK) - return status; - - Tcl_SetIntObj(resultPtr, stat); - return RIG_OK; -} - -declare_proto_rig(set_level) -{ - int status; - setting_t level; - value_t val; - double d; - - level = parse_level(Tcl_GetString(objv[2])); - if (RIG_LEVEL_IS_FLOAT(level)) { - status = Tcl_GetDoubleFromObj(interp, objv[3], &d); - val.f = d; - } else { - status = Tcl_GetIntFromObj(interp, objv[3], &val.i); - } - if (status != TCL_OK) - return status; - return rig_set_level(rig, RIG_VFO_CURR, level, val); -} - -declare_proto_rig(get_level) -{ - int status; - setting_t level; - value_t val; - double d; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - level = parse_level(Tcl_GetString(objv[2])); - status = rig_get_level(rig, RIG_VFO_CURR, level, &val); - if (status != RIG_OK) - return status; - - if (RIG_LEVEL_IS_FLOAT(level)) { - d = val.f; - Tcl_SetDoubleObj(resultPtr, d); - } else { - Tcl_SetIntObj(resultPtr, val.i); - } - return RIG_OK; -} - -declare_proto_rig(set_parm) -{ - int status; - setting_t parm; - value_t val; - double d; - - parm = parse_parm(Tcl_GetString(objv[2])); - if (RIG_PARM_IS_FLOAT(parm)) { - status = Tcl_GetDoubleFromObj(interp, objv[3], &d); - val.f = d; - } else { - status = Tcl_GetIntFromObj(interp, objv[3], &val.i); - } - if (status != TCL_OK) - return status; - return rig_set_parm(rig, parm, val); -} - -declare_proto_rig(get_parm) -{ - int status; - setting_t parm; - value_t val; - double d; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - parm = parse_parm(Tcl_GetString(objv[2])); - status = rig_get_parm(rig, parm, &val); - if (status != RIG_OK) - return status; - - if (RIG_PARM_IS_FLOAT(parm)) { - d = val.f; - Tcl_SetDoubleObj(resultPtr, d); - } else { - Tcl_SetIntObj(resultPtr, val.i); - } - return RIG_OK; -} - - - - - -#if 0 - -declare_proto_rig(set_ptt) -{ - ptt_t ptt; - - sscanf(arg1, "%d", (int*)&ptt); - return rig_set_ptt(rig, RIG_VFO_CURR, ptt); -} - - -declare_proto_rig(get_ptt) -{ - int status; - ptt_t ptt; - - status = rig_get_ptt(rig, RIG_VFO_CURR, &ptt); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", ptt); - return status; -} - - -declare_proto_rig(set_rptr_shift) -{ - rptr_shift_t rptr_shift; - - rptr_shift = parse_rptr_shift(arg1); - return rig_set_rptr_shift(rig, RIG_VFO_CURR, rptr_shift); -} - - -declare_proto_rig(get_rptr_shift) -{ - int status; - rptr_shift_t rptr_shift; - - status = rig_get_rptr_shift(rig, RIG_VFO_CURR, &rptr_shift); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%s\n", strptrshift(rptr_shift)); - return status; -} - - -declare_proto_rig(set_rptr_offs) -{ - unsigned long rptr_offs; - - sscanf(arg1, "%ld", &rptr_offs); - return rig_set_rptr_offs(rig, RIG_VFO_CURR, rptr_offs); -} - - -declare_proto_rig(get_rptr_offs) -{ - int status; - unsigned long rptr_offs; - - status = rig_get_rptr_offs(rig, RIG_VFO_CURR, &rptr_offs); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%ld\n", rptr_offs); - return status; -} - - -declare_proto_rig(set_ctcss_tone) -{ - tone_t tone; - - sscanf(arg1, "%d", &tone); - return rig_set_ctcss_tone(rig, RIG_VFO_CURR, tone); -} - - -declare_proto_rig(get_ctcss_tone) -{ - int status; - tone_t tone; - - status = rig_get_ctcss_tone(rig, RIG_VFO_CURR, &tone); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", tone); - return status; -} - - -declare_proto_rig(set_dcs_code) -{ - tone_t code; - - sscanf(arg1, "%d", &code); - return rig_set_dcs_code(rig, RIG_VFO_CURR, code); -} - - -declare_proto_rig(get_dcs_code) -{ - int status; - tone_t code; - - status = rig_get_dcs_code(rig, RIG_VFO_CURR, &code); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", code); - return status; -} - - -declare_proto_rig(set_split_freq) -{ - freq_t txfreq; - - sscanf(arg1, "%lld", &txfreq); - return rig_set_split_freq(rig, RIG_VFO_CURR, txfreq); -} - - -declare_proto_rig(get_split_freq) -{ - int status; - freq_t txfreq; - - status = rig_get_split_freq(rig, RIG_VFO_CURR, &txfreq); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%lld\n", txfreq); - return status; -} - -declare_proto_rig(set_split_mode) -{ - rmode_t mode; - pbwidth_t width; - - mode = parse_mode(arg1); - sscanf(arg2, "%d", (int*)&width); - return rig_set_split_mode(rig, RIG_VFO_CURR, mode, width); -} - - -declare_proto_rig(get_split_mode) -{ - int status; - rmode_t mode; - pbwidth_t width; - - status = rig_get_split_mode(rig, RIG_VFO_CURR, &mode, &width); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%s\n", strrmode(mode)); - if (interactive) - printf("%s: ", cmd->arg2); - printf("%ld\n", width); - return status; -} - - -declare_proto_rig(set_split) -{ - split_t split; - - sscanf(arg1, "%d", (int*)&split); - return rig_set_split(rig, RIG_VFO_CURR, split); -} - - -declare_proto_rig(get_split) -{ - int status; - split_t split; - - status = rig_get_split(rig, RIG_VFO_CURR, &split); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", split); - return status; -} - - -declare_proto_rig(set_ts) -{ - unsigned long ts; - - sscanf(arg1, "%ld", &ts); - return rig_set_ts(rig, RIG_VFO_CURR, ts); -} - - -declare_proto_rig(get_ts) -{ - int status; - unsigned long ts; - - status = rig_get_ts(rig, RIG_VFO_CURR, &ts); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%ld\n", ts); - return status; -} - -declare_proto_rig(power2mW) -{ - int status; - float power; - freq_t freq; - rmode_t mode; - unsigned int mwp; - - printf("Power [0.0 .. 1.0]: "); - scanf("%f", &power); - printf("Frequency: "); - scanf("%lld", &freq); - printf("Mode: "); - scanf("%d", &mode); - status = rig_power2mW(rig, &mwp, power, freq, mode); - printf("Power: %d mW\n", mwp); - return status; -} - - -declare_proto_rig(set_level) -{ - setting_t level; - value_t val; - - level = parse_level(arg1); - if (RIG_LEVEL_IS_FLOAT(level)) - sscanf(arg2, "%f", &val.f); - else - sscanf(arg2, "%d", &val.i); - - return rig_set_level(rig, RIG_VFO_CURR, level, val); -} - - -declare_proto_rig(get_level) -{ - int status; - setting_t level; - value_t val; - - level = parse_level(arg1); - status = rig_get_level(rig, RIG_VFO_CURR, level, &val); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg2); - if (RIG_LEVEL_IS_FLOAT(level)) - printf("%f\n", val.f); - else - printf("%d\n", val.i); - - return status; -} - - -declare_proto_rig(set_func) -{ - setting_t func; - int func_stat; - - func = parse_func(arg1); - sscanf(arg2, "%d", (int*)&func_stat); - return rig_set_func(rig, RIG_VFO_CURR, func, func_stat); -} - - -declare_proto_rig(get_func) -{ - int status; - setting_t func; - int func_stat; - - func = parse_func(arg1); - status = rig_get_func(rig, RIG_VFO_CURR, func, &func_stat); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg2); - printf("%d\n", func_stat); - return status; -} - -declare_proto_rig(set_parm) -{ - setting_t parm; - value_t val; - - parm = parse_parm(arg1); - if (RIG_PARM_IS_FLOAT(parm)) - sscanf(arg2, "%f", &val.f); - else - sscanf(arg2, "%d", &val.i); - - return rig_set_parm(rig, parm, val); -} - - -declare_proto_rig(get_parm) -{ - int status; - setting_t parm; - value_t val; - - parm = parse_parm(arg1); - status = rig_get_parm(rig, parm, &val); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg2); - if (RIG_PARM_IS_FLOAT(parm)) - printf("%f\n", val.f); - else - printf("%d\n", val.i); - - return status; -} - - -declare_proto_rig(set_bank) -{ - int bank; - - sscanf(arg1, "%d", &bank); - return rig_set_bank(rig, RIG_VFO_CURR, bank); -} - - -declare_proto_rig(set_mem) -{ - int ch; - - sscanf(arg1, "%d", &ch); - return rig_set_mem(rig, RIG_VFO_CURR, ch); -} - - -declare_proto_rig(get_mem) -{ - int status; - int ch; - - status = rig_get_mem(rig, RIG_VFO_CURR, &ch); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", ch); - return status; -} - -declare_proto_rig(vfo_op) -{ - vfo_op_t op; - - op = parse_vfo_op(arg1); - return rig_vfo_op(rig, RIG_VFO_CURR, op); -} - -declare_proto_rig(scan) -{ - scan_t op; - int ch; - - op = parse_scan(arg1); - sscanf(arg2, "%d", &ch); - return rig_scan(rig, RIG_VFO_CURR, op, ch); -} - -declare_proto_rig(set_channel) -{ - fprintf(stderr,"rigctl_set_channel not implemented yet!\n"); - return -RIG_ENIMPL; -} - - -declare_proto_rig(get_channel) -{ - int status; - channel_t chan; - - sscanf(arg1, "%d", &chan.channel_num); - status = rig_get_channel(rig, &chan); - if (status != RIG_OK) - return status; - /* TODO: dump data here */ - return status; -} - - -declare_proto_rig(set_trn) -{ - int trn; - - sscanf(arg1, "%d", &trn); - return rig_set_trn(rig, trn); -} - - -declare_proto_rig(get_trn) -{ - int status; - int trn; - - status = rig_get_trn(rig, &trn); - if (status != RIG_OK) - return status; - if (interactive) - printf("%s: ", cmd->arg1); - printf("%d\n", trn); - return status; -} -#endif - diff --git a/tcl/tclrig.h b/tcl/tclrig.h deleted file mode 100644 index 397f7805c..000000000 --- a/tcl/tclrig.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Hamlib tcl/tk bindings - rig header - * Copyright (c) 2001,2002 by Stephane Fillod - * - * $Id: tclrig.h,v 1.1 2002-01-22 00:34:48 fillods Exp $ - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifndef _TCLRIG_H -#define _TCLRIG_H - -#include - -extern int DoRig(ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[]); -extern int DoRigLib(ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[]); - -#endif /* _TCLRIG_H */ diff --git a/tcl/tclrot.c b/tcl/tclrot.c deleted file mode 100644 index a85c908f5..000000000 --- a/tcl/tclrot.c +++ /dev/null @@ -1,292 +0,0 @@ -/* - * Hamlib tcl/tk bindings - rotator - * Copyright (c) 2001,2002 by Stephane Fillod - * - * $Id: tclrot.c,v 1.1 2002-01-22 00:34:48 fillods Exp $ - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include - -#include "tclrot.h" - - -#define ARG_IN1 0x01 -#define ARG_OUT1 0x02 -#define ARG_IN2 0x04 -#define ARG_OUT2 0x08 -#define ARG_IN3 0x10 -#define ARG_OUT3 0x20 -#define ARG_IN4 0x40 -#define ARG_OUT4 0x80 - -#define ARG_IN (ARG_IN1|ARG_IN2|ARG_IN3|ARG_IN4) -#define ARG_OUT (ARG_OUT1|ARG_OUT2|ARG_OUT3|ARG_OUT4) - -struct cmd_table { - const char *name; - int (*rot_routine)(ROT*, const struct cmd_table*, - Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); - int flags; - const char *arg1; - const char *arg2; - const char *arg3; -}; - -#define declare_proto_rot(f) static int (f)(ROT *rot, \ - const struct cmd_table *cmd, \ - Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) - -declare_proto_rot(open); -declare_proto_rot(close); -declare_proto_rot(set_conf); -declare_proto_rot(get_conf); -declare_proto_rot(set_pos); -declare_proto_rot(get_pos); -declare_proto_rot(get_info); - -/* - */ -static struct cmd_table cmd_list[] = { - { "open", open }, - { "close", close }, - { "set_conf", set_conf, ARG_IN, "Token", "Value" }, - { "get_conf", get_conf, ARG_IN1|ARG_OUT2, "Token", "Value" }, - { "set_pos", set_pos, ARG_IN, "Azimuth", "Elevation" }, - { "get_pos", get_pos, ARG_OUT, "Azimuth", "Elevation" }, - { "get_info", get_info, ARG_OUT, "Info" }, - { NULL, NULL }, - -}; - -#define MAXNAMSIZ 32 -#define MAXNBOPT 100 /* max number of different options */ - - -/* - * TODO: use Lex and some kind of hash table - */ -static struct cmd_table *parse_cmd(const char *name) -{ - int i; - for (i=0; irot_routine)(tcl_rot, - cmd_entry, interp, objc, objv); - - if (retcode != RIG_OK ) { - /* FIXME: set Tcl error, and retcode can be TCL_ERROR! */ - fprintf(stderr, "%s: %s\n", cmd_entry->name, rigerror(retcode)); - return TCL_ERROR; - } - - return TCL_OK; -} - -/* - * static int (f)(ROT *rot, const struct cmd_table *cmd, - * Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) - */ - -declare_proto_rot(open) -{ - return rot_open(rot); -} - -declare_proto_rot(close) -{ - return rot_close(rot); -} - -declare_proto_rot(set_conf) -{ - token_t tok; - - tok = rot_token_lookup(rot, Tcl_GetString(objv[2])); - - return rot_set_conf(rot, tok, Tcl_GetString(objv[3])); -} - -declare_proto_rot(get_conf) -{ - int status; - token_t tok; - Tcl_Obj *resultPtr; - char buf[255]; - - resultPtr = Tcl_GetObjResult(interp); - - tok = rot_token_lookup(rot, Tcl_GetString(objv[2])); - - status = rot_get_conf(rot, tok, buf); - if (status != RIG_OK) - return status; - - Tcl_SetStringObj(resultPtr, buf, -1); - - return RIG_OK; -} - - -declare_proto_rot(set_pos) -{ - int status; - double da, de; - - status = Tcl_GetDoubleFromObj(interp, objv[2], &da); - if (status != TCL_OK) - return status; - status = Tcl_GetDoubleFromObj(interp, objv[3], &de); - if (status != TCL_OK) - return status; - - return rot_set_position(rot, (azimuth_t)da, (elevation_t)de); -} - -declare_proto_rot(get_pos) -{ - int status; - azimuth_t az; - elevation_t el; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - status = rot_get_position(rot, &az, &el); - if (status != RIG_OK) - return status; - /* FIXME: return also elevation */ - Tcl_SetDoubleObj(resultPtr, (double)az); - - return RIG_OK; -} - -declare_proto_rot(get_info) -{ - const char *s; - Tcl_Obj *resultPtr; - - resultPtr = Tcl_GetObjResult(interp); - - s = rot_get_info(rot); - Tcl_SetStringObj(resultPtr, s ? s : "None", -1); - - return RIG_OK; -} - diff --git a/tcl/tclrot.h b/tcl/tclrot.h deleted file mode 100644 index d37078777..000000000 --- a/tcl/tclrot.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Hamlib tcl/tk bindings - rotator header - * Copyright (c) 2001,2002 by Stephane Fillod - * - * $Id: tclrot.h,v 1.1 2002-01-22 00:34:48 fillods Exp $ - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifndef _TCLROT_H -#define _TCLROT_H - -#include - -extern int DoRot(ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[]); -extern int DoRotLib(ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[]); - -#endif /* _TCLROT_H */ diff --git a/tcl/tcltest.tcl b/tcl/tcltest.tcl deleted file mode 100755 index bb8f2b93c..000000000 --- a/tcl/tcltest.tcl +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# the next line restarts using tclsh \ -exec tclsh "$0" "$@" - -load "../tcl/.libs/libhamlibtcl.so" Hamlib -#load "./hamlibtcl.so" Hamlib - -puts [rig version]\n - -# Init RIG_MODEL_DUMMY -set my_rig [rig init 1] -$my_rig open -$my_rig set_freq 145550000 -puts [$my_rig get_strength] -puts [$my_rig get_level STRENGTH] -$my_rig close -$my_rig cleanup - - -exit 0