FreeCalypso > hg > gsm-codec-lib
annotate hrutil/cod-out-endian.c @ 609:a2b2ca082dd7 default tip
hrutil: new program gsmhr-tfo-xfrm-dc
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Tue, 24 Feb 2026 04:16:57 +0000 |
| parents | hrutil/tw5b-out-cod.c@129c895a0564 |
| children |
| rev | line source |
|---|---|
|
557
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
609
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
2 * The helper function implemented in this module emits an encoder output |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
3 * array of params (*.cod format) in either BE or LE format. This helper |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
4 * function will be used for gsmhr-etsi-enc and gsmhr-tfo-xfrm-dc utilities, |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
5 * which need to both read and write ETSI-format files that are subject to |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
6 * endian concerns. |
|
557
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 */ |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <stdint.h> |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <stdio.h> |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include "../libgsmhr1/tw_gsmhr.h" |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 void |
|
609
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
14 emit_cod_to_endian(outf, params, big_endian) |
|
557
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 FILE *outf; |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 int16_t *params; |
|
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 { |
|
609
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
18 uint8_t file_bytes[GSMHR_NUM_PARAMS_ENC * 2], *dp; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
19 unsigned n; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
20 uint16_t val; |
|
557
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
|
609
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
22 dp = file_bytes; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
23 for (n = 0; n < GSMHR_NUM_PARAMS_ENC; n++) { |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
24 val = params[n]; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
25 if (big_endian) { |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
26 *dp++ = val >> 8; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
27 *dp++ = val; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
28 } else { |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
29 *dp++ = val; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
30 *dp++ = val >> 8; |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
31 } |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
32 } |
|
a2b2ca082dd7
hrutil: new program gsmhr-tfo-xfrm-dc
Mychaela Falconia <falcon@freecalypso.org>
parents:
557
diff
changeset
|
33 fwrite(file_bytes, 2, GSMHR_NUM_PARAMS_ENC, outf); |
|
557
129c895a0564
hrutil: new program gsmhr-cod2hex
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 } |
