/** 
* @file frequency.c
* @brief Frequency functions
* @author John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S
* @version 0.1
* @date 2009-04-11
*/

/* Copyright (C) 
* 2009 - John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU 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 General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
* 
*/


//
// frequency.c
//

#include <gtk/gtk.h>
#include "xvtr.h"
#include "band.h"
#include "frequency.h"

char* outOfBand="Out of band";

struct frequency_info frequencyInfo[]=
    {

        {60000LL, 60000LL, "MSF Time Signal",                     bandGen,FALSE}, 
        {75000LL, 75000LL, "HGB Time Signal",                   bandGen,FALSE}, 
        {77500LL, 77500LL, "DCF77 Time Signal",                   bandGen,FALSE}, 
        {153000LL, 279000LL, "AM - Long Wave",                    bandGen,FALSE}, 
        {530000LL, 1710000LL, "Broadcast AM Med Wave",            bandGen,FALSE},                                 

        {1800000LL, 1809999LL, "160M CW/Digital Modes",            band160, TRUE},
        {1810000LL, 1810000LL, "160M CW QRP",                      band160, TRUE},
        {1810001LL, 1842999LL, "160M CW",                          band160, TRUE},
        {1843000LL, 1909999LL, "160M SSB/SSTV/Wide Band",          band160, TRUE},
        {1910000LL, 1910000LL, "160M SSB QRP",                     band160, TRUE},
        {1910001LL, 1994999LL, "160M SSB/SSTV/Wide Band",          band160, TRUE},
        {1995000LL, 1999999LL, "160M Experimental",                band160, TRUE},

        {2300000LL, 2495000LL, "120M Short Wave",                  bandGen,FALSE}, 

        {2500000LL, 2500000LL, "WWV",                              bandWWV,FALSE},

        {3200000LL, 3400000LL, "90M Short Wave",                   bandGen,FALSE}, 

        {3500000LL, 3524999LL, "80M Extra CW",                     band80, TRUE},
        {3525000LL, 3579999LL, "80M CW",                           band80, TRUE},
        {3580000LL, 3589999LL, "80M RTTY",                         band80, TRUE},
        {3590000LL, 3590000LL, "80M RTTY DX",                      band80, TRUE},
        {3590001LL, 3599999LL, "80M RTTY",                         band80, TRUE},
        {3600000LL, 3699999LL, "75M Extra SSB",                    band80, TRUE},
        {3700000LL, 3789999LL, "75M Ext/Adv SSB",                  band80, TRUE},
        {3790000LL, 3799999LL, "75M Ext/Adv DX Window",            band80, TRUE},
        {3800000LL, 3844999LL, "75M SSB",                          band80, TRUE},
        {3845000LL, 3845000LL, "75M SSTV",                         band80, TRUE},
        {3845001LL, 3884999LL, "75M SSB",                          band80, TRUE},
        {3885000LL, 3885000LL, "75M AM Calling Frequency",         band80, TRUE},
        {3885001LL, 3999999LL, "75M SSB",                          band80, TRUE},

        {4750000LL, 4999999LL, "60M Short Wave",                   bandGen,FALSE}, 

        {5000000LL, 5000000LL, "WWV",                              bandWWV,FALSE}, 

        {5330500LL, 5330500LL, "60M Channel 1",                    band60, TRUE},
        {5346500LL, 5346500LL, "60M Channel 2",                    band60, TRUE},
        {5366500LL, 5366500LL, "60M Channel 3",                    band60, TRUE},
        {5371500LL, 5371500LL, "60M Channel 4",                    band60, TRUE},
        {5403500LL, 5403500LL, "60M Channel 5",                    band60, TRUE},

        {5900000LL, 6200000LL, "49M Short Wave",                   bandGen,FALSE}, 

        {7000000LL, 7024999LL, "40M Extra CW",                     band40, TRUE},
        {7025000LL, 7039999LL, "40M CW",                           band40, TRUE},
        {7040000LL, 7040000LL, "40M RTTY DX",                      band40, TRUE},
        {7040001LL, 7099999LL, "40M RTTY",                         band40, TRUE},
        {7100000LL, 7124999LL, "40M CW",                           band40, TRUE},
        {7125000LL, 7170999LL, "40M Ext/Adv SSB",                  band40, TRUE},
        {7171000LL, 7171000LL, "40M SSTV",                         band40, TRUE},
        {7171001LL, 7174999LL, "40M Ext/Adv SSB",                  band40, TRUE},
        {7175000LL, 7289999LL, "40M SSB",                          band40, TRUE},
        {7290000LL, 7290000LL, "40M AM Calling Frequency",         band40, TRUE},
        {7290001LL, 7299999LL, "40M SSB",                          band40, TRUE},

        {7300000LL, 7350000LL, "41M Short Wave",                   bandGen,FALSE}, 
        {9400000LL, 9900000LL, "31M Short Wave",                   bandGen,FALSE}, 

        {10000000LL, 10000000LL, "WWV",                            bandWWV,FALSE}, 

        {10100000LL, 10129999LL, "30M CW",                         band30, TRUE},
        {10130000LL, 10139999LL, "30M RTTY",                       band30, TRUE},
        {10140000LL, 10149999LL, "30M Packet",                     band30, TRUE},

        {11600000LL, 12100000LL, "25M Short Wave",                 bandGen,FALSE}, 
        {13570000LL, 13870000LL, "22M Short Wave",                 bandGen,FALSE}, 

        {14000000LL, 14024999LL, "20M Extra CW",                   band20, TRUE},
        {14025000LL, 14069999LL, "20M CW",                         band20, TRUE},
        {14070000LL, 14094999LL, "20M RTTY",                       band20, TRUE},
        {14095000LL, 14099499LL, "20M Packet",                     band20, TRUE},
        {14099500LL, 14099999LL, "20M CW",                         band20, TRUE},
        {14100000LL, 14100000LL, "20M NCDXF Beacons",              band20, TRUE},
        {14100001LL, 14100499LL, "20M CW",                         band20, TRUE},
        {14100500LL, 14111999LL, "20M Packet",                     band20, TRUE},
        {14112000LL, 14149999LL, "20M CW",                         band20, TRUE},
        {14150000LL, 14174999LL, "20M Extra SSB",                  band20, TRUE},
        {14175000LL, 14224999LL, "20M Ext/Adv SSB",                band20, TRUE},
        {14225000LL, 14229999LL, "20M SSB",                        band20, TRUE},
        {14230000LL, 14230000LL, "20M SSTV",                       band20, TRUE},
        {14230000LL, 14285999LL, "20M SSB",                        band20, TRUE},
        {14286000LL, 14286000LL, "20M AM Calling Frequency",       band20, TRUE},
        {14286001LL, 14349999LL, "20M SSB",                        band20, TRUE},

        {15000000LL, 15000000LL, "WWV",                            bandWWV,FALSE}, 

        {15100000LL, 15800000LL, "19M Short Wave",                 bandGen,FALSE}, 
        {17480000LL, 17900000LL, "16M Short Wave",                 bandGen,FALSE}, 

        {18068000LL, 18099999LL, "17M CW",                         band17, TRUE},
        {18100000LL, 18104999LL, "17M RTTY",                       band17, TRUE},
        {18105000LL, 18109999LL, "17M Packet",                     band17, TRUE},
        {18110000LL, 18110000LL, "17M NCDXF Beacons",              band17, TRUE},
        {18110001LL, 18167999LL, "17M SSB",                        band17, TRUE},

        {18900000LL, 19020000LL, "15M Short Wave",                 bandGen,FALSE}, 

        {20000000LL, 20000000LL, "WWV",                            bandWWV,FALSE}, 

        {21000000LL, 21024999LL, "15M Extra CW",                   band15, TRUE},
        {21025000LL, 21069999LL, "15M CW",                         band15, TRUE},
        {21070000LL, 21099999LL, "15M RTTY",                       band15, TRUE},
        {21100000LL, 21109999LL, "15M Packet",                     band15, TRUE},
        {21110000LL, 21149999LL, "15M CW",                         band15, TRUE},
        {21150000LL, 21150000LL, "15M NCDXF Beacons",              band15, TRUE},
        {21150001LL, 21199999LL, "15M CW",                         band15, TRUE},
        {21200000LL, 21224999LL, "15M Extra SSB",                  band15, TRUE},
        {21225000LL, 21274999LL, "15M Ext/Adv SSB",                band15, TRUE},
        {21275000LL, 21339999LL, "15M SSB",                        band15, TRUE},
        {21340000LL, 21340000LL, "15M SSTV",                       band15, TRUE},
        {21340001LL, 21449999LL, "15M SSB",                        band15, TRUE},

        {21450000LL, 21850000LL, "13M Short Wave",                 bandGen,FALSE}, 

        {24890000LL, 24919999LL, "12M CW",                         band12, TRUE},
        {24920000LL, 24924999LL, "12M RTTY",                       band12, TRUE},
        {24925000LL, 24929999LL, "12M Packet",                     band12, TRUE},
        {24930000LL, 24930000LL, "12M NCDXF Beacons",              band12, TRUE},
        {24930001LL, 24989999LL, "12M SSB Wideband",               band12, TRUE},

        {25600000LL, 26100000LL, "11M Short Wave",                 bandGen,FALSE}, 

        {28000000LL, 28069999LL, "10M CW",                         band10, TRUE},
        {28070000LL, 28149999LL, "10M RTTY",                       band10, TRUE},
        {28150000LL, 28199999LL, "10M CW",                         band10, TRUE},
        {28200000LL, 28200000LL, "10M NCDXF Beacons",              band10, TRUE},
        {28200001LL, 28299999LL, "10M Beacons",                    band10, TRUE},
        {28300000LL, 28679999LL, "10M SSB",                        band10, TRUE},
        {28680000LL, 28680000LL, "10M SSTV",                       band10, TRUE},
        {28680001LL, 28999999LL, "10M SSB",                        band10, TRUE},
        {29000000LL, 29199999LL, "10M AM",                         band10, TRUE},
        {29200000LL, 29299999LL, "10M SSB",                        band10, TRUE},
        {29300000LL, 29509999LL, "10M Satellite Downlinks",        band10, TRUE},
        {29510000LL, 29519999LL, "10M Deadband",                   band10, TRUE},
        {29520000LL, 29589999LL, "10M Repeater Inputs",            band10, TRUE},
        {29590000LL, 29599999LL, "10M Deadband",                   band10, TRUE},
        {29600000LL, 29600000LL, "10M FM Simplex",                 band10, TRUE},
        {29600001LL, 29609999LL, "10M Deadband",                   band10, TRUE},
        {29610000LL, 29699999LL, "10M Repeater Outputs",           band10, TRUE},

        {50000000LL, 50059999LL, "6M CW",                          band6, TRUE},
        {50060000LL, 50079999LL, "6M Beacon Sub-Band",             band6, TRUE},
        {50080000LL, 50099999LL, "6M CW",                          band6, TRUE},
        {50100000LL, 50124999LL, "6M DX Window",                   band6, TRUE},
        {50125000LL, 50125000LL, "6M Calling Frequency",           band6, TRUE},
        {50125001LL, 50299999LL, "6M SSB",                         band6, TRUE},
        {50300000LL, 50599999LL, "6M All Modes",                   band6, TRUE},
        {50600000LL, 50619999LL, "6M Non Voice",                   band6, TRUE},
        {50620000LL, 50620000LL, "6M Digital Packet Calling",      band6, TRUE},
        {50620001LL, 50799999LL, "6M Non Voice",                   band6, TRUE},
        {50800000LL, 50999999LL, "6M RC",                          band6, TRUE},
        {51000000LL, 51099999LL, "6M Pacific DX Window",           band6, TRUE},
        {51100000LL, 51119999LL, "6M Deadband",                    band6, TRUE},
        {51120000LL, 51179999LL, "6M Digital Repeater Inputs",     band6, TRUE},
        {51180000LL, 51479999LL, "6M Repeater Inputs",             band6, TRUE},
        {51480000LL, 51619999LL, "6M Deadband",                    band6, TRUE},
        {51620000LL, 51679999LL, "6M Digital Repeater Outputs",    band6, TRUE},
        {51680000LL, 51979999LL, "6M Repeater Outputs",            band6, TRUE},
        {51980000LL, 51999999LL, "6M Deadband",                    band6, TRUE},
        {52000000LL, 52019999LL, "6M Repeater Inputs",             band6, TRUE},
        {52020000LL, 52020000LL, "6M FM Simplex",                  band6, TRUE},
        {52020001LL, 52039999LL, "6M Repeater Inputs",             band6, TRUE},
        {52040000LL, 52040000LL, "6M FM Simplex",                  band6, TRUE},
        {52040001LL, 52479999LL, "6M Repeater Inputs",             band6, TRUE},
        {52480000LL, 52499999LL, "6M Deadband",                    band6, TRUE},
        {52500000LL, 52524999LL, "6M Repeater Outputs",            band6, TRUE},
        {52525000LL, 52525000LL, "6M Primary FM Simplex",          band6, TRUE},
        {52525001LL, 52539999LL, "6M Deadband",                    band6, TRUE},
        {52540000LL, 52540000LL, "6M Secondary FM Simplex",        band6, TRUE},
        {52540001LL, 52979999LL, "6M Repeater Outputs",            band6, TRUE},
        {52980000LL, 52999999LL, "6M Deadbands",                   band6, TRUE},
        {53000000LL, 53000000LL, "6M Remote Base FM Spx",          band6, TRUE},
        {53000001LL, 53019999LL, "6M Repeater Inputs",             band6, TRUE},
        {53020000LL, 53020000LL, "6M FM Simplex",                  band6, TRUE},
        {53020001LL, 53479999LL, "6M Repeater Inputs",             band6, TRUE},
        {53480000LL, 53499999LL, "6M Deadband",                    band6, TRUE},
        {53500000LL, 53519999LL, "6M Repeater Outputs",            band6, TRUE},
        {53520000LL, 53520000LL, "6M FM Simplex",                  band6, TRUE},
        {53520001LL, 53899999LL, "6M Repeater Outputs",            band6, TRUE},
        {53900000LL, 53900000LL, "6M FM Simplex",                  band6, TRUE},
        {53900010, 53979999LL, "6M Repeater Outputs",            band6, TRUE},
        {53980000LL, 53999999LL, "6M Deadband",                    band6, TRUE},

        {144000000LL, 144099999LL, "2M CW",                         -1, TRUE},
        {144100000LL, 144199999LL, "2M CW/SSB",                     -1, TRUE},
        {144200000LL, 144200000LL, "2M Calling",                    -1, TRUE},
        {144200001LL, 144274999LL, "2M CW/SSB",                     -1, TRUE},
        {144275000LL, 144299999LL, "2M Beacon Sub-Band",            -1, TRUE},
        {144300000LL, 144499999LL, "2M Satellite",                  -1, TRUE},
        {144500000LL, 144599999LL, "2M Linear Translator Inputs",   -1, TRUE},
        {144600000LL, 144899999LL, "2M FM Repeater",                -1, TRUE},
        {144900000LL, 145199999LL, "2M FM Simplex",                 -1, TRUE},
        {145200000LL, 145499999LL, "2M FM Repeater",                -1, TRUE},
        {145500000LL, 145799999LL, "2M FM Simplex",                 -1, TRUE},
        {145800000LL, 145999999LL, "2M Satellite",                  -1, TRUE},
        {146000000LL, 146399999LL, "2M FM Repeater",                -1, TRUE},
        {146400000LL, 146609999LL, "2M FM Simplex",                 -1, TRUE},
        {146610000LL, 147389999LL, "2M FM Repeater",                -1, TRUE},
        {147390000LL, 147599999LL, "2M FM Simplex",                 -1, TRUE},
        {147600000LL, 147999999LL, "2M FM Repeater",                -1, TRUE},

        {222000000LL, 222024999LL, "125M EME/Weak Signal",          -1, TRUE},
        {222025000LL, 222049999LL, "125M Weak Signal",              -1, TRUE},
        {222050000LL, 222059999LL, "125M Propagation Beacons",      -1, TRUE},
        {222060000LL, 222099999LL, "125M Weak Signal",              -1, TRUE},
        {222100000LL, 222100000LL, "125M SSB/CW Calling",           -1, TRUE},
        {222100001LL, 222149999LL, "125M Weak Signal CW/SSB",       -1, TRUE},
        {222150000LL, 222249999LL, "125M Local Option",             -1, TRUE},
        {222250000LL, 223380000LL, "125M FM Repeater Inputs",       -1, TRUE},
        {222380001LL, 223399999LL, "125M General",                  -1, TRUE},
        {223400000LL, 223519999LL, "125M FM Simplex",               -1, TRUE},
        {223520000LL, 223639999LL, "125M Digital/Packet",           -1, TRUE},
        {223640000LL, 223700000LL, "125M Links/Control",            -1, TRUE},
        {223700001LL, 223709999LL, "125M General",                  -1, TRUE},
        {223710000LL, 223849999LL, "125M Local Option",             -1, TRUE},
        {223850000LL, 224980000LL, "125M Repeater Outputs",         -1, TRUE},

        {420000000LL, 425999999LL, "70CM ATV Repeater",             -1, TRUE},
        {426000000LL, 431999999LL, "70CM ATV Simplex",              -1, TRUE},
        {432000000LL, 432069999LL, "70CM EME",                      -1, TRUE},
        {432070000LL, 432099999LL, "70CM Weak Signal CW",           -1, TRUE},
        {432100000LL, 432100000LL, "70CM Calling Frequency",        -1, TRUE},
        {432100001LL, 432299999LL, "70CM Mixed Mode Weak Signal",   -1, TRUE},
        {432300000LL, 432399999LL, "70CM Propagation Beacons",      -1, TRUE},
        {432400000LL, 432999999LL, "70CM Mixed Mode Weak Signal",   -1, TRUE},
        {433000000LL, 434999999LL, "70CM Auxillary/Repeater Links", -1, TRUE},
        {435000000LL, 437999999LL, "70CM Satellite Only",           -1, TRUE},
        {438000000LL, 441999999LL, "70CM ATV Repeater",             -1, TRUE},
        {442000000LL, 444999999LL, "70CM Local Repeaters",          -1, TRUE},
        {445000000LL, 445999999LL, "70CM Local Option",             -1, TRUE},
        {446000000LL, 446000000LL, "70CM Simplex",                  -1, TRUE},
        {446000001LL, 446999999LL, "70CM Local Option",             -1, TRUE},
        {447000000LL, 450000000LL, "70CM Local Repeaters",          -1, TRUE},


        {902000000LL, 902099999LL, "33CM Weak Signal SSTV/FAX/ACSSB", -1, TRUE},
        {902100000LL, 902100000LL, "33CM Weak Signal Calling", -1, TRUE},
        {902100001LL, 902799999LL, "33CM Weak Signal SSTV/FAX/ACSSB", -1, TRUE},
        {902800000LL, 902999999LL, "33CM Weak Signal EME/CW", -1, TRUE},
        {903000000LL, 903099999LL, "33CM Digital Modes",   -1, TRUE},
        {903100000LL, 903100000LL, "33CM Alternate Calling", -1, TRUE},
        {903100001LL, 905999999LL, "33CM Digital Modes",   -1, TRUE},
        {906000000LL, 908999999LL, "33CM FM Repeater Inputs", -1, TRUE},
        {909000000LL, 914999999LL, "33CM ATV",                             -1, TRUE},
        {915000000LL, 917999999LL, "33CM Digital Modes",   -1, TRUE},
        {918000000LL, 920999999LL, "33CM FM Repeater Outputs", -1, TRUE},
        {921000000LL, 926999999LL, "33CM ATV",                             -1, TRUE},
        {927000000LL, 928000000LL, "33CM FM Simplex/Links", -1, TRUE},
         
        {1240000000LL, 1245999999LL, "23CM ATV #1",                -1, TRUE},
        {1246000000LL, 1251999999LL, "23CM FMN Point/Links", -1, TRUE},
        {1252000000LL, 1257999999LL, "23CM ATV #2, Digital Modes", -1, TRUE},
        {1258000000LL, 1259999999LL, "23CM FMN Point/Links", -1, TRUE},
        {1260000000LL, 1269999999LL, "23CM Sat Uplinks/Wideband Exp", -1, TRUE},
        {1270000000LL, 1275999999LL, "23CM Repeater Inputs", -1, TRUE},
        {1276000000LL, 1281999999LL, "23CM ATV #3",                -1, TRUE},
        {1282000000LL, 1287999999LL, "23CM Repeater Outputs",      -1, TRUE},
        {1288000000LL, 1293999999LL, "23CM Simplex ATV/Wideband Exp", -1, TRUE},
        {1294000000LL, 1294499999LL, "23CM Simplex FMN",           -1, TRUE},
        {1294500000LL, 1294500000LL, "23CM FM Simplex Calling", -1, TRUE},
        {1294500001LL, 1294999999LL, "23CM Simplex FMN",           -1, TRUE},
        {1295000000LL, 1295799999LL, "23CM SSTV/FAX/ACSSB/Exp", -1, TRUE},
        {1295800000LL, 1295999999LL, "23CM EME/CW Expansion",      -1, TRUE},
        {1296000000LL, 1296049999LL, "23CM EME Exclusive",         -1, TRUE},
        {1296050000LL, 1296069999LL, "23CM Weak Signal",           -1, TRUE},
        {1296070000LL, 1296079999LL, "23CM CW Beacons",            -1, TRUE},
        {1296080000LL, 1296099999LL, "23CM Weak Signal",           -1, TRUE},
        {1296100000LL, 1296100000LL, "23CM CW/SSB Calling",        -1, TRUE},
        {1296100001LL, 1296399999LL, "23CM Weak Signal",           -1, TRUE},
        {1296400000LL, 1296599999LL, "23CM X-Band Translator Input", -1, TRUE},
        {1296600000LL, 1296799999LL, "23CM X-Band Translator Output", -1, TRUE},
        {1296800000LL, 1296999999LL, "23CM Experimental Beacons", -1, TRUE},
        {1297000000LL, 1300000000LL, "23CM Digital Modes",         -1, TRUE},

        {2300000000LL, 2302999999LL, "23GHz High Data Rate", -1, TRUE},
        {2303000000LL, 2303499999LL, "23GHz Packet",              -1, TRUE},
        {2303500000LL, 2303800000LL, "23GHz TTY Packet",  -1, TRUE},
        {2303800001LL, 2303899999LL, "23GHz General",     -1, TRUE},
        {2303900000LL, 2303900000LL, "23GHz Packet/TTY/CW/EME", -1, TRUE},
        {2303900001LL, 2304099999LL, "23GHz CW/EME",              -1, TRUE},
        {2304100000LL, 2304100000LL, "23GHz Calling Frequency", -1, TRUE},
        {2304100001LL, 2304199999LL, "23GHz CW/EME/SSB",  -1, TRUE},
        {2304200000LL, 2304299999LL, "23GHz SSB/SSTV/FAX/Packet AM/Amtor", -1, TRUE},
        {2304300000LL, 2304319999LL, "23GHz Propagation Beacon Network", -1, TRUE},
        {2304320000LL, 2304399999LL, "23GHz General Propagation Beacons", -1, TRUE},
        {2304400000LL, 2304499999LL, "23GHz SSB/SSTV/ACSSB/FAX/Packet AM", -1, TRUE},
        {2304500000LL, 2304699999LL, "23GHz X-Band Translator Input", -1, TRUE},
        {2304700000LL, 2304899999LL, "23GHz X-Band Translator Output", -1, TRUE},
        {2304900000LL, 2304999999LL, "23GHz Experimental Beacons", -1, TRUE},
        {2305000000LL, 2305199999LL, "23GHz FM Simplex", -1, TRUE},
        {2305200000LL, 2305200000LL, "23GHz FM Simplex Calling", -1, TRUE},
        {2305200001LL, 2305999999LL, "23GHz FM Simplex", -1, TRUE},
        {2306000000LL, 2308999999LL, "23GHz FM Repeaters", -1, TRUE},
        {2309000000LL, 2310000000LL, "23GHz Control/Aux Links", -1, TRUE},
        {2390000000LL, 2395999999LL, "23GHz Fast-Scan TV", -1, TRUE},
        {2396000000LL, 2398999999LL, "23GHz High Rate Data", -1, TRUE},
        {2399000000LL, 2399499999LL, "23GHz Packet", -1, TRUE},
        {2399500000LL, 2399999999LL, "23GHz Control/Aux Links", -1, TRUE},
        {2400000000LL, 2402999999LL, "24GHz Satellite", -1, TRUE},
        {2403000000LL, 2407999999LL, "24GHz Satellite High-Rate Data", -1, TRUE},
        {2408000000LL, 2409999999LL, "24GHz Satellite", -1, TRUE},
        {2410000000LL, 2412999999LL, "24GHz FM Repeaters", -1, TRUE},
        {2413000000LL, 2417999999LL, "24GHz High-Rate Data", -1, TRUE},
        {2418000000LL, 2429999999LL, "24GHz Fast-Scan TV", -1, TRUE},
        {2430000000LL, 2432999999LL, "24GHz Satellite", -1, TRUE},
        {2433000000LL, 2437999999LL, "24GHz Sat High-Rate Data", -1, TRUE},
        {2438000000LL, 2450000000LL, "24GHz Wideband FM/FSTV/FMTV", -1, TRUE},

        {3456000000LL, 3456099999LL, "3.4GHz General", -1, TRUE},
        {3456100000LL, 3456100000LL, "3.4GHz Calling Frequency", -1, TRUE},
        {3456100001LL, 3456299999LL, "3.4GHz General", -1, TRUE},
        {3456300000LL, 3456400000LL, "3.4GHz Propagation Beacons", -1, TRUE},

        {5760000000LL, 5760099999LL, "5.7GHz General", -1, TRUE},
        {5760100000LL, 5760100000LL, "5.7GHz Calling Frequency", -1, TRUE},
        {5760100001LL, 5760299999LL, "5.7GHz General", -1, TRUE},
        {5760300000LL, 5760400000LL, "5.7GHz Propagation Beacons", -1, TRUE},

        {10368000000LL, 10368099999LL, "10GHz General", -1, TRUE},
        {10368100000LL, 10368100000LL, "10GHz Calling Frequency", -1, TRUE},
        {10368100001LL, 10368400000LL, "10GHz General", -1, TRUE},

        {24192000000LL, 24192099999LL, "24GHz General", -1, TRUE},
        {24192100000LL, 24192100000LL, "24GHz Calling Frequency", -1, TRUE},
        {24192100001LL, 24192400000LL, "24GHz General", -1, TRUE},

        {47088000000LL, 47088099999LL, "47GHz General", -1, TRUE},
        {47088100000LL, 47088100000LL, "47GHz Calling Frequency", -1, TRUE},
        {47088100001LL, 47088400000LL, "47GHz General", -1, TRUE},



        {0,        0,        "",                               0,     FALSE}

        

    };

/* --------------------------------------------------------------------------*/
/** 
* @brief iGet the frequency information
* 
* @param frequency
* 
* @return 
*/
char* getFrequencyInfo(long long frequency) {

    char* result=outOfBand;

    struct frequency_info* info=frequencyInfo;

    while(info->minFrequency!=0) {
        if(frequency<info->minFrequency) {
            break;
        } else if(frequency>=info->minFrequency && frequency<=info->maxFrequency) {
            result=info->info;
            break;
        }
        info++;
    }

    return result;
}

/* --------------------------------------------------------------------------*/
/** 
* @brief Get Band information
* 
* @param frequency
* 
* @return 
*/
int getBand(long long frequency) {
    int result=bandGen;

    struct frequency_info* info=frequencyInfo;

    while(info->minFrequency!=0) {
        if(frequency<info->minFrequency) {
            break;
        } else if(frequency>=info->minFrequency && frequency<=info->maxFrequency) {
            result=info->band;
            break;
        }
        info++;
    }

    return result;
}

