aboutsummaryrefslogtreecommitdiffstats
path: root/dvb-c/lu-Ettelbruck-ACE
blob: 4a567feeb478e81b16e6eed1996962c8b74580e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Scan config for Antenne Collective Ettelbruck a.s.b.l.
# (http://antenne-ettelbruck.lu)
# Luxembourg - Ettelbruck
# freq sr fec mod
[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 634000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 642000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 650000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 666000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 674000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 682000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 690000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 698000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 706000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 714000000
	SYMBOL_RATE = 6900000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 656000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 660000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 720000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 732000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 724000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 728000000
	SYMBOL_RATE = 3450000
	INNER_FEC = NONE
	MODULATION = QAM/64
	INVERSION = AUTO
>#include "debug.h" #include "plugin.h" #include "hash.h" #include "cfg.h" #define SECTION "Plugin:Seti" #define DIRKEY "Directory" #define STATEFILE "state.sah" static HASH SETI; static int fatal = 0; static int parse_seti(void) { static char fn[256] = ""; FILE *stream; int age; /* if a fatal error occurred, do nothing */ if (fatal != 0) return -1; /* reread every 100 msec only */ age = hash_age(&SETI, NULL); if (age > 0 && age <= 100) return 0; if (fn[0] == '\0') { char *dir = cfg_get(SECTION, DIRKEY, NULL); if (dir == NULL || *dir == '\0') { error("no '%s.%s' entry from %s\n", SECTION, DIRKEY, cfg_source()); fatal = 1; return -1; } if (strlen(dir) > sizeof(fn) - sizeof(STATEFILE) - 2) { error("entry '%s.%s' too long from %s!\n", SECTION, DIRKEY, cfg_source()); fatal = 1; free(dir); return -1; } strcpy(fn, dir); if (fn[strlen(fn) - 1] != '/') strcat(fn, "/"); strcat(fn, STATEFILE); free(dir); } stream = fopen(fn, "r"); if (stream == NULL) { error("fopen(%s) failed: %s", fn, strerror(errno)); return -1; } while (!feof(stream)) { char buffer[256]; char *c, *key, *val; fgets(buffer, sizeof(buffer), stream); c = strchr(buffer, '='); if (c == NULL) continue; key = buffer; val = c + 1; /* strip leading blanks from key */ while (isspace(*key)) *key++ = '\0'; /* strip trailing blanks from key */ do *c = '\0'; while (isspace(*--c)); /* strip leading blanks from value */ while (isspace(*val)) *val++ = '\0'; /* strip trailing blanks from value */ for (c = val; *c != '\0'; c++); while (isspace(*--c)) *c = '\0'; /* add entry to hash table */ hash_put(&SETI, key, val); } fclose(stream); return 0; } static void my_seti(RESULT * result, RESULT * arg1) { char *key, *val; if (parse_seti() < 0) { SetResult(&result, R_STRING, ""); return; } key = R2S(arg1); val = hash_get(&SETI, key, NULL); if (val == NULL) val = ""; SetResult(&result, R_STRING, val); } int plugin_init_seti(void) { hash_create(&SETI); AddFunction("seti", 1, my_seti); return 0; } void plugin_exit_seti(void) { hash_destroy(&SETI); }