source: lib/dagformat.h @ 641dc7c

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 641dc7c was 641dc7c, checked in by Daniel Lawson <dlawson@…>, 16 years ago

fixup for bad dag_root detection in configure
tidied up the gzread/read calls through use of a macro
added get_wire_length to the legacy formats

  • Property mode set to 100644
File size: 2.0 KB
RevLine 
[750a1e0]1#ifndef _DAGFORMAT_H_
2#define _DAGFORMAT_H_
3
4/* GPP record type defines */
5#define TYPE_LEGACY       0
6#define TYPE_HDLC_POS     1
7#define TYPE_ETH          2
8#define TYPE_ATM          3
9#define TYPE_AAL5         4
10
11/* GPP Type 1 */
12typedef struct pos_rec {
[eaa5529]13        uint32_t  hdlc;
14        uint8_t   pload[1];
[299e9a0]15}  pos_rec_t;
[750a1e0]16
17/* GPP Type 2 */
18typedef struct eth_rec {
[eaa5529]19        uint8_t   offset;
20        uint8_t   pad;
21        uint8_t   dst[6];
22        uint8_t   src[6];
23        uint16_t  etype;
24        uint8_t   pload[1];
[299e9a0]25}  eth_rec_t;
[750a1e0]26
27/* GPP Type 3 */
28typedef struct atm_rec {
[eaa5529]29        uint32_t  header; 
30        uint8_t   pload[1];
[299e9a0]31}  atm_rec_t;
[750a1e0]32
33/* GPP Type 4 */
34typedef struct aal5_rec {
[eaa5529]35        uint32_t  header; 
36        uint8_t   pload[1];
[299e9a0]37}  aal5_rec_t;
[750a1e0]38
39typedef struct flags {
[eaa5529]40        uint8_t   iface:2;
41        uint8_t   vlen:1;
42        uint8_t   trunc:1;
43        uint8_t   rxerror:1;
44        uint8_t   dserror:1;
45        uint8_t   pad:2;
[299e9a0]46} __attribute__((packed)) flags_t;
[750a1e0]47
48/* GPP Global type */
49typedef struct dag_record {
[eaa5529]50        uint64_t  ts;
51        uint8_t   type;
52        flags_t   flags;
53        uint16_t  rlen;
54        uint16_t  lctr;
55        uint16_t  wlen;
[750a1e0]56        union {
57                pos_rec_t       pos;
58                eth_rec_t       eth;
59                atm_rec_t       atm;
60                aal5_rec_t      aal5;
61        } rec;
[299e9a0]62} __attribute__((packed)) dag_record_t;
[750a1e0]63
[b5cd711]64
65typedef struct duck_inf
66{
[eaa5529]67        uint32_t  Command, Config, Clock_Inc, Clock_Wrap, DDS_Rate;
68        uint32_t  Crystal_Freq;
69        uint32_t  Synth_Freq, Sync_Rate;
70        uint64_t  Last_Ticks;
71        uint32_t  Resyncs;
72        uint32_t  Bad_Diffs, Bad_Offs, Bad_Pulses;
73        uint32_t  Worst_Error, Worst_Off;
74        uint32_t  Off_Limit, Off_Damp;
75        uint32_t  Pulses, Single_Pulses_Missing, Longest_Pulse_Missing;
76        uint32_t  Health, Sickness;
77        int32_t   Error, Offset;
78        int32_t   Stat_Start, Stat_End;   /* these are really time_t's */
79        uint32_t  Set_Duck_Field;
[b5cd711]80} duck_inf;
81
[750a1e0]82#define dag_record_size         16
83
[641dc7c]84
[eaa5529]85typedef struct legacy_cell {
86        uint64_t  ts;
87        uint32_t  crc;
88} legacy_cell_t;
89
90typedef struct legacy_ether {
91        uint64_t  ts;
92        uint16_t  wlen;
93} legacy_ether_t;
94
95typedef struct legacy_pos {
96        uint64_t  ts;
97        uint32_t  slen;
98        uint32_t  wlen;
99} legacy_pos_t;
[641dc7c]100
[750a1e0]101
102#endif // _DAGFORMAT_H_
Note: See TracBrowser for help on using the repository browser.