Browse Source

Rename struct camd35 to struct camd.

Georgi Chorbadzhiyski 12 years ago
parent
commit
a71d02e33f
5 changed files with 55 additions and 55 deletions
  1. 10
    10
      camd-cs378x.c
  2. 18
    18
      camd.c
  3. 6
    6
      data.c
  4. 9
    9
      data.h
  5. 12
    12
      tsdecrypt.c

+ 10
- 10
camd-cs378x.c View File

@@ -28,22 +28,22 @@
28 28
 #include "util.h"
29 29
 #include "camd.h"
30 30
 
31
-static int cs378x_connect(struct camd35 *c) {
31
+static int cs378x_connect(struct camd *c) {
32 32
 	if (c->server_fd < 0)
33 33
 		c->server_fd = camd_tcp_connect(c->server_addr, c->server_port);
34 34
 	return c->server_fd;
35 35
 }
36 36
 
37
-static void cs378x_disconnect(struct camd35 *c) {
37
+static void cs378x_disconnect(struct camd *c) {
38 38
 	shutdown_fd(&c->server_fd);
39 39
 }
40 40
 
41
-static int cs378x_reconnect(struct camd35 *c) {
41
+static int cs378x_reconnect(struct camd *c) {
42 42
 	cs378x_disconnect(c);
43 43
 	return cs378x_connect(c);
44 44
 }
45 45
 
46
-static int cs378x_recv(struct camd35 *c, uint8_t *data, int *data_len) {
46
+static int cs378x_recv(struct camd *c, uint8_t *data, int *data_len) {
47 47
 	int i;
48 48
 
49 49
 	// Read AUTH token
@@ -52,7 +52,7 @@ static int cs378x_recv(struct camd35 *c, uint8_t *data, int *data_len) {
52 52
 		return -1;
53 53
 	uint32_t auth_token = (((data[0] << 24) | (data[1] << 16) | (data[2]<<8) | data[3]) & 0xffffffffL);
54 54
 	if (auth_token != c->auth_token)
55
-		ts_LOGf("WARN: recv auth 0x%08x != camd35_auth 0x%08x\n", auth_token, c->auth_token);
55
+		ts_LOGf("WARN: recv auth 0x%08x != camd_auth 0x%08x\n", auth_token, c->auth_token);
56 56
 
57 57
 	*data_len = 256;
58 58
 	for (i = 0; i < *data_len; i += 16) { // Read and decrypt payload
@@ -64,7 +64,7 @@ static int cs378x_recv(struct camd35 *c, uint8_t *data, int *data_len) {
64 64
 	return *data_len;
65 65
 }
66 66
 
67
-static int cs378x_send_buf(struct camd35 *c, int data_len) {
67
+static int cs378x_send_buf(struct camd *c, int data_len) {
68 68
 	int i;
69 69
 	unsigned char dump[16];
70 70
 
@@ -90,7 +90,7 @@ static int cs378x_send_buf(struct camd35 *c, int data_len) {
90 90
 	return fdwrite(c->server_fd, (char *)c->buf, data_len + 4);
91 91
 }
92 92
 
93
-static void cs378x_buf_init(struct camd35 *c, uint8_t *data, int data_len) {
93
+static void cs378x_buf_init(struct camd *c, uint8_t *data, int data_len) {
94 94
 	memset(c->buf, 0, CAMD35_HDR_LEN); // Reset header
95 95
 	memset(c->buf + CAMD35_HDR_LEN, 0xff, CAMD35_BUF_LEN - CAMD35_HDR_LEN); // Reset data
96 96
 	c->buf[1] = data_len; // Data length
@@ -98,7 +98,7 @@ static void cs378x_buf_init(struct camd35 *c, uint8_t *data, int data_len) {
98 98
 	memcpy(c->buf + CAMD35_HDR_LEN, data, data_len); // Copy data to buf
99 99
 }
100 100
 
101
-static int cs378x_do_ecm(struct camd35 *c, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len) {
101
+static int cs378x_do_ecm(struct camd *c, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len) {
102 102
 	uint32_t provider_id = 0;
103 103
 	int to_send = boundary(4, CAMD35_HDR_LEN + data_len);
104 104
 
@@ -115,7 +115,7 @@ static int cs378x_do_ecm(struct camd35 *c, uint16_t ca_id, uint16_t service_id,
115 115
 	return cs378x_send_buf(c, to_send);
116 116
 }
117 117
 
118
-static int cs378x_do_emm(struct camd35 *c, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
118
+static int cs378x_do_emm(struct camd *c, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
119 119
 	uint32_t prov_id = 0;
120 120
 	int to_send = boundary(4, CAMD35_HDR_LEN + data_len);
121 121
 
@@ -128,7 +128,7 @@ static int cs378x_do_emm(struct camd35 *c, uint16_t ca_id, uint8_t *data, uint8_
128 128
 	return cs378x_send_buf(c, to_send);
129 129
 }
130 130
 
131
-static int cs378x_get_cw(struct camd35 *c, uint16_t *ca_id, uint16_t *idx, uint8_t *cw) {
131
+static int cs378x_get_cw(struct camd *c, uint16_t *ca_id, uint16_t *idx, uint8_t *cw) {
132 132
 	uint8_t *data = c->buf;
133 133
 	int data_len = 0;
134 134
 	int ret = 0;

+ 18
- 18
camd.c View File

@@ -60,8 +60,8 @@ int camd_tcp_connect(struct in_addr ip, int port) {
60 60
 	return fd;
61 61
 }
62 62
 
63
-static int camd35_recv_cw(struct ts *ts) {
64
-	struct camd35 *c = &ts->camd35;
63
+static int camd_recv_cw(struct ts *ts) {
64
+	struct camd *c = &ts->camd;
65 65
 	struct timeval tv1, tv2, last_ts_keyset;
66 66
 	static uint8_t invalid_cw[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
67 67
 	uint16_t ca_id = 0;
@@ -115,8 +115,8 @@ static int camd35_recv_cw(struct ts *ts) {
115 115
 
116 116
 #undef ERR
117 117
 
118
-static int camd35_send_ecm(struct ts *ts, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len) {
119
-	struct camd35 *c = &ts->camd35;
118
+static int camd_send_ecm(struct ts *ts, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len) {
119
+	struct camd *c = &ts->camd;
120 120
 	int ret = c->ops.do_ecm(c, ca_id, service_id, idx, data, data_len);
121 121
 	if (ret <= 0) {
122 122
 		ts_LOGf("ERR | Error sending ecm packet, reconnecting to camd.\n");
@@ -125,7 +125,7 @@ static int camd35_send_ecm(struct ts *ts, uint16_t ca_id, uint16_t service_id, u
125 125
 		return ret;
126 126
 	}
127 127
 
128
-	ret = camd35_recv_cw(ts);
128
+	ret = camd_recv_cw(ts);
129 129
 	if (ret < 48) {
130 130
 		ts->is_cw_error = 1;
131 131
 		if (ts->key.ts && time(NULL) - ts->key.ts > KEY_VALID_TIME) {
@@ -140,8 +140,8 @@ static int camd35_send_ecm(struct ts *ts, uint16_t ca_id, uint16_t service_id, u
140 140
 	return ret;
141 141
 }
142 142
 
143
-static int camd35_send_emm(struct ts *ts, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
144
-	struct camd35 *c = &ts->camd35;
143
+static int camd_send_emm(struct ts *ts, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
144
+	struct camd *c = &ts->camd;
145 145
 	int ret = c->ops.do_emm(c, ca_id, data, data_len);
146 146
 	if (ret < 0) {
147 147
 		c->emm_recv_errors++;
@@ -159,12 +159,12 @@ static int camd35_send_emm(struct ts *ts, uint16_t ca_id, uint8_t *data, uint8_t
159 159
 static void camd_do_msg(struct camd_msg *msg) {
160 160
 	if (msg->type == EMM_MSG) {
161 161
 		msg->ts->emm_seen_count++;
162
-		if (camd35_send_emm(msg->ts, msg->ca_id, msg->data, msg->data_len) > 0)
162
+		if (camd_send_emm(msg->ts, msg->ca_id, msg->data, msg->data_len) > 0)
163 163
 			msg->ts->emm_processed_count++;
164 164
 	}
165 165
 	if (msg->type == ECM_MSG) {
166 166
 		msg->ts->ecm_seen_count++;
167
-		if (camd35_send_ecm(msg->ts, msg->ca_id, msg->service_id, msg->idx, msg->data, msg->data_len) > 0)
167
+		if (camd_send_ecm(msg->ts, msg->ca_id, msg->service_id, msg->idx, msg->data, msg->data_len) > 0)
168 168
 			msg->ts->ecm_processed_count++;
169 169
 	}
170 170
 
@@ -205,12 +205,12 @@ static void *camd_thread(void *in_ts) {
205 205
 
206 206
 	while (1) {
207 207
 		struct camd_msg *msg;
208
-		void *req = queue_get(ts->camd35.req_queue); // Waits...
208
+		void *req = queue_get(ts->camd.req_queue); // Waits...
209 209
 		if (!req || ts->camd_stop)
210 210
 			break;
211
-		msg = queue_get_nowait(ts->camd35.ecm_queue);
211
+		msg = queue_get_nowait(ts->camd.ecm_queue);
212 212
 		if (!msg)
213
-			msg = queue_get_nowait(ts->camd35.emm_queue);
213
+			msg = queue_get_nowait(ts->camd.emm_queue);
214 214
 		if (!msg)
215 215
 			break;
216 216
 		camd_do_msg(msg);
@@ -220,19 +220,19 @@ static void *camd_thread(void *in_ts) {
220 220
 
221 221
 void camd_msg_process(struct ts *ts, struct camd_msg *msg) {
222 222
 	msg->ts = ts;
223
-	if (ts->camd35.thread) {
223
+	if (ts->camd.thread) {
224 224
 		if (msg->type == EMM_MSG)
225
-			queue_add(ts->camd35.emm_queue, msg);
225
+			queue_add(ts->camd.emm_queue, msg);
226 226
 		if (msg->type == ECM_MSG)
227
-			queue_add(ts->camd35.ecm_queue, msg);
228
-		queue_add(ts->camd35.req_queue, msg);
227
+			queue_add(ts->camd.ecm_queue, msg);
228
+		queue_add(ts->camd.req_queue, msg);
229 229
 	} else {
230 230
 		camd_do_msg(msg);
231 231
 	}
232 232
 }
233 233
 
234 234
 void camd_start(struct ts *ts) {
235
-	struct camd35 *c = &ts->camd35;
235
+	struct camd *c = &ts->camd;
236 236
 	c->ops.connect(c);
237 237
 	// The input is not file, process messages using async thread
238 238
 	if (!(ts->input.type == FILE_IO && ts->input.fd != 0)) {
@@ -244,7 +244,7 @@ void camd_start(struct ts *ts) {
244 244
 }
245 245
 
246 246
 void camd_stop(struct ts *ts) {
247
-	struct camd35 *c = &ts->camd35;
247
+	struct camd *c = &ts->camd;
248 248
 	ts->camd_stop = 1;
249 249
 	if (c->thread) {
250 250
 		queue_wakeup(c->req_queue);

+ 6
- 6
data.c View File

@@ -60,12 +60,12 @@ void data_init(struct ts *ts) {
60 60
 	gettimeofday(&ts->key.ts_keyset, NULL);
61 61
 
62 62
 	// CAMD
63
-	memset(&ts->camd35, 0, sizeof(ts->camd35));
64
-	ts->camd35.server_fd    = -1;
65
-	ts->camd35.server_port  = 2233;
66
-	ts->camd35.key          = &ts->key;
67
-	strcpy(ts->camd35.user, "user");
68
-	strcpy(ts->camd35.pass, "pass");
63
+	memset(&ts->camd, 0, sizeof(ts->camd));
64
+	ts->camd.server_fd    = -1;
65
+	ts->camd.server_port  = 2233;
66
+	ts->camd.key          = &ts->key;
67
+	strcpy(ts->camd.user, "user");
68
+	strcpy(ts->camd.pass, "pass");
69 69
 
70 70
 	// Config
71 71
 	ts->syslog_port = 514;

+ 9
- 9
data.h View File

@@ -61,18 +61,18 @@ struct key {
61 61
 // When this limit is reached camd_reconnect is called.
62 62
 #define EMM_RECV_ERRORS_LIMIT 100
63 63
 
64
-struct camd35;
64
+struct camd;
65 65
 
66 66
 struct camd_ops {
67
-	int (*connect)(struct camd35 *c);
68
-	void (*disconnect)(struct camd35 *c);
69
-	int (*reconnect)(struct camd35 *c);
70
-	int (*do_emm)(struct camd35 *c, uint16_t ca_id, uint8_t *data, uint8_t data_len);
71
-	int (*do_ecm)(struct camd35 *c, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len);
72
-	int (*get_cw)(struct camd35 *c, uint16_t *ca_id, uint16_t *idx, uint8_t *cw);
67
+	int (*connect)(struct camd *c);
68
+	void (*disconnect)(struct camd *c);
69
+	int (*reconnect)(struct camd *c);
70
+	int (*do_emm)(struct camd *c, uint16_t ca_id, uint8_t *data, uint8_t data_len);
71
+	int (*do_ecm)(struct camd *c, uint16_t ca_id, uint16_t service_id, uint16_t idx, uint8_t *data, uint8_t data_len);
72
+	int (*get_cw)(struct camd *c, uint16_t *ca_id, uint16_t *idx, uint8_t *cw);
73 73
 };
74 74
 
75
-struct camd35 {
75
+struct camd {
76 76
 	int				server_fd;
77 77
 	struct in_addr	server_addr;
78 78
 	unsigned int	server_port;
@@ -157,7 +157,7 @@ struct ts {
157 157
 
158 158
 	// CAMD handling
159 159
 	struct key			key;
160
-	struct camd35		camd35;
160
+	struct camd			camd;
161 161
 
162 162
 	// Config
163 163
 	char				ident[128];

+ 12
- 12
tsdecrypt.c View File

@@ -195,8 +195,8 @@ static void show_help(struct ts *ts) {
195 195
 	printf("\n");
196 196
 	printf("CAMD server options:\n");
197 197
 	printf(" -s --camd-server <addr>    | Set CAMD server ip_address:port (1.2.3.4:2233).\n");
198
-	printf(" -U --camd-user <user>      | Set CAMD server user. Default: %s\n", ts->camd35.user);
199
-	printf(" -P --camd-pass <pass>      | Set CAMD server password. Default: %s\n", ts->camd35.pass);
198
+	printf(" -U --camd-user <user>      | Set CAMD server user. Default: %s\n", ts->camd.user);
199
+	printf(" -P --camd-pass <pass>      | Set CAMD server password. Default: %s\n", ts->camd.pass);
200 200
 	printf("\n");
201 201
 	printf("EMM options:\n");
202 202
 	printf(" -e --emm                   | Enable sending EMM's to CAMD. Default: %s\n", ts->emm_send ? "enabled" : "disabled");
@@ -352,20 +352,20 @@ static void parse_options(struct ts *ts, int argc, char **argv) {
352 352
 				p = strrchr(optarg, ':');
353 353
 				if (p) {
354 354
 					*p = 0x00;
355
-					ts->camd35.server_port = atoi(p + 1);
355
+					ts->camd.server_port = atoi(p + 1);
356 356
 				}
357
-				if (inet_aton(optarg, &ts->camd35.server_addr) == 0)
357
+				if (inet_aton(optarg, &ts->camd.server_addr) == 0)
358 358
 					server_err = 1;
359 359
 				else
360 360
 					server_err = 0;
361 361
 				break;
362 362
 			case 'U':
363
-				strncpy(ts->camd35.user, optarg, sizeof(ts->camd35.user) - 1);
364
-				ts->camd35.user[sizeof(ts->camd35.user) - 1] = 0;
363
+				strncpy(ts->camd.user, optarg, sizeof(ts->camd.user) - 1);
364
+				ts->camd.user[sizeof(ts->camd.user) - 1] = 0;
365 365
 				break;
366 366
 			case 'P':
367
-				strncpy(ts->camd35.pass, optarg, sizeof(ts->camd35.pass) - 1);
368
-				ts->camd35.pass[sizeof(ts->camd35.pass) - 1] = 0;
367
+				strncpy(ts->camd.pass, optarg, sizeof(ts->camd.pass) - 1);
368
+				ts->camd.pass[sizeof(ts->camd.pass) - 1] = 0;
369 369
 				break;
370 370
 
371 371
 			case 'e':
@@ -499,9 +499,9 @@ static void parse_options(struct ts *ts, int argc, char **argv) {
499 499
 				ts_LOGf("Out filter : Pass through TDT/TOT.\n");
500 500
 		}
501 501
 	}
502
-	ts_LOGf("Server addr: tcp://%s:%u/\n", inet_ntoa(ts->camd35.server_addr), ts->camd35.server_port);
503
-	ts_LOGf("Server user: %s\n", ts->camd35.user);
504
-	ts_LOGf("Server pass: %s\n", ts->camd35.pass);
502
+	ts_LOGf("Server addr: tcp://%s:%u/\n", inet_ntoa(ts->camd.server_addr), ts->camd.server_port);
503
+	ts_LOGf("Server user: %s\n", ts->camd.user);
504
+	ts_LOGf("Server pass: %s\n", ts->camd.pass);
505 505
 
506 506
 	ts_LOGf("TS discont : %s\n", ts->ts_discont ? "report" : "ignore");
507 507
 	ts->threaded = !(ts->input.type == FILE_IO && ts->input.fd != 0);
@@ -628,7 +628,7 @@ int main(int argc, char **argv) {
628 628
 
629 629
 	parse_options(&ts, argc, argv);
630 630
 
631
-	camd_proto_cs378x(&ts.camd35.ops);
631
+	camd_proto_cs378x(&ts.camd.ops);
632 632
 
633 633
 	if (ts.pidfile[0])
634 634
 		daemonize(ts.pidfile);

Loading…
Cancel
Save