source: trunk/com-on-air_cs-linux/tools/dect_cli.h @ 44

Last change on this file since 44 was 44, checked in by krater, 11 years ago

descrambling bug fixed

File size: 2.7 KB
Line 
1/*
2 * dect_cli async and sync interface to DECT, can dump pcap files
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * authors:
9 * (C) 2008  Andreas Schuler <krater at badterrorist dot com>
10 * (C) 2008  Matthias Wenzel <dect at mazzoo dot de>
11 *
12 */
13
14#ifndef DECT_CLI_H
15#define DECT_CLI_H
16
17#define DEV "/dev/coa"
18
19// too verbose #define LOG(fmt, args...) printf("%s(): " fmt, __FUNCTION__, ##args)
20#define LOG(fmt, args...) printf(fmt, ##args)
21
22
23#define TYPE_FP 23
24#define TYPE_PP 42
25
26struct dect_station
27{
28        struct dect_station   * next;
29        uint8_t               RFPI[5];
30        uint32_t              RSSI;
31        uint8_t               channel;
32        uint8_t               type;
33        uint32_t              first_seen;
34        uint32_t              last_seen;
35        uint32_t              count_seen;
36};
37
38struct sniffed_packet
39{
40        unsigned char rssi;
41        unsigned char channel;
42        unsigned char slot;
43        unsigned char framenumber;
44        struct timespec   timestamp;
45        unsigned char data[53];
46};
47
48
49struct rfpi_list
50{
51        struct rfpi_list * next;
52        uint8_t RFPI[5];
53};
54
55
56#define MODE_STOP     0x00000001
57#define MODE_FPSCAN   0x00000002
58#define MODE_PPSCAN   0x00000004
59#define MODE_CALLSCAN 0x00000008
60#define MODE_JAM      0x00000010
61
62#define DECT_BAND_EMEA 0x01
63#define DECT_BAND_US   0x02
64
65struct cli_info
66{
67        uint8_t               RFPI[5];
68        uint32_t              channel;
69        uint32_t              slot;
70        int                   hop;
71        int                   hop_ch_time; /* in sec */
72        uint32_t              last_hop;
73
74        uint8_t               band;      /* DECT_BAND_EMEA, DECT_BAND_US       */
75        uint8_t               hop_start; /* 0 for DECT/EMEA, 10 for US/DECT6.0 */
76        uint8_t               hop_end;   /* 9 for DECT/EMEA, 14 for US/DECT6.0 */
77
78        uint32_t              mode;
79
80        int                   in; /* stdin */
81        int                   fd; /* filehandle to the DECT-trx */
82
83        int                   verbose;
84        int                   autorec;
85        int                   autorec_timeout;
86        int                   autorec_last_bfield;
87
88        /* fpscan (async) list of stations */
89        struct dect_station   station;
90        struct dect_station   * station_list;
91
92        /* ignored RFPIs */
93        struct rfpi_list * ignored_rfpis;
94
95        /* ppscan (sync) */
96        struct sniffed_packet packet;
97        pcap_t                * pcap;
98        pcap_dumper_t         * pcap_d;
99};
100
101uint32_t ch2etsi[15] =
102{
103        9,  /* "normal" EMEA DECT, 10 channels     */
104        8,  /* with a weired (historic?) counting  */
105        7,  /* 1881.792 MHz - 1897.344 MHz         */
106        6,  /* 1728 kHz channel spacing            */
107        5,
108        4,
109        3,
110        2,
111        1,
112        0,
113
114        23, /* DECT 6.0, th US variant, 5 channels */
115        24, /* 1921.536 MHz - 1928.448 MHz         */
116        25, /* 1728 kHz channel spacing            */
117        26,
118        27
119};
120
121
122#endif /* DECT_CLI_H */
Note: See TracBrowser for help on using the repository browser.