3 * $Id: lanalyzer.h,v 1.8 2002/08/28 20:30:44 jmayer Exp $
6 * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 #ifndef __LANALYZER_H__
25 #define __LANALYZER_H__
27 /* Record type codes: */
29 #define RT_HeaderRegular 0x1001
30 #define RT_HeaderCyclic 0x1007
31 #define RT_RxChannelName 0x1006
32 #define RT_TxChannelName 0x100b
33 #define RT_FilterName 0x1032
34 #define RT_RxTemplateName 0x1035
35 #define RT_TxTemplateName 0x1036
36 #define RT_DisplayOptions 0x100a
37 #define RT_Summary 0x1002
38 #define RT_SubfileSummary 0x1003
39 #define RT_CyclicInformation 0x1009
40 #define RT_Index 0x1004
41 #define RT_PacketData 0x1005
43 #define LA_ProFileLimit (1024 * 1024 * 32)
45 typedef guint8 Eadr[6];
46 typedef guint16 TimeStamp[3]; /* 0.5 microseconds since start of trace */
49 * These records have only 2-byte alignment for 4-byte quantities,
50 * so the structures aren't necessarily valid; they're kept as comments
51 * for reference purposes.
74 * guint16 rx_channels;
86 * gint16 hwcollschans;
91 #define LA_PacketRecordSize 32
108 * gint16 board_version;
109 * gint8 reserved[18];
113 #define SummarySize (18+22+(4*36)+6+6+6+4+4)
121 * } LA_SummaryRecord;
124 #define LA_SummaryRecordSize (SummarySize + 4)
133 * } LA_SubfileSummaryRecord;
136 #define LA_SubfileSummaryRecordSize 10
139 #define LA_IndexSize 500
145 * gint16 idxsp; = LA_IndexSize
149 * gint32 trcidx[LA_IndexSize + 2]; +2 undocumented but used by La 2.2
153 #define LA_IndexRecordSize (10 + 4 * (LA_IndexSize + 2))
162 #define LA_RecordHeaderSize 4
166 struct timeval start;
172 int lanalyzer_open(wtap *wth, int *err);
173 gboolean lanalyzer_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
174 int lanalyzer_dump_can_write_encap(int encap);