osmocom-analog/src/cnetz/stations.c

975 lines
25 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "stations.h"
/* The list of cell towers is ripped from BSA61 phone's firmware */
static struct cnetz_stations {
char standort[64];
uint8_t nat, fuvst, rest;
} cnetz_stations[] = {
/* Standort Nat FuVST Rest */
{ "Aachen 1", 3, 2, 86 },
{ "AachenKo", 3, 2, 50 },
{ "Aache120", 3, 2, 52 },
{ "Aachen57", 3, 2, 53 },
{ "Alsdorf3", 3, 2, 49 },
{ "AltonaWF", 5, 2, 31 },
{ "B.Berleb", 7, 2, 43 },
{ "B.Bertr.", 7, 2, 20 },
{ "B.Honn80", 7, 2, 12 },
{ "B.Honn0", 7, 2, 31 },
{ "B.Mari.", 7, 2, 19 },
{ "B.Neuena", 7, 2, 38 },
{ "Balve 7", 5, 2, 33 },
{ "Beckum 3", 5, 2, 17 },
{ "Bensb.60", 6, 2, 78 },
{ "Bergheim", 6, 2, 16 },
{ "BergiGla", 6, 2, 21 },
{ "Betzd. 4", 7, 2, 23 },
{ "Bocholt0", 3, 2, 66 },
{ "Bochum 0", 4, 2, 17 },
{ "Stiepel", 4, 2, 84 },
{ "Wattensc", 4, 2, 83 },
{ "Boenen", 4, 2, 34 },
{ "Bonn 0", 7, 2, 7 },
{ "Bonn 2 K", 7, 2, 72 },
{ "Bonn 13", 7, 2, 42 },
{ "Bonn 320", 7, 2, 11 },
{ "Bonn 620", 7, 2, 13 },
{ "Bonn 670", 7, 2, 36 },
{ "Bottrop", 1, 2, 13 },
{ "BrilonMe", 5, 2, 57 },
{ "Bruehl 0", 6, 2, 29 },
{ "Bueren 1", 5, 2, 56 },
{ "Bursche.", 2, 2, 93 },
{ "Cast.Ra.", 4, 2, 27 },
{ "Coesfeld", 5, 2, 42 },
{ "Datteln", 4, 2, 80 },
{ "Dawn 4", 7, 2, 4 },
{ "Dinsl. 2", 1, 2, 82 },
{ "Dormag.", 2, 2, 40 },
{ "Dorsten", 5, 2, 2 },
{ "Dortm.10", 4, 2, 28 },
{ "Dortm. 3", 4, 2, 1 },
{ "Dtmd-Sc.", 4, 2, 49 },
{ "Duess.10", 2, 2, 88 },
{ "Duess.12", 2, 2, 27 },
{ "Duess.27", 2, 2, 38 },
{ "Duess.30", 2, 2, 12 },
{ "Duess. 4", 2, 2, 24 },
{ "Dues.FZA", 2, 2, 39 },
{ "Duisb.0", 1, 2, 35 },
{ "Duisb.21", 1, 2, 8 },
{ "Duisb.25", 1, 2, 16 },
{ "Elten", 3, 2, 30 },
{ "Erftstd.", 6, 2, 12 },
{ "Erkelenz", 3, 2, 54 },
{ "Eschenb.", 7, 2, 24 },
{ "Eschwei2", 3, 2, 48 },
{ "Essen 13", 1, 2, 31 },
{ "Essen 15", 1, 2, 32 },
{ "Essen 28", 1, 2, 19 },
{ "Essen 35", 1, 2, 15 },
{ "Essen Ke", 1, 2, 76 },
{ "Euskir.4", 7, 2, 32 },
{ "Frechen", 6, 2, 81 },
{ "Geilenki", 3, 2, 57 },
{ "Geldern", 3, 2, 31 },
{ "Gelsenk1", 1, 2, 14 },
{ "Gelsenk7", 1, 2, 21 },
{ "Gevelsb.", 4, 2, 12 },
{ "Greven 0", 5, 2, 43 },
{ "Grev.br.", 3, 2, 79 },
{ "Grev.Ka.", 3, 2, 11 },
{ "Gumme.13", 7, 2, 97 },
{ "Hagen 2", 4, 2, 13 },
{ "Hallenb.", 5, 2, 26 },
{ "Haltern", 5, 2, 3 },
{ "Hamm", 4, 2, 40 },
{ "Hlg.haus", 1, 2, 9 },
{ "Heinsbg2", 3, 2, 58 },
{ "Herne 1", 4, 2, 18 },
{ "Hersch.1", 5, 2, 94 },
{ "Hilden 6", 2, 2, 26 },
{ "Hoehr-G.", 7, 2, 15 },
{ "Holzwi.", 4, 2, 25 },
{ "Huertgwd", 3, 2, 25 },
{ "Huerth", 6, 2, 67 },
{ "Iserlohn", 4, 2, 36 },
{ "Juechen4", 3, 2, 44 },
{ "Juelich3", 3, 2, 59 },
{ "Kamen", 4, 2, 38 },
{ "Kleve 7", 3, 2, 29 },
{ "Kobl. 10", 7, 2, 14 },
{ "Koeln 0", 6, 2, 5 },
{ "Kln. 23", 6, 2, 70 },
{ "Kln. 25", 6, 2, 23 },
{ "Kln. 170", 6, 2, 22 },
{ "Kln. 370", 6, 2, 24 },
{ "Kln. 430", 6, 2, 25 },
{ "Kln. 640", 6, 2, 27 },
{ "Kln. 760", 6, 2, 26 },
{ "Kln. 790", 6, 2, 8 },
{ "Kln. 850", 6, 2, 28 },
{ "Koeln 8", 6, 2, 6 },
{ "Koen./Ob", 7, 2, 3 },
{ "Krefe.19", 3, 2, 2 },
{ "Krefeld4", 3, 2, 69 },
{ "Kreuztal", 7, 2, 41 },
{ "Kuerten1", 7, 2, 34 },
{ "Kuerten3", 7, 2, 30 },
{ "Lennestd", 7, 2, 40 },
{ "Lethma.7", 4, 2, 29 },
{ "Leverk.0", 6, 2, 91 },
{ "Lev.Opl.", 2, 2, 41 },
{ "Lippstad", 5, 2, 8 },
{ "Lohmar 1", 7, 2, 98 },
{ "Luedens.", 5, 2, 30 },
{ "Luedhs.", 5, 2, 21 },
{ "Luenen 0", 4, 2, 33 },
{ "Marl 0", 5, 2, 4 },
{ "Meerbu.B", 2, 2, 37 },
{ "Menden11", 4, 2, 37 },
{ "Merten", 6, 2, 9 },
{ "Meschede", 5, 2, 22 },
{ "Mettm. 2", 2, 2, 66 },
{ "Moehnes.", 5, 2, 24 },
{ "Mgldb. 3", 3, 2, 4 },
{ "Mgldb. 7", 3, 2, 45 },
{ "Moers 0", 3, 2, 32 },
{ "Muens.Al", 5, 2, 41 },
{ "Muens.42", 5, 2, 6 },
{ "Nehm.Hu.", 5, 2, 5 },
{ "Meinerzh", 5, 2, 32 },
{ "Nettersh", 3, 2, 62 },
{ "Nettetal", 3, 2, 40 },
{ "Neukir.6", 3, 2, 65 },
{ "NeussNor", 2, 2, 11 },
{ "Neuss 8", 2, 2, 23 },
{ "Neuss 14", 2, 2, 10 },
{ "Nd.Kass.", 6, 2, 4 },
{ "Nordkir3", 5, 2, 44 },
{ "Nottuln2", 5, 2, 36 },
{ "Oberh. 1", 1, 2, 68 },
{ "Oberh.16", 1, 2, 12 },
{ "Oberh.21", 1, 2, 7 },
{ "Oberh.25", 1, 2, 37 },
{ "Oberh. 9", 1, 2, 89 },
{ "Oelde 2", 5, 2, 40 },
{ "Overath5", 7, 2, 1 },
{ "Plettenb", 5, 2, 34 },
{ "Porz 50", 6, 2, 15 },
{ "Pulheim", 6, 2, 14 },
{ "Ratingen", 2, 2, 20 },
{ "Recklhs.", 4, 2, 74 },
{ "Remsch.4", 2, 2, 34 },
{ "Roesr.Na", 6, 2, 68 },
{ "Rommersk", 6, 2, 20 },
{ "Schleidn", 3, 2, 56 },
{ "Schm.Bo.", 5, 2, 25 },
{ "Schoepp.", 5, 2, 93 },
{ "Schwalmt", 3, 2, 43 },
{ "Schwerte", 4, 2, 73 },
{ "Sendenh.", 5, 2, 18 },
{ "Siegen 1", 7, 2, 96 },
{ "Siegb.20", 7, 2, 2 },
{ "Simmerat", 3, 2, 61 },
{ "Soling.", 2, 2, 43 },
{ "Stolbg.2", 3, 2, 46 },
{ "Stolbg.3", 3, 2, 47 },
{ "Straelen", 3, 2, 64 },
{ "Sundern1", 5, 2, 55 },
{ "Telgte 0", 5, 2, 37 },
{ "Velbert1", 1, 2, 36 },
{ "Velb.La.", 1, 2, 11 },
{ "Velb.Ne.", 1, 2, 17 },
{ "Vettels.", 7, 2, 17 },
{ "Viersen1", 3, 2, 42 },
{ "Viersen4", 3, 2, 5 },
{ "Weibern2", 7, 2, 18 },
{ "Weilers.", 7, 2, 77 },
{ "Werdohl7", 5, 2, 35 },
{ "Werl-Rf.", 5, 2, 23 },
{ "Werne", 4, 2, 39 },
{ "Wesel", 3, 2, 28 },
{ "Wesseli.", 6, 2, 66 },
{ "Willich", 3, 2, 71 },
{ "Windeck2", 7, 2, 37 },
{ "Witten10", 4, 2, 31 },
{ "Witten12", 4, 2, 14 },
{ "Wupp. 2", 1, 2, 99 },
{ "Wupp. 23", 1, 2, 34 },
{ "Wupp. 30", 1, 2, 18 },
{ "Wupp.No.", 1, 2, 22 },
{ "Xanten 1", 3, 2, 27 },
{ "Chemn-9-", 5, 3, 5 },
{ "Zwick-9-", 5, 3, 4 },
{ "Biens-6-", 5, 3, 2 },
{ "Warth-6-", 5, 3, 3 },
{ "Leipz-5-", 2, 3, 98 },
{ "Peter-5-", 3, 3, 1 },
{ "Gompi-5-", 4, 3, 1 },
{ "Schwe-4-", 1, 3, 4 },
{ "Alt-b-4-", 1, 3, 8 },
{ "Graeb-4-", 1, 3, 9 },
{ "Phoeb-4-", 1, 3, 10 },
{ "Recka-4-", 1, 3, 11 },
{ "B.AltMoa", 2, 3, 4 },
{ "B.August", 2, 3, 14 },
{ "B.Coppis", 2, 3, 49 },
{ "B.Erasmu", 2, 3, 9 },
{ "B.FranzJ", 2, 3, 29 },
{ "B.Frohna", 2, 3, 2 },
{ "B.Forsts", 2, 3, 21 },
{ "B.Hannem", 2, 3, 18 },
{ "B.Herzbe", 2, 3, 59 },
{ "B.Hinden", 2, 3, 22 },
{ "B.Karl-M", 2, 3, 12 },
{ "B.Karlsh", 2, 3, 97 },
{ "B.Kettin", 2, 3, 20 },
{ "B.Lieber", 2, 3, 58 },
{ "B.Lobeck", 2, 3, 23 },
{ "B.Lueder", 2, 3, 8 },
{ "B.Masure", 2, 3, 60 },
{ "B.Oranie", 2, 3, 13 },
{ "B.PGiroA", 2, 3, 1 },
{ "B.Prenzl", 2, 3, 57 },
{ "B.Rathau", 2, 3, 15 },
{ "B.Rochst", 2, 3, 40 },
{ "B.Ruegen", 2, 3, 3 },
{ "B.Schaef", 2, 3, 99 },
{ "B.Schmar", 2, 3, 16 },
{ "B.Scholz", 2, 3, 61 },
{ "B.Skalit", 2, 3, 7 },
{ "B.Streit", 2, 3, 19 },
{ "B.Strese", 2, 3, 5 },
{ "B.Tempel", 2, 3, 17 },
{ "B.Werner", 2, 3, 11 },
{ "B.Wilh.-", 2, 3, 36 },
{ "B.Wilkes", 2, 3, 6 },
{ "B.Winter", 2, 3, 10 },
{ "Birkholz", 2, 3, 44 },
{ "Hamberge", 1, 3, 3 },
{ "Hayn", 5, 3, 1 },
{ "Rostock", 1, 3, 2 },
{ "Stralsun", 1, 3, 1 },
{ "B.Segebg", 1, 4, 95 },
{ "Bredst.3", 1, 4, 24 },
{ "Bremen38", 1, 4, 6 },
{ "Bremerh.", 1, 4, 21 },
{ "Brm. 0", 1, 4, 31 },
{ "Brm. 80", 1, 4, 40 },
{ "Walle", 1, 4, 67 },
{ "Woltmers", 1, 4, 68 },
{ "Huckelri", 1, 4, 70 },
{ "Hochh.Wi", 1, 4, 71 },
{ "Findorff", 1, 4, 37 },
{ "Tenever", 1, 4, 42 },
{ "Kloecknr", 1, 4, 74 },
{ "HochDuen", 1, 4, 75 },
{ "Berne 0", 1, 4, 85 },
{ "Bremervo", 1, 4, 87 },
{ "Delmenho", 1, 4, 39 },
{ "Edewecht", 1, 4, 84 },
{ "Friesoyt", 1, 4, 93 },
{ "GrKneten", 1, 4, 49 },
{ "Grolland", 1, 4, 69 },
{ "Hatten10", 1, 4, 79 },
{ "Hude 0", 1, 4, 45 },
{ "Ippener0", 1, 4, 77 },
{ "Kirchtim", 1, 4, 80 },
{ "Lilienth", 1, 4, 43 },
{ "Oldenbu0", 1, 4, 48 },
{ "Oldenbu1", 1, 4, 47 },
{ "Osterhol", 1, 4, 88 },
{ "Ritterhu", 1, 4, 38 },
{ "Varel 1", 1, 4, 92 },
{ "Weyhe 0", 1, 4, 41 },
{ "Wildesha", 1, 4, 90 },
{ "Brunsbue", 1, 4, 30 },
{ "Cuxhaven", 1, 4, 5 },
{ "Egestorf", 1, 4, 54 },
{ "Fleckeby", 1, 4, 12 },
{ "Freienw.", 1, 4, 19 },
{ "Heesl.B.", 1, 4, 9 },
{ "Heide 2", 1, 4, 22 },
{ "Helgolan", 1, 4, 97 },
{ "Hemmoor1", 1, 4, 4 },
{ "Hens.Ul.", 1, 4, 55 },
{ "Hoya 1", 1, 4, 8 },
{ "Jever 0", 1, 4, 15 },
{ "Kappeln", 1, 4, 96 },
{ "Kiel 2", 1, 4, 11 },
{ "Krum.Gr.", 1, 4, 26 },
{ "Leer 1", 1, 4, 25 },
{ "Luebeck", 1, 4, 56 },
{ "Luenebg.", 1, 4, 51 },
{ "Norden 0", 1, 4, 65 },
{ "Schoenw.", 1, 4, 57 },
{ "Schwarzb", 1, 4, 59 },
{ "Vechta L", 1, 4, 14 },
{ "Ahrens11", 2, 4, 60 },
{ "Bassum 3", 1, 4, 29 },
{ "Buxtehud", 2, 4, 2 },
{ "Elmshorn", 2, 4, 51 },
{ "FernVHmb", 2, 4, 33 },
{ "Finkenwd", 2, 4, 38 },
{ "Rosenga.", 2, 4, 49 },
{ "Seevetal", 2, 4, 48 },
{ "Garding1", 1, 4, 81 },
{ "Hamberg.", 1, 4, 28 },
{ "Hambg 22", 2, 4, 1 },
{ "HH FA 4", 2, 4, 53 },
{ "HH FHS", 2, 4, 32 },
{ "HH 105", 2, 4, 30 },
{ "HH 24", 2, 4, 50 },
{ "HH Alton", 2, 4, 31 },
{ "Barsbuet", 2, 4, 17 },
{ "Harburg", 2, 4, 13 },
{ "HH Modez", 2, 4, 35 },
{ "HH Hohel", 2, 4, 34 },
{ "HH Phi.M", 2, 4, 65 },
{ "NeuWulms", 2, 4, 47 },
{ "Poppenbu", 2, 4, 16 },
{ "HH PostA", 2, 4, 27 },
{ "HH Radow", 2, 4, 66 },
{ "SAGA A.B", 2, 4, 37 },
{ "Stade", 1, 4, 60 },
{ "Suederlu", 1, 4, 76 },
{ "Wedel 9", 1, 4, 64 },
{ "Hamm 25", 2, 4, 42 },
{ "Harsefld", 2, 4, 57 },
{ "Henstedt", 1, 4, 23 },
{ "Husum 0", 1, 4, 66 },
{ "Marne 0", 1, 4, 72 },
{ "Norderst", 2, 4, 52 },
{ "Osterjor", 1, 4, 63 },
{ "Pinnebg", 1, 4, 61 },
{ "Ratzebur", 1, 4, 58 },
{ "Rotenbu.", 2, 4, 41 },
{ "Reinfeld", 1, 4, 3 },
{ "Rendsbur", 1, 4, 17 },
{ "Steilho.", 2, 4, 43 },
{ "Travemue", 1, 4, 10 },
{ "VerdenWa", 1, 4, 7 },
{ "Waltersh", 2, 4, 39 },
{ "Wangerla", 1, 4, 89 },
{ "Westerl.", 1, 4, 20 },
{ "Wilhelms", 2, 4, 40 },
{ "Winsen 0", 2, 4, 58 },
{ "Wittsmoo", 2, 4, 62 },
{ "Bars.hs.", 2, 5, 2 },
{ "B.Pyrmon", 1, 5, 9 },
{ "B.Iburg", 1, 5, 26 },
{ "B.Benth2", 1, 5, 30 },
{ "Bergen 1", 2, 5, 3 },
{ "Bielef.1", 1, 5, 92 },
{ "Bram.En.", 1, 5, 12 },
{ "Brauns.3", 2, 5, 9 },
{ "Burgdorf", 2, 5, 68 },
{ "Burgwed.", 2, 5, 35 },
{ "Celle", 2, 5, 4 },
{ "Damme", 1, 5, 61 },
{ "DissenTW", 1, 5, 27 },
{ "Einbeck2", 2, 5, 94 },
{ "Eschwege", 2, 5, 73 },
{ "Fuersten", 1, 5, 29 },
{ "Garbsen", 2, 5, 33 },
{ "Gartow", 2, 5, 23 },
{ "Goett. 2", 2, 5, 14 },
{ "Goslar41", 2, 5, 41 },
{ "Grabow", 2, 5, 19 },
{ "Grossal.", 2, 5, 18 },
{ "Guetersl", 1, 5, 21 },
{ "Hameln10", 2, 5, 49 },
{ "Harsewin", 1, 5, 22 },
{ "Hann-Mu.", 2, 5, 54 },
{ "H. 2", 2, 5, 28 },
{ "H. 4 Mba", 2, 5, 26 },
{ "H. Messe", 2, 5, 62 },
{ "H. OPD", 2, 5, 27 },
{ "H.Studen", 2, 5, 29 },
{ "H.UniApp", 2, 5, 32 },
{ "H.Linden", 2, 5, 30 },
{ "H.UniHan", 2, 5, 31 },
{ "Helmst.", 2, 5, 51 },
{ "Herzberg", 2, 5, 53 },
{ "Hoevelhf", 1, 5, 24 },
{ "Ibbenb.", 1, 5, 11 },
{ "Irxleben", 2, 5, 88 },
{ "Kassel", 2, 5, 72 },
{ "Korbach", 2, 5, 78 },
{ "Langenhn", 2, 5, 86 },
{ "Lehrte", 2, 5, 37 },
{ "Lemgo", 1, 5, 25 },
{ "Lindern", 1, 5, 19 },
{ "Lindsbg.", 2, 5, 60 },
{ "Lingen", 1, 5, 17 },
{ "Luebbe.", 1, 5, 16 },
{ "Luedge-R", 1, 5, 10 },
{ "MelleBue", 1, 5, 28 },
{ "Melsung5", 2, 5, 75 },
{ "Meppen", 1, 5, 62 },
{ "Minden", 1, 5, 95 },
{ "Mori.Fr.", 2, 5, 15 },
{ "Munster1", 2, 5, 65 },
{ "Oerlingh", 1, 5, 20 },
{ "Paderbor", 1, 5, 23 },
{ "Peine", 2, 5, 6 },
{ "Rheine", 1, 5, 63 },
{ "Ronnebg.", 2, 5, 39 },
{ "Salzgitt", 2, 5, 67 },
{ "Salzh.df", 2, 5, 5 },
{ "Sarstedt", 2, 5, 38 },
{ "Schnever", 2, 5, 10 },
{ "Schoeneb", 2, 5, 58 },
{ "Seesen 1", 2, 5, 69 },
{ "Sibbesse", 2, 5, 7 },
{ "Sontra", 2, 5, 74 },
{ "Spraken.", 2, 5, 12 },
{ "Uelzen 3", 2, 5, 76 },
{ "Walsrode", 2, 5, 40 },
{ "Wedemark", 2, 5, 34 },
{ "Willeb.", 2, 5, 17 },
{ "Wolfsb.", 2, 5, 11 },
{ "Zernien", 2, 5, 22 },
{ "Zierenb.", 2, 5, 16 },
{ "Aarberg1", 3, 6, 43 },
{ "Aarberg3", 3, 6, 44 },
{ "Alsfeld1", 3, 6, 39 },
{ "Altenstd", 3, 6, 40 },
{ "Alzey", 3, 6, 12 },
{ "Annweile", 1, 6, 11 },
{ "Aschaf11", 3, 6, 90 },
{ "Babenhs3", 3, 6, 42 },
{ "B.Cambg3", 3, 6, 87 },
{ "B.Duerkh", 1, 6, 88 },
{ "B.Hersf2", 3, 6, 32 },
{ "B.Kreuz.", 1, 6, 30 },
{ "B.Schwa2", 3, 6, 45 },
{ "B.Soden", 2, 6, 36 },
{ "B.Vilbel", 2, 6, 54 },
{ "Benshm 0", 1, 6, 3 },
{ "Benshm13", 1, 6, 55 },
{ "Bernkas.", 1, 6, 25 },
{ "Biebert.", 3, 6, 27 },
{ "Bitburg", 1, 6, 38 },
{ "Boppard", 1, 6, 32 },
{ "Brensbac", 3, 6, 51 },
{ "Darmst.2", 3, 6, 23 },
{ "Dieburg0", 3, 6, 41 },
{ "Dieburg2", 3, 6, 6 },
{ "Eberbach", 1, 6, 7 },
{ "Ebersbg2", 3, 6, 35 },
{ "Eppstein", 3, 6, 26 },
{ "FFM Ber.", 2, 6, 49 },
{ "FFM Dan.", 2, 6, 43 },
{ "FFM Dis.", 2, 6, 50 },
{ "FFM Flug", 2, 6, 56 },
{ "FFM Gie.", 2, 6, 41 },
{ "FFM Kle.", 2, 6, 51 },
{ "FFM Lyo.", 2, 6, 52 },
{ "FFM Oes.", 2, 6, 53 },
{ "FFM Orb.", 2, 6, 55 },
{ "FFM Rai.", 2, 6, 40 },
{ "FFM Roe.", 2, 6, 39 },
{ "FFM Ste.", 2, 6, 45 },
{ "FFM Zeil", 2, 6, 38 },
{ "Floersh.", 3, 6, 22 },
{ "Frankent", 1, 6, 86 },
{ "Frankf16", 2, 6, 1 },
{ "Friedbg.", 3, 6, 2 },
{ "Fulda 3", 3, 6, 31 },
{ "Gelnhs.", 3, 6, 4 },
{ "Gerolste", 1, 6, 41 },
{ "Giessen0", 3, 6, 61 },
{ "Giessen3", 3, 6, 62 },
{ "Gruenstd", 1, 6, 87 },
{ "Gunt.bl.", 1, 6, 13 },
{ "Haina,K.", 3, 6, 29 },
{ "Hanau 1", 3, 6, 21 },
{ "Hanau 7", 3, 6, 24 },
{ "Hatters.", 2, 6, 46 },
{ "Heusw.", 1, 6, 35 },
{ "Idar-Ob.", 1, 6, 34 },
{ "Idstein", 3, 6, 84 },
{ "Igstadt", 3, 6, 7 },
{ "Kaisersl", 1, 6, 15 },
{ "Kelkh.", 2, 6, 47 },
{ "Kell", 1, 6, 23 },
{ "K.Heidel", 1, 6, 64 },
{ "K.Ladenb", 1, 6, 67 },
{ "K.Lampre", 1, 6, 68 },
{ "K.Landau", 1, 6, 63 },
{ "K.Ludwig", 1, 6, 61 },
{ "K.M.Diak", 1, 6, 72 },
{ "K.M.Gros", 1, 6, 73 },
{ "K.M.Kaef", 1, 6, 77 },
{ "K.M.Lade", 1, 6, 71 },
{ "K.M.Maim", 1, 6, 75 },
{ "K.M.Oelf", 1, 6, 76 },
{ "K.M.Wein", 1, 6, 74 },
{ "K.Neuhof", 1, 6, 70 },
{ "K.NeustW", 1, 6, 60 },
{ "K.Pfeiff", 1, 6, 69 },
{ "K.Schwet", 1, 6, 66 },
{ "K.Speyer", 1, 6, 62 },
{ "K.Viernh", 1, 6, 78 },
{ "Koenigs.", 2, 6, 42 },
{ "Konken 3", 1, 6, 17 },
{ "Kronberg", 2, 6, 37 },
{ "Lambrech", 1, 6, 8 },
{ "Langen", 2, 6, 8 },
{ "Lauterb1", 3, 6, 36 },
{ "Lebach 3", 1, 6, 47 },
{ "Limburg", 3, 6, 54 },
{ "Lindenfs", 1, 6, 4 },
{ "Lorch 3", 3, 6, 68 },
{ "Lorch 4", 3, 6, 71 },
{ "Mannh. 4", 1, 6, 99 },
{ "Mannh205", 1, 6, 97 },
{ "Marburg", 3, 6, 28 },
{ "Mz 4 Uni", 3, 6, 17 },
{ "Mz 26Lau", 3, 6, 18 },
{ "Mz 3", 3, 6, 16 },
{ "Mz 5 Fin", 3, 6, 19 },
{ "Mz Kaste", 3, 6, 20 },
{ "Merzig 3", 1, 6, 46 },
{ "Mettl.M.", 1, 6, 80 },
{ "Michelst", 3, 6, 59 },
{ "Moerfld6", 2, 6, 9 },
{ "MosbachB", 1, 6, 6 },
{ "Mudau 1", 1, 6, 14 },
{ "Neu Ise.", 2, 6, 44 },
{ "Neuenst.", 3, 6, 34 },
{ "Neunki.", 1, 6, 79 },
{ "Oberurs.", 2, 6, 48 },
{ "Off.Jah.", 2, 6, 61 },
{ "Off.Kra.", 2, 6, 79 },
{ "Oppenhei", 3, 6, 47 },
{ "Pirmas.", 1, 6, 16 },
{ "Pruem", 1, 6, 26 },
{ "Pfungsta", 3, 6, 50 },
{ "Rodgau", 2, 6, 10 },
{ "Ruedesh.", 1, 6, 31 },
{ "Ruessel.", 3, 6, 85 },
{ "Ruessel3", 3, 6, 15 },
{ "Saarbr.1", 1, 6, 36 },
{ "SaarbrWi", 1, 6, 37 },
{ "Saarburg", 1, 6, 40 },
{ "Schlange", 3, 6, 46 },
{ "Schluec.", 3, 6, 33 },
{ "Schotten", 3, 6, 3 },
{ "Seeheim2", 1, 6, 5 },
{ "Seligen.", 3, 6, 25 },
{ "Selters3", 3, 6, 86 },
{ "Sob.Eck.", 1, 6, 33 },
{ "Sulzbh10", 1, 6, 48 },
{ "Taunusst", 3, 6, 60 },
{ "Trier", 1, 6, 22 },
{ "Voelklin", 1, 6, 49 },
{ "Wallau", 3, 6, 81 },
{ "Weidenth", 1, 6, 9 },
{ "Weilburg", 3, 6, 30 },
{ "Westhofn", 1, 6, 2 },
{ "WI S.d.R", 3, 6, 83 },
{ "Wi K.A.R", 3, 6, 82 },
{ "Wi 1", 3, 6, 11 },
{ "Wilh.fel", 1, 6, 12 },
{ "Worms 4", 1, 6, 10 },
{ "Worms 7", 1, 6, 1 },
{ "Zweibrue", 1, 6, 82 },
{ "Bad-Bad5", 3, 7, 1 },
{ "Albst.L1", 1, 7, 2 },
{ "Albst.E2", 1, 7, 6 },
{ "Allensb1", 1, 7, 31 },
{ "Altenst2", 1, 7, 43 },
{ "Backna43", 1, 7, 38 },
{ "Badenwei", 3, 7, 4 },
{ "Balingen", 1, 7, 8 },
{ "Balingn2", 1, 7, 26 },
{ "B.Mergen", 1, 7, 24 },
{ "B.Rappen", 3, 7, 18 },
{ "B.Schuss", 1, 7, 35 },
{ "B.Urach2", 2, 7, 17 },
{ "B.Wimpfe", 1, 7, 57 },
{ "B.Wurzac", 1, 7, 61 },
{ "Besighei", 1, 7, 52 },
{ "Beuron 1", 1, 7, 1 },
{ "Biberbac", 1, 7, 92 },
{ "Blaube41", 1, 7, 83 },
{ "Blaustei", 1, 7, 80 },
{ "Bodmann3", 1, 7, 19 },
{ "Brackenh", 1, 7, 53 },
{ "Bretten3", 3, 7, 68 },
{ "Buehl Ba", 3, 7, 90 },
{ "Calw 3", 2, 7, 44 },
{ "Crailsh.", 1, 7, 25 },
{ "Deggenh.", 1, 7, 13 },
{ "Deggin71", 1, 7, 73 },
{ "Denkend.", 2, 7, 63 },
{ "Denzling", 3, 7, 30 },
{ "Donauesc", 1, 7, 15 },
{ "Ehingen1", 1, 7, 89 },
{ "Eigeltin", 3, 7, 75 },
{ "Ehningen", 2, 7, 92 },
{ "Emmendin", 3, 7, 36 },
{ "Eppingen", 3, 7, 17 },
{ "Erbach41", 1, 7, 86 },
{ "Ettenhei", 3, 7, 24 },
{ "Forchten", 1, 7, 56 },
{ "FreibuBr", 3, 7, 29 },
{ "Freudens", 3, 7, 97 },
{ "Friedric", 1, 7, 37 },
{ "Ammerbuc", 1, 7, 30 },
{ "Gomading", 2, 7, 23 },
{ "Gaggenau", 3, 7, 14 },
{ "Guenzb70", 1, 7, 59 },
{ "Baiersb.", 1, 7, 7 },
{ "Haigerlo", 1, 7, 54 },
{ "Hausach", 3, 7, 8 },
{ "Heching6", 1, 7, 29 },
{ "Heidenh2", 1, 7, 4 },
{ "HeilbrN1", 1, 7, 51 },
{ "Heilbr41", 1, 7, 48 },
{ "Heiligen", 1, 7, 94 },
{ "Heubach", 1, 7, 96 },
{ "Illertis", 1, 7, 91 },
{ "Isny 0", 1, 7, 71 },
{ "Karlsbad", 3, 7, 92 },
{ "Kirchhar", 3, 7, 19 },
{ "Kirchhei", 2, 7, 90 },
{ "Kirchzar", 3, 7, 33 },
{ "Klettgau", 1, 7, 17 },
{ "Klrh HPA", 3, 7, 42 },
{ "Klrh Wal", 3, 7, 47 },
{ "KlrhNeur", 3, 7, 45 },
{ "KlrhSiem", 3, 7, 46 },
{ "KlrhTMSt", 3, 7, 48 },
{ "KlrhGoer", 3, 7, 49 },
{ "KlrhDurl", 3, 7, 50 },
{ "KlrhMals", 3, 7, 52 },
{ "Koenigsb", 3, 7, 88 },
{ "Karlsbad", 3, 7, 34 },
{ "Walzbach", 3, 7, 41 },
{ "Bruchsal", 3, 7, 53 },
{ "Sinsheim", 3, 7, 57 },
{ "Waghaeus", 3, 7, 81 },
{ "B.Schoen", 3, 7, 60 },
{ "GrabenNe", 3, 7, 82 },
{ "Klrh1Mba", 3, 7, 44 },
{ "Durmersh", 3, 7, 51 },
{ "Kisslegg", 1, 7, 66 },
{ "Konstanz", 1, 7, 11 },
{ "Kressbro", 1, 7, 67 },
{ "Laichi41", 1, 7, 55 },
{ "Langenau", 1, 7, 78 },
{ "Langenbu", 1, 7, 22 },
{ "Lahr Sch", 3, 7, 23 },
{ "Laupheim", 1, 7, 90 },
{ "Lauterst", 1, 7, 5 },
{ "Leonb.Pr", 2, 7, 51 },
{ "Leutkirc", 1, 7, 49 },
{ "LichtenW", 2, 7, 18 },
{ "Lichtena", 3, 7, 16 },
{ "Lindau 7", 1, 7, 97 },
{ "Loerrach", 3, 7, 3 },
{ "Ludwigs2", 2, 7, 58 },
{ "Ludwigs3", 2, 7, 64 },
{ "Mainhar.", 1, 7, 32 },
{ "Marbac71", 2, 7, 89 },
{ "Markdorf", 1, 7, 63 },
{ "Maulbron", 3, 7, 10 },
{ "Mengen W", 1, 7, 34 },
{ "MetzingW", 2, 7, 12 },
{ "Moeckmue", 1, 7, 41 },
{ "Moensh43", 2, 7, 68 },
{ "Muench51", 2, 7, 54 },
{ "Muensing", 2, 7, 19 },
{ "Nagold-H", 1, 7, 27 },
{ "Neckarsu", 1, 7, 47 },
{ "Nersinge", 1, 7, 81 },
{ "Neuenstd", 1, 7, 44 },
{ "Nuerti.", 2, 7, 87 },
{ "Oberndof", 1, 7, 3 },
{ "Ochsenha", 1, 7, 74 },
{ "Oehrin41", 1, 7, 42 },
{ "Oehring3", 1, 7, 46 },
{ "Oestring", 3, 7, 43 },
{ "Pforzh.2", 3, 7, 28 },
{ "Pforzh.7", 3, 7, 2 },
{ "Plochin.", 2, 7, 60 },
{ "Rastatt6", 3, 7, 12 },
{ "Ravensbg", 1, 7, 36 },
{ "Waiblin4", 2, 7, 39 },
{ "Reutli.0", 2, 7, 10 },
{ "Rickenb.", 1, 7, 18 },
{ "Riedl. 2", 1, 7, 33 },
{ "Rottenbg", 1, 7, 28 },
{ "Rottweil", 1, 7, 58 },
{ "Rutesh.", 2, 7, 50 },
{ "Ruelzhei", 3, 7, 84 },
{ "Sauldorf", 1, 7, 20 },
{ "Schanb.", 2, 7, 66 },
{ "Schelkli", 1, 7, 72 },
{ "Gosheim1", 1, 7, 9 },
{ "Schoem.N", 3, 7, 95 },
{ "Schopfhe", 3, 7, 86 },
{ "Schorndf", 1, 7, 93 },
{ "Schrambe", 3, 7, 76 },
{ "Schwanau", 3, 7, 26 },
{ "Schweige", 1, 7, 50 },
{ "Schw.Ha.", 1, 7, 23 },
{ "Senden I", 1, 7, 87 },
{ "Sigmari.", 1, 7, 14 },
{ "Sindelf.", 2, 7, 46 },
{ "Singen", 1, 7, 16 },
{ "Spaichi3", 1, 7, 95 },
{ "St.Blasi", 3, 7, 63 },
{ "StgtMayb", 2, 7, 52 },
{ "StgtMitt", 2, 7, 30 },
{ "StgtEssl", 2, 7, 43 },
{ "Stgt Mba", 2, 7, 59 },
{ "Stgt FA1", 2, 7, 62 },
{ "Stgt Dai", 2, 7, 35 },
{ "Stgt Flu", 2, 7, 56 },
{ "Stgt Heu", 2, 7, 41 },
{ "Stgt Moe", 2, 7, 47 },
{ "Stgt PA", 2, 7, 32 },
{ "Stgt Vai", 2, 7, 48 },
{ "Stgt.Mue", 2, 7, 61 },
{ "Stockach", 3, 7, 73 },
{ "Sulz 3", 1, 7, 45 },
{ "Titis.N.", 3, 7, 5 },
{ "Trochtel", 2, 7, 13 },
{ "Tuebing6", 2, 7, 8 },
{ "Tuebing7", 2, 7, 4 },
{ "Tuttli.", 1, 7, 10 },
{ "Ulm 1", 1, 7, 70 },
{ "Ulm D2", 1, 7, 76 },
{ "Ulm D126", 1, 7, 77 },
{ "Ulm D141", 1, 7, 85 },
{ "Ulm D151", 1, 7, 82 },
{ "Ulm D172", 1, 7, 84 },
{ "Vaihing", 2, 7, 67 },
{ "Villinge", 3, 7, 77 },
{ "Vogtsb.", 3, 7, 6 },
{ "Waiblin.", 2, 7, 36 },
{ "Waldburg", 1, 7, 12 },
{ "Waldenb3", 2, 7, 57 },
{ "Waldkirc", 3, 7, 35 },
{ "Wangen", 1, 7, 62 },
{ "Weil d.S", 2, 7, 49 },
{ "Weissenh", 1, 7, 88 },
{ "Weisweil", 6, 7, 99 },
{ "Wiesloch", 3, 7, 65 },
{ "Wildbad3", 3, 7, 96 },
{ "Willst.", 3, 7, 9 },
{ "Winnen.", 2, 7, 37 },
{ "Woerth 0", 3, 7, 83 },
{ "Bietigh.", 2, 7, 65 },
{ "Vaihinge", 2, 7, 55 },
{ "Augsburg", 1, 8, 98 },
{ "Aichach", 1, 8, 31 },
{ "Altenstd", 1, 8, 40 },
{ "Anger 1", 1, 8, 24 },
{ "B.Reiche", 1, 8, 21 },
{ "Baierbr.", 1, 8, 53 },
{ "Baldham", 1, 8, 57 },
{ "Berchtsg", 1, 8, 34 },
{ "Bernbeu.", 1, 8, 65 },
{ "Burghaus", 1, 8, 74 },
{ "Dachau", 1, 8, 59 },
{ "Dommels.", 1, 8, 22 },
{ "Ebbs Oes", 1, 8, 75 },
{ "Fuerste.", 1, 8, 10 },
{ "Garching", 1, 8, 52 },
{ "Garmisch", 1, 8, 27 },
{ "Grainet", 1, 8, 28 },
{ "Hoehenki", 1, 8, 25 },
{ "Hohenp.", 1, 8, 26 },
{ "Hohensc.", 1, 8, 20 },
{ "Holzki.", 1, 8, 67 },
{ "Ingol.Z.", 1, 8, 11 },
{ "Isen", 1, 8, 93 },
{ "Landshut", 1, 8, 66 },
{ "M.18Bake", 2, 8, 29 },
{ "M.Am Lue", 2, 8, 39 },
{ "M.Arabel", 2, 8, 32 },
{ "M.Baierb", 2, 8, 43 },
{ "M.Blumen", 2, 8, 30 },
{ "M.Bluten", 2, 8, 37 },
{ "M.Bresla", 2, 8, 46 },
{ "M.Feldmo", 2, 8, 47 },
{ "M.Germer", 2, 8, 55 },
{ "M.HansGW", 2, 8, 44 },
{ "M.Heinri", 2, 8, 41 },
{ "M.Isabel", 2, 8, 31 },
{ "M.Kirche", 2, 8, 33 },
{ "M.Neuher", 2, 8, 38 },
{ "M.Rennba", 2, 8, 40 },
{ "M.Ridler", 2, 8, 49 },
{ "M.Seybot", 2, 8, 42 },
{ "M.Thalki", 2, 8, 48 },
{ "M.Unterf", 2, 8, 50 },
{ "M.Werinh", 2, 8, 34 },
{ "M.Winfri", 2, 8, 45 },
{ "Memminge", 1, 8, 19 },
{ "Mitteln.", 1, 8, 97 },
{ "Neufins.", 1, 8, 58 },
{ "Olching", 1, 8, 14 },
{ "Pfaffen.", 1, 8, 9 },
{ "Pfarrki.", 1, 8, 23 },
{ "Pfeffen.", 1, 8, 99 },
{ "Prien", 1, 8, 72 },
{ "Rosenhm", 1, 8, 68 },
{ "Sauerlch", 1, 8, 18 },
{ "Schnait.", 1, 8, 69 },
{ "Starnbg5", 1, 8, 17 },
{ "Teissen.", 1, 8, 4 },
{ "Thannha.", 1, 8, 29 },
{ "Traunst.", 1, 8, 63 },
{ "Untersc.", 1, 8, 54 },
{ "Vilsbib.", 1, 8, 60 },
{ "Waakirc.", 1, 8, 70 },
{ "Waldkrai", 1, 8, 73 },
{ "Wasserbg", 1, 8, 71 },
{ "Welden", 1, 8, 7 },
{ "Wiggens.", 1, 8, 8 },
{ "Wolfra.", 1, 8, 16 },
{ "Alladorf", 2, 9, 7 },
{ "Bay.Eis.", 2, 9, 26 },
{ "Betzens.", 2, 9, 6 },
{ "Bischof.", 2, 9, 22 },
{ "Burgbern", 2, 9, 94 },
{ "Burglen.", 2, 9, 47 },
{ "Burgobe.", 2, 9, 23 },
{ "Burgwin.", 2, 9, 14 },
{ "Buttenh.", 2, 9, 15 },
{ "Cham", 2, 9, 48 },
{ "Deggend.", 2, 9, 25 },
{ "Esselb.", 2, 9, 81 },
{ "Gemuend.", 2, 9, 52 },
{ "Greding3", 2, 9, 99 },
{ "Hammelbu", 1, 9, 56 },
{ "Hemau", 2, 9, 13 },
{ "Herzogen", 2, 9, 37 },
{ "Hirschau", 2, 9, 19 },
{ "Hofheim", 2, 9, 16 },
{ "Hof Saal", 1, 9, 12 },
{ "Iphofen2", 1, 9, 18 },
{ "Kelheim", 2, 9, 91 },
{ "Kronach", 2, 9, 40 },
{ "Langenfe", 2, 9, 65 },
{ "Lichtenf", 2, 9, 98 },
{ "Meeder", 2, 9, 17 },
{ "Miltenb.", 2, 9, 2 },
{ "Nbg OPD", 2, 9, 27 },
{ "Nbg Mari", 2, 9, 28 },
{ "Nbg Thus", 2, 9, 29 },
{ "Nbg BfA", 2, 9, 30 },
{ "Nbg Hkw", 2, 9, 31 },
{ "Nbg Fuer", 2, 9, 44 },
{ "Nbg Mugg", 2, 9, 43 },
{ "Nbg MueV", 2, 9, 33 },
{ "Nbg Lauf", 2, 9, 34 },
{ "Nbg Posb", 2, 9, 35 },
{ "Nbg Schw", 2, 9, 36 },
{ "Nbg Lang", 2, 9, 38 },
{ "Nbg Erla", 2, 9, 39 },
{ "Nbg 5 G", 2, 9, 4 },
{ "Nennsli.", 2, 9, 5 },
{ "Neusta-A", 2, 9, 64 },
{ "Oberbach", 2, 9, 20 },
{ "Obervie.", 2, 9, 50 },
{ "Regensb.", 2, 9, 12 },
{ "Rosstal", 2, 9, 45 },
{ "Schweinf", 2, 9, 55 },
{ "Tauberbh", 1, 9, 20 },
{ "Trockau", 1, 9, 9 },
{ "Uettingn", 1, 9, 22 },
{ "Unterple", 1, 9, 21 },
{ "Unterri.", 2, 9, 3 },
{ "Weiden", 2, 9, 18 },
{ "Wiesent.", 2, 9, 11 },
{ "Wuerzbg.", 2, 9, 9 },
{ "Wunsied.", 2, 9, 57 },
{ "Zell", 2, 9, 8 },
{ "Test Station",0, 0, 0 }, /* found in Siemens firmware as 'Gamburg' */
{ "FTZ Docs Example",1, 1, 38 }, /* use in FTZ standard as example */
{ "", 0, 0, 0 },
};
void init_station(void)
{
int i, j;
for (i = 0; cnetz_stations[i].standort[0]; i++) {
for (j = 0; cnetz_stations[i].standort[j]; j++) {
if (cnetz_stations[i].standort[j] == ' ')
cnetz_stations[i].standort[j] = '_';
}
}
}
void station_list(void)
{
int i;
char name[25];
printf("List of all base stations:\n");
printf("Name\t\tCountry,Switch,Cell ID \n");
for (i = 0; cnetz_stations[i].standort[0]; i++) {
memset(name, ' ', sizeof(name));
name[sizeof(name) - 1] = '\0';
memcpy(name, cnetz_stations[i].standort, strlen(cnetz_stations[i].standort));
printf("%s%d,%d,%d\n", name, cnetz_stations[i].nat, cnetz_stations[i].fuvst, cnetz_stations[i].rest);
}
}
const char *get_station_name(uint8_t nat, uint8_t fuvst, uint8_t rest)
{
int i;
for (i = 0; cnetz_stations[i].standort[0]; i++) {
if (cnetz_stations[i].nat == nat
&& cnetz_stations[i].fuvst == fuvst
&& cnetz_stations[i].rest == rest)
return cnetz_stations[i].standort;
}
return "unknown";
}
const char *get_station_id(const char *name, uint8_t *nat, uint8_t *fuvst, uint8_t *rest)
{
int i, found = -1;
for (i = 0; cnetz_stations[i].standort[0]; i++) {
/* check for given prefix */
if (!strncasecmp(cnetz_stations[i].standort, name, strlen(name))) {
/* found twice */
if (found >= 0)
return "Given station name is ambiguous, use more letters!";
/* found the first time */
found = i;
/* check for exact match, so we are done */
if (strlen(cnetz_stations[i].standort) == strlen(name))
break;
}
}
/* mo match */
if (found < 0)
return "Given station name not found! Use 'list' to get a list of all stations.\n";
/* here we go */
*nat = cnetz_stations[found].nat;
*fuvst = cnetz_stations[found].fuvst;
*rest = cnetz_stations[found].rest;
return NULL;
}