1 /* 2 * Tlf - contest logging program for amateur radio operators 3 * Copyright (C) 2001-2002-2003 Rein Couperus <pa0rct@amsat.org> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 */ 19 20 21 #ifndef TLF_H 22 #define TLF_H 23 24 #define NO_KEYER 0 25 #define LPT_KEYER 1 /* deprecated */ 26 #define COM1_KEYER 2 /* deprecated */ 27 #define NET_KEYER 3 28 #define MFJ1278_KEYER 4 29 #define ORION_KEYER 5 /* deprecated */ 30 #define K2_KEYER 6 /* deprecated */ 31 #define GMFSK 7 32 #define FLDIGI 8 33 34 #define SINGLE 0 /* single op */ 35 #define MULTI 1 /* multi op / single tx */ 36 37 #define TELNET_INTERFACE 1 38 #define TNC_INTERFACE 2 39 #define NETWORK_INTERFACE 3 40 #define FIFO_INTERFACE 4 41 42 #define NOCLUSTER 0 /* no cluster info */ 43 #define MAP 1 /* show spots */ 44 #define CLUSTER 3 /* full cluster info */ 45 #define FREQWINDOW 4 /* M/M frequencies */ 46 47 #define SHORTCW 1 /* short cw characters in exchange (e.g. 0 = T, 9 = N) */ 48 #define LONGCW 0 49 50 #define SEARCHWINDOW 1 /* searchflg on */ 51 52 typedef enum { 53 CQ, // Run 54 S_P, // Search and Pounce 55 AUTO_CQ, // temporary, used in autocq.c 56 KEYBOARD, // temporary, used in keyer.c 57 NONE // used in trx_memory to signal empty memory 58 } cqmode_t; 59 60 #define SEND_DE 1 /* de_mode on */ 61 #define CONTEST 1 /* contest mode on */ 62 63 #define FILTER_ANN 1 /* filter announcements */ 64 #define FILTER_DX 3 65 #define FILTER_ALL 0 66 #define FILTER_TALK 2 67 68 #define CWMODE 0 69 #define SSBMODE 1 70 #define DIGIMODE 2 71 72 #define BAND60 512 73 #define BAND30 256 74 #define BAND17 128 75 #define BAND12 64 76 #define BAND160 32 77 #define BAND80 16 78 #define BAND40 8 79 #define BAND20 4 80 #define BAND15 2 81 #define BAND10 1 82 #define BANDOOB 0 // out of band 83 84 85 enum { 86 BANDINDEX_160 = 0, 87 BANDINDEX_80, 88 BANDINDEX_60, 89 BANDINDEX_40, 90 BANDINDEX_30, 91 BANDINDEX_20, 92 BANDINDEX_17, 93 BANDINDEX_15, 94 BANDINDEX_12, 95 BANDINDEX_10, 96 BANDINDEX_OOB, /* out of band */ 97 NBANDS 98 }; 99 100 101 /* display color sets */ 102 enum { 103 C_HEADER = 2, 104 C_BORDER, 105 C_INPUT, 106 C_DUPE, 107 C_WINDOW, 108 C_LOG 109 }; 110 111 #define NORMCOLOR C_INPUT 112 #define ISDUPE 1 113 #define NODUPE 0 114 115 #define MAX_QSOS 20000 /* internal qso array */ 116 #define MAX_DATALINES 1000 /* from ctydb.dat */ 117 #define MAX_CALLS 5000 /* max nr of calls in dupe array */ 118 #define MAX_MULTS 1000 /* max nr of mults in mults array */ 119 #define MAX_SPOTS 200 /* max nr. of spots in spotarray */ 120 #define MAX_CALLMASTER 50000 /* max number of calls in callmaster array */ 121 #define CQ_ZONES 40 122 #define ITU_ZONES 90 123 #define MAX_ZONES (ITU_ZONES + 1) /* size of zones array */ 124 125 #define UNIQUECALL_ALL 1 126 #define UNIQUECALL_BAND 2 127 128 #define EXCLUDE_NONE 0 129 #define EXCLUDE_CONTINENT 1 130 #define EXCLUDE_COUNTRY 2 131 132 #define LOGLINELEN (88) /* Length of logline in logfile 133 (including linefeed) */ 134 #define MINITEST_DEFAULT_PERIOD 600 135 /* ignore dupe state when MINITEST is set 136 * and last QSO was not in actual period */ 137 138 /* special message numbers */ 139 enum { 140 SP_TU_MSG = 12, 141 CQ_TU_MSG = 13, 142 SP_CALL_MSG = 24 143 }; 144 145 /** worked station 146 * 147 * contains all informations about an already worked station */ 148 struct worked_t { 149 char call[20]; /**< call of the station */ 150 char exchange[12]; /**< the last exchange */ 151 int band; /**< bitmap for worked bands */ 152 int country; /**< its country number */ 153 long qsotime[3][NBANDS]; /**< last timestamp of qso in gmtime 154 for all modes and bands */ 155 }; 156 157 /** worked mults 158 * 159 * all information about worked multis */ 160 struct mults_t { 161 char name[12]; /**< Multiplier */ 162 int band; /**< bitmap with bands the multi was worked */ 163 }; 164 165 166 #define MAXPFXNUMMULT 30 167 typedef struct { 168 int countrynr; 169 int qsos[NBANDS]; 170 } t_pfxnummulti; 171 172 173 void refreshp(); 174 175 extern const char *backgrnd_str; 176 177 #endif /* TLF_H */ 178 179