xref: /libbtbb/tests/test_header.c (revision 13fc573acb57390638dbec53bd8b698f08439a8a)
1*13fc573aSDominic Spill /* -*- c -*- */
2*13fc573aSDominic Spill /*
3*13fc573aSDominic Spill  * Copyright 2012 Dominic Spill
4*13fc573aSDominic Spill  *
5*13fc573aSDominic Spill  * This file is part of libbtbb
6*13fc573aSDominic Spill  *
7*13fc573aSDominic Spill  * This program is free software; you can redistribute it and/or modify
8*13fc573aSDominic Spill  * it under the terms of the GNU General Public License as published by
9*13fc573aSDominic Spill  * the Free Software Foundation; either version 2, or (at your option)
10*13fc573aSDominic Spill  * any later version.
11*13fc573aSDominic Spill  *
12*13fc573aSDominic Spill  * This program is distributed in the hope that it will be useful,
13*13fc573aSDominic Spill  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14*13fc573aSDominic Spill  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*13fc573aSDominic Spill  * GNU General Public License for more details.
16*13fc573aSDominic Spill  *
17*13fc573aSDominic Spill  * You should have received a copy of the GNU General Public License
18*13fc573aSDominic Spill  * along with libbtbb; see the file COPYING.  If not, write to
19*13fc573aSDominic Spill  * the Free Software Foundation, Inc., 51 Franklin Street,
20*13fc573aSDominic Spill  * Boston, MA 02110-1301, USA.
21*13fc573aSDominic Spill  */
22*13fc573aSDominic Spill /*
23*13fc573aSDominic Spill UAP Data HEC  Header (octal)
24*13fc573aSDominic Spill ----------------------------------
25*13fc573aSDominic Spill 00  123  e1   770007 007070 000777
26*13fc573aSDominic Spill 47  123  06   770007 007007 700000
27*13fc573aSDominic Spill 00  124  32   007007 007007 007700
28*13fc573aSDominic Spill 47  124  d5   007007 007070 707077
29*13fc573aSDominic Spill 00  125  5a   707007 007007 077070
30*13fc573aSDominic Spill 47  125  bd   707007 007070 777707
31*13fc573aSDominic Spill 00  126  e2   077007 007007 000777
32*13fc573aSDominic Spill 47  126  05   077007 007070 700000
33*13fc573aSDominic Spill 00  127  8a   777007 007007 070007
34*13fc573aSDominic Spill 47  127  6d   777007 007070 770770
35*13fc573aSDominic Spill 00  11b  9e   770770 007007 777007
36*13fc573aSDominic Spill 47  11b  79   770770 007070 077770
37*13fc573aSDominic Spill 00  11c  4d   007770 007070 770070
38*13fc573aSDominic Spill 47  11c  aa   007770 007007 070707
39*13fc573aSDominic Spill 00  11d  25   707770 007070 700700
40*13fc573aSDominic Spill 47  11d  c2   707770 007007 000077
41*13fc573aSDominic Spill 00  11e  9d   077770 007070 777007
42*13fc573aSDominic Spill 47  11e  7a   077770 007007 077770
43*13fc573aSDominic Spill 00  11f  f5   777770 007070 707777
44*13fc573aSDominic Spill 47  11f  12   777770 007007 007000
45*13fc573aSDominic Spill */
46*13fc573aSDominic Spill 
47*13fc573aSDominic Spill #include "../bluetooth_packet_tx.h"
48*13fc573aSDominic Spill #include <stdio.h>
49*13fc573aSDominic Spill 
test_gen_packet_header()50*13fc573aSDominic Spill int test_gen_packet_header() {
51*13fc573aSDominic Spill     char *optr;
52*13fc573aSDominic Spill     int i, j, ret, err;
53*13fc573aSDominic Spill     ret = 0;
54*13fc573aSDominic Spill 
55*13fc573aSDominic Spill     printf("Testing header\n");
56*13fc573aSDominic Spill     printf("---------------\n");
57*13fc573aSDominic Spill 
58*13fc573aSDominic Spill 	/* lt_addr, type, flow, arqn, seqn, UAP, HEC */
59*13fc573aSDominic Spill     uint8_t data[20][7] = {
60*13fc573aSDominic Spill         {},
61*13fc573aSDominic Spill         {},
62*13fc573aSDominic Spill         {},
63*13fc573aSDominic Spill         {},
64*13fc573aSDominic Spill         {},
65*13fc573aSDominic Spill         {},
66*13fc573aSDominic Spill         {},
67*13fc573aSDominic Spill         {},
68*13fc573aSDominic Spill         {},
69*13fc573aSDominic Spill         {}
70*13fc573aSDominic Spill 		UAP Data HE
71*13fc573aSDominic Spill 		-----------
72*13fc573aSDominic Spill 		00  123  e1
73*13fc573aSDominic Spill 		47  123  06
74*13fc573aSDominic Spill 		00  124  32
75*13fc573aSDominic Spill 		47  124  d5
76*13fc573aSDominic Spill 		00  125  5a
77*13fc573aSDominic Spill 		47  125  bd
78*13fc573aSDominic Spill 		00  126  e2
79*13fc573aSDominic Spill 		47  126  05
80*13fc573aSDominic Spill 		00  127  8a
81*13fc573aSDominic Spill 		47  127  6d
82*13fc573aSDominic Spill 		00  11b  9e
83*13fc573aSDominic Spill 		47  11b  79
84*13fc573aSDominic Spill 		00  11c  4d
85*13fc573aSDominic Spill 		47  11c  aa
86*13fc573aSDominic Spill 		00  11d  25
87*13fc573aSDominic Spill 		47  11d  c2
88*13fc573aSDominic Spill 		00  11e  9d
89*13fc573aSDominic Spill 		47  11e  7a
90*13fc573aSDominic Spill 		00  11f  f5
91*13fc573aSDominic Spill 		47  11f  12
92*13fc573aSDominic Spill 
93*13fc573aSDominic Spill     };
94*13fc573aSDominic Spill 
95*13fc573aSDominic Spill     for(i = 0; i < 20; i++) {
96*13fc573aSDominic Spill 		gen_packet_header(uint8_t lt_addr, uint8_t type, uint8_t flow, uint8_t arqn, uint8_t seqn)
97*13fc573aSDominic Spill         if (uap == 1) {
98*13fc573aSDominic Spill             printf("E");
99*13fc573aSDominic Spill             ret++;
100*13fc573aSDominic Spill         }
101*13fc573aSDominic Spill         else
102*13fc573aSDominic Spill             printf(".");
103*13fc573aSDominic Spill     }
104*13fc573aSDominic Spill 
105*13fc573aSDominic Spill 	if (ret > 0)
106*13fc573aSDominic Spill 		printf("%d errors\n", ret);
107*13fc573aSDominic Spill     printf("\n--------------------\n");
108*13fc573aSDominic Spill     printf("Done testing unfec23\n");
109*13fc573aSDominic Spill     return ret;
110*13fc573aSDominic Spill }
111*13fc573aSDominic Spill 
main(int argc,char ** argv)112*13fc573aSDominic Spill int main(int argc, char** argv) {
113*13fc573aSDominic Spill     int ret = 0;
114*13fc573aSDominic Spill 
115*13fc573aSDominic Spill     ret += test_unfec23();
116*13fc573aSDominic Spill 
117*13fc573aSDominic Spill     exit(ret);
118*13fc573aSDominic Spill }
119