| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
packet-gryphon.h
1/* packet-gryphon.h
2 *
3 * Updated routines for Gryphon protocol packet dissection
4 * By Mark C. <markc@dgtech.com>
5 * Copyright (C) 2018 DG Technologies, Inc. (Dearborn Group, Inc.) USA
6 *
7 * Definitions for Gryphon packet disassembly structures and routines
8 * By Steve Limkemann <stevelim@dgtech.com>
9 * Copyright 1998 Steve Limkemann
10 *
11 * Wireshark - Network traffic analyzer
12 * By Gerald Combs <gerald@wireshark.org>
13 * Copyright 1998 Gerald Combs
14 *
15 * SPDX-License-Identifier: GPL-2.0-or-later
16 */
17
18#define MSG_HDR_SZ 8
19#define CMD_HDR_SZ 4
20
21/* source/destinations: */
22
23#define SD_CARD 0x01 /* (vehicle) network interface */
24#define SD_SERVER 0x02
25#define SD_CLIENT 0x03
26#define SD_KNOWN 0x10 /* Client ID >= are well known */
27#define SD_SCHED 0x10 /* scheduler */
28#define SD_SCRIPT 0x20 /* script processor */
29#define SD_PGM 0x21 /* Program loader */
30#define SD_USDT 0x22 /* USDT (Unacknowledged Segmented Data Transfer) */
31#define SD_BLM 0x23 /* Bus Load Monitoring */
32#define SD_LIN 0x24 /* LIN extensions */
33#define SD_FLIGHT 0x25 /* Flight Recorder */
34#define SD_LOGGER 0x25 /* data logger */
35#define SD_RESP 0x26 /* Message Response */
36#define SD_IOPWR 0x27 /* VNG / Compact Gryphon I/O & power */
37#define SD_UTIL 0x28 /* Miscellaneous utility commands */
38#define SD_CNVT 0x29 /* signal conversion commands */
39#define CH_BROADCAST 0xFF /* broadcast message destination channel */
40
41
42
43/* frame types: */
44#define GY_FT_CMD 0x01 /* command to initiate some action */
45#define GY_FT_RESP 0x02 /* response to a command */
46#define GY_FT_DATA 0x03 /* (vehicle) network data */
47#define GY_FT_EVENT 0x04 /* notification of an event */
48#define GY_FT_MISC 0x05 /* misc data */
49#define GY_FT_TEXT 0x06 /* null-terminated ASCII strings */
50#define GY_FT_SIG 0x07 /* (vehicle) network signals */
51
52
53
54/* generic (all SD type) commands: values 0x00 to 0x3f */
55
56#define CMD_INIT 0x01 /* initialize target */
57#define CMD_GET_STAT 0x02 /* request status */
58#define CMD_GET_CONFIG 0x03 /* request configuration info */
59#define CMD_EVENT_ENABLE 0x04 /* Enable event type */
60#define CMD_EVENT_DISABLE 0x05 /* Disable event type */
61#define CMD_GET_TIME 0x06 /* Get current value of timestamp */
62#define CMD_GET_RXDROP 0x07 /* Get count of Rx msgs dropped */
63#define CMD_RESET_RXDROP 0x08 /* Set count of Rx msgs dropped to zero */
64#define CMD_BCAST_ON 0x09 /* broadcasts on */
65#define CMD_BCAST_OFF 0x0a /* broadcasts off */
66#define CMD_SET_TIME 0x0b /* set time */
67
68/* SD-type specific commands: should start at 0x40, global uniqueness */
69/* is preferred, but not mandatory. */
70
71/* SD_CARD command types: */
72
73#define CMD_CARD_SET_SPEED (SD_CARD * 256 + 0x40) /* set peripheral speed */
74#define CMD_CARD_GET_SPEED (SD_CARD * 256 + 0x41) /* get peripheral speed */
75#define CMD_CARD_SET_FILTER (SD_CARD * 256 + 0x42) /* set filter to pass or block all */
76#define CMD_CARD_GET_FILTER (SD_CARD * 256 + 0x43) /* get a pass/block filter */
77#define CMD_CARD_TX (SD_CARD * 256 + 0x44) /* transmit message */
78#define CMD_CARD_TX_LOOP_ON (SD_CARD * 256 + 0x45) /* set transmit loopback on */
79#define CMD_CARD_TX_LOOP_OFF (SD_CARD * 256 + 0x46) /* set transmit loopback off */
80#define CMD_CARD_IOCTL (SD_CARD * 256 + 0x47) /* device driver ioctl pass-through */
81#define CMD_CARD_ADD_FILTER (SD_CARD * 256 + 0x48) /* add a pass/block filter */
82#define CMD_CARD_MODIFY_FILTER (SD_CARD * 256 + 0x49) /* modify a pass/block filter */
83#define CMD_CARD_GET_FILTER_HANDLES (SD_CARD * 256 + 0x4A)/* get a list of filters */
84#define CMD_CARD_SET_DEFAULT_FILTER (SD_CARD * 256 + 0x4B)/* set the default action */
85#define CMD_CARD_GET_DEFAULT_FILTER (SD_CARD * 256 + 0x4C)/* get the defautl action */
86#define CMD_CARD_SET_FILTER_MODE (SD_CARD * 256 + 0x4D) /* set the client data mode */
87#define CMD_CARD_GET_FILTER_MODE (SD_CARD * 256 + 0x4E) /* get the client data mode */
88#define CMD_CARD_GET_EVNAMES (SD_CARD * 256 + 0x4f) /* get event names */
89#define CMD_CARD_GET_SPEEDS (SD_CARD * 256 + 0x50) /* get speed definitions */
90
91/* SD_SERVER command types: */
92
93#define CMD_SERVER_REG (SD_SERVER * 256 + 0x50) /* register connection */
94#define CMD_SERVER_SET_SORT (SD_SERVER * 256 + 0x51) /* set sorting behavior */
95#define CMD_SERVER_SET_OPT (SD_SERVER * 256 + 0x52) /* set type of optimization */
96
97/* SD_CLIENT command types: */
98
99#define CMD_CLIENT_GET_ID (SD_CLIENT * 256 + 0x60) /* get the ID (channel field) of this client? */
100#define CMD_CLIENT_SET_ID (SD_CLIENT * 256 + 0x61) /* set the ID (channel field) of this client? */
101#define CMD_CLIENT_SHUTDOWN (SD_CLIENT * 256 + 0x62) /* tell client to die ? */
102
103/* Bus load monitor (SD_BLM) commands: */
104
105#define CMD_BLM_SET_MODE (SD_BLM * 256 + 0xA0)
106#define CMD_BLM_GET_MODE (SD_BLM * 256 + 0xA1)
107#define CMD_BLM_GET_DATA (SD_BLM * 256 + 0xA2)
108#define CMD_BLM_GET_STATS (SD_BLM * 256 + 0xA3)
109
110/* SD_LIN command types: */
111#define CMD_LDF_DESC (SD_LIN * 256 + 0xB8) /* */
112#define CMD_LDF_UPLOAD (SD_LIN * 256 + 0xB9) /* */
113#define CMD_LDF_LIST (SD_LIN * 256 + 0xBA) /* */
114#define CMD_LDF_DELETE (SD_LIN * 256 + 0xBB) /* */
115#define CMD_LDF_PARSE (SD_LIN * 256 + 0xBC) /* */
116#define CMD_GET_LDF_INFO (SD_LIN * 256 + 0xBD) /* */
117#define CMD_GET_NODE_NAMES (SD_LIN * 256 + 0xBE) /* */
118#define CMD_EMULATE_NODES (SD_LIN * 256 + 0xBF) /* */
119#define CMD_GET_FRAMES (SD_LIN * 256 + 0xB0) /* */
120#define CMD_GET_FRAME_INFO (SD_LIN * 256 + 0xC1) /* */
121#define CMD_GET_SIGNAL_INFO (SD_LIN * 256 + 0xC2) /* */
122#define CMD_GET_SIGNAL_DETAIL (SD_LIN * 256 + 0xC3) /* */
123#define CMD_GET_ENCODING_INFO (SD_LIN * 256 + 0xC4) /* */
124#define CMD_GET_SCHEDULES (SD_LIN * 256 + 0xC5) /* */
125#define CMD_START_SCHEDULE (SD_LIN * 256 + 0xC6) /* */
126#define CMD_STOP_SCHEDULE (SD_LIN * 256 + 0xC7) /* */
127#define CMD_STORE_DATA (SD_LIN * 256 + 0xC8) /* */
128#define CMD_SEND_ID (SD_LIN * 256 + 0xC9) /* */
129#define CMD_SEND_ID_DATA (SD_LIN * 256 + 0xCA) /* */
130#define CMD_SAVE_SESSION (SD_LIN * 256 + 0xCB) /* */
131#define CMD_RESTORE_SESSION (SD_LIN * 256 + 0xCC) /* */
132#define CMD_GET_NODE_SIGNALS (SD_LIN * 256 + 0xCD) /* */
133
134/* signal conversion (SD_CNVT) commands */
135
136#define CMD_CNVT_GET_VALUES (SD_CNVT * 256 + 0x78) /* LIN Signal Conversion */
137#define CMD_CNVT_GET_UNITS (SD_CNVT * 256 + 0x79) /* LIN Signal Conversion */
138#define CMD_CNVT_SET_VALUES (SD_CNVT * 256 + 0x7A) /* LIN Signal Conversion */
139#define CMD_CNVT_DESTROY_SESSION (SD_CNVT * 256 + 0x7B) /* LIN Signal Conversion */
140#define CMD_CNVT_SAVE_SESSION (SD_CNVT * 256 + 0xCB) /* LIN Signal Conversion */
141#define CMD_CNVT_RESTORE_SESSION (SD_CNVT * 256 + 0xCC) /* LIN Signal Conversion */
142#define CMD_CNVT_GET_NODE_SIGNALS (SD_CNVT * 256 + 0xCD) /* LIN Signal Conversion */
143
144/* Flight recorder (SD_FLIGHT) commands */
145
146#define CMD_FLIGHT_GET_CONFIG (SD_FLIGHT * 256 + 0x50) /* get flight recorder channel info */
147#define CMD_FLIGHT_START_MON (SD_FLIGHT * 256 + 0x51) /* start flight recorder monitoring */
148#define CMD_FLIGHT_STOP_MON (SD_FLIGHT * 256 + 0x52) /* stop flight recorder monitoring */
149
150/* Message responder (SD_RESP) commands: */
151#define CMD_MSGRESP_ADD (SD_RESP * 256 + 0xB0)
152#define CMD_MSGRESP_GET (SD_RESP * 256 + 0xB1)
153#define CMD_MSGRESP_MODIFY (SD_RESP * 256 + 0xB2)
154#define CMD_MSGRESP_GET_HANDLES (SD_RESP * 256 + 0xB3)
155
156/* Program loader (SD_PGM) commands: */
157
158#define CMD_PGM_DESC (SD_PGM * 256 + 0x90) /* Describe a program to be uploaded */
159#define CMD_PGM_UPLOAD (SD_PGM * 256 + 0x91) /* Upload a program to the Gryphon */
160#define CMD_PGM_DELETE (SD_PGM * 256 + 0x92) /* Delete an uploaded program */
161#define CMD_PGM_LIST (SD_PGM * 256 + 0x93) /* Get a list of uploaded programs */
162#define CMD_PGM_START (SD_PGM * 256 + 0x94) /* Start an uploaded program */
163#define CMD_PGM_START2 (SD_CLIENT * 256 + 0x94) /* Start an uploaded program */
164#define CMD_PGM_STOP (SD_PGM * 256 + 0x95) /* Stop an uploaded program */
165#define CMD_PGM_STATUS (SD_PGM * 256 + 0x96) /* Get the status of an uploaded program */
166#define CMD_PGM_OPTIONS (SD_PGM * 256 + 0x97) /* Set the upload options */
167#define CMD_PGM_FILES (SD_PGM * 256 + 0x98) /* Get a list of files & directories */
168
169/* Scheduler (SD_SCHED) target commands: */
170
171#define CMD_SCHED_TX (SD_SCHED * 256 + 0x70) /* schedule transmission list */
172#define CMD_SCHED_KILL_TX (SD_SCHED * 256 + 0x71) /* stop and destroy job */
173#define CMD_SCHED_MSG_REPLACE (SD_SCHED * 256 + 0x72) /* replace a scheduled message */
174
175/* USDT (SD_USDT) target commands: */
176
177#define CMD_USDT_IOCTL (SD_USDT * 256 + 0x47) /* Register/Unregister with USDT */
178#define CMD_USDT_REGISTER (SD_USDT * 256 + 0xB0) /* Register/Unregister with USDT */
179#define CMD_USDT_SET_FUNCTIONAL (SD_USDT * 256 + 0xB1) /* Set to use extended addressing*/
180#define CMD_USDT_SET_STMIN_MULT (SD_USDT * 256 + 0xB2) /* */
181#define CMD_USDT_SET_STMIN_FC (SD_USDT * 256 + 0xB3) /* */
182#define CMD_USDT_GET_STMIN_FC (SD_USDT * 256 + 0xB4) /* */
183#define CMD_USDT_SET_BSMAX_FC (SD_USDT * 256 + 0xB5) /* */
184#define CMD_USDT_GET_BSMAX_FC (SD_USDT * 256 + 0xB6) /* */
185#define CMD_USDT_REGISTER_NON_LEGACY (SD_USDT * 256 + 0xB7) /* Register/Unregister with USDT */
186#define CMD_USDT_SET_STMIN_OVERRIDE (SD_USDT * 256 + 0xB8) /* */
187#define CMD_USDT_GET_STMIN_OVERRIDE (SD_USDT * 256 + 0xB9) /* */
188#define CMD_USDT_ACTIVATE_STMIN_OVERRIDE (SD_USDT * 256 + 0xBA) /* */
189
190/* I/O Power (SD_IOPWR) target commands: */
191
192#define CMD_IOPWR_GETINP (SD_IOPWR * 256 + 0x40) /* Read current digital inputs */
193#define CMD_IOPWR_GETLATCH (SD_IOPWR * 256 + 0x41) /* Read latched digital inputs */
194#define CMD_IOPWR_CLRLATCH (SD_IOPWR * 256 + 0x42) /* Read & clear latched inputs */
195#define CMD_IOPWR_GETOUT (SD_IOPWR * 256 + 0x43) /* Read digital outputs */
196#define CMD_IOPWR_SETOUT (SD_IOPWR * 256 + 0x44) /* Write digital outputs */
197#define CMD_IOPWR_SETBIT (SD_IOPWR * 256 + 0x45) /* Set indicated output bit(s) */
198#define CMD_IOPWR_CLRBIT (SD_IOPWR * 256 + 0x46) /* Clear indicated output bit(s)*/
199#define CMD_IOPWR_GETPOWER (SD_IOPWR * 256 + 0x47) /* Read inputs at power on time */
200
201/* Miscellaneous (SD_UTIL) target commands: */
202
203#define CMD_UTIL_SET_INIT_STRATEGY (SD_UTIL * 256 + 0x90) /* set the initialization strategy */
204#define CMD_UTIL_GET_INIT_STRATEGY (SD_UTIL * 256 + 0x91) /* get the initialization strategy */
205
206/* response frame (FT_RESP) response field definitions: */
207
208#define RESP_OK 0x00 /* no error */
209#define RESP_UNKNOWN_ERR 0x01 /* unknown error */
210#define RESP_UNKNOWN_CMD 0x02 /* unrecognised command */
211#define RESP_UNSUPPORTED 0x03 /* unsupported command */
212#define RESP_INVAL_CHAN 0x04 /* invalid channel specified */
213#define RESP_INVAL_DST 0x05 /* invalid destination */
214#define RESP_INVAL_PARAM 0x06 /* invalid parameters */
215#define RESP_INVAL_MSG 0x07 /* invalid message */
216#define RESP_INVAL_LEN 0x08 /* invalid length field */
217#define RESP_TX_FAIL 0x09 /* transmit failed */
218#define RESP_RX_FAIL 0x0a /* receive failed */
219#define RESP_AUTH_FAIL 0x0b
220#define RESP_MEM_ALLOC_ERR 0x0c /* memory allocation error */
221#define RESP_TIMEOUT 0x0d /* command timed out */
222#define RESP_UNAVAILABLE 0x0e
223#define RESP_BUF_FULL 0x0f /* buffer full */
224#define RESP_NO_SUCH_JOB 0x10
225
226/* Flight recorder (SD_FLIGHT) target definitions */
227
228#define FR_RESP_AFTER_EVENT 0
229#define FR_RESP_AFTER_PERIOD 1
230#define FR_IGNORE_DURING_PER 2
231#define FR_DEACT_AFTER_PER 0x80
232#define FR_DEACT_ON_EVENT 0x40
233#define FR_DELETE 0x20
234#define FR_PERIOD_MSGS 0x10
235
236/* Filter data types */
237
238#define FILTER_DATA_TYPE_HEADER_FRAME 0x00
239#define FILTER_DATA_TYPE_HEADER 0x01
240#define FILTER_DATA_TYPE_DATA 0x02
241#define FILTER_DATA_TYPE_EXTRA_DATA 0x03
242#define FILTER_EVENT_TYPE_HEADER 0x04
243#define FILTER_EVENT_TYPE_DATA 0x05
244
245/* filter flags */
246
247#define FILTER_PASS_FLAG 0x01
248#define FILTER_ACTIVE_FLAG 0x02
249
250/* Filter and Frame Responder Condition operators */
251
252#define BIT_FIELD_CHECK 0
253#define SVALUE_GT 1
254#define SVALUE_GE 2
255#define SVALUE_LT 3
256#define SVALUE_LE 4
257#define VALUE_EQ 5
258#define VALUE_NE 6
259#define UVALUE_GT 7
260#define UVALUE_GE 8
261#define UVALUE_LT 9
262#define UVALUE_LE 10
263#define DIG_LOW_TO_HIGH 11
264#define DIG_HIGH_TO_LOW 12
265#define DIG_TRANSITION 13
266
267/* Modes available via CMD_CARD_SET_FILTERING_MODE */
268#define FILTER_OFF_PASS_ALL 3
269#define FILTER_OFF_BLOCK_ALL 4
270#define FILTER_ON 5
271
272/* Modes available via CMD_CARD_SET_DEFAULT_FILTER */
273#define DEFAULT_FILTER_BLOCK 0
274#define DEFAULT_FILTER_PASS 1
275
276/* Actions available via CMD_CARD_MODIFY_FILTER */
277#define DELETE_FILTER 0
278#define ACTIVATE_FILTER 1
279#define DEACTIVATE_FILTER 2
280
281/* Flags to modify how FT_CMD (command) messages are handled */
282/* These values are ORed with FT_CMD and stored in the Frame Header's */
283/* Frame Type field for each response. */
284#define DONT_WAIT_FOR_RESP 0x80
285#define WAIT_FOR_PREV_RESP 0x40
286#define RESPONSE_FLAGS (DONT_WAIT_FOR_RESP | WAIT_FOR_PREV_RESP)
287
288
289/* Program loader options */
290#define PGM_CONV 1 /* Type of data conversion to perform */
291#define PGM_TYPE 2 /* Type of file */
292#define PGM_BIN 11 /* Binary, no conversion */
293#define PGM_ASCII 12 /* ASCII, convert CR LF to LF */
294#define PGM_PGM 21 /* Executable */
295#define PGM_DATA 22 /* Data */
296
297
298
299
300/* IOCTL definitions - comments indicate data size */
301
302#define GINIT 0x11100001
303#define GLOOPON 0x11100002
304#define GLOOPOFF 0x11100003
305#define GGETHWTYPE 0x11100004
306#define GGETREG 0x11100005
307#define GSETREG 0x11100006
308#define GGETRXCOUNT 0x11100007
309#define GSETRXCOUNT 0x11100008
310#define GGETTXCOUNT 0x11100009
311#define GSETTXCOUNT 0x1110000a
312#define GGETRXDROP 0x1110000b
313#define GSETRXDROP 0x1110000c
314#define GGETTXDROP 0x1110000d
315#define GSETTXDROP 0x1110000e
316#define GGETRXBAD 0x1110000f
317#define GGETTXBAD 0x11100011
318#define GGETCOUNTS 0x11100013
319#define GGETBLMON 0x11100014
320#define GSETBLMON 0x11100015
321#define GGETERRLEV 0x11100016
322#define GSETERRLEV 0x11100017
323#define GGETBITRATE 0x11100018
324#define GGETRAM 0x11100019
325#define GSETRAM 0x1110001a
326
327#define GCANGETBTRS 0x11200001
328#define GCANSETBTRS 0x11200002
329#define GCANGETBC 0x11200003
330#define GCANSETBC 0x11200004
331#define GCANGETMODE 0x11200005
332#define GCANSETMODE 0x11200006
333#define GCANGETTRANS 0x11200009
334#define GCANSETTRANS 0x1120000a
335#define GCANSENDERR 0x1120000b
336#define GCANRGETOBJ 0x11210001
337#define GCANRSETSTDID 0x11210002
338#define GCANRSETEXTID 0x11210003
339#define GCANRSETDATA 0x11210004
340#define GCANRENABLE 0x11210005
341#define GCANRDISABLE 0x11210006
342#define GCANRGETMASKS 0x11210007
343#define GCANRSETMASKS 0x11210008
344#define GCANSWGETMODE 0x11220001
345#define GCANSWSETMODE 0x11220002
346
347#define GDLCGETFOURX 0x11400001
348#define GDLCSETFOURX 0x11400002
349#define GDLCGETLOAD 0x11400003
350#define GDLCSETLOAD 0x11400004
351#define GDLCSENDBREAK 0x11400005
352#define GDLCABORTTX 0x11400006
353#define GDLCGETHDRMODE 0x11400007
354#define GDLCSETHDRMODE 0x11400008
355
356#define GHONSLEEP 0x11600001
357#define GHONSILENCE 0x11600002
358
359#define GKWPSETPTIMES 0x11700011
360#define GKWPSETWTIMES 0x11700010
361#define GKWPDOWAKEUP 0x11700008
362#define GKWPGETBITTIME 0x11700101
363#define GKWPSETBITTIME 0x11700102
364#define GKWPSETNODEADDR 0x11700104
365#define GKWPGETNODETYPE 0x11700105
366#define GKWPSETNODETYPE 0x11700106
367#define GKWPSETWAKETYPE 0x11700108
368#define GKWPSETTARGADDR 0x1170010a
369#define GKWPSETKEYBYTES 0x1170010c
370#define GKWPSETSTARTREQ 0x1170010e
371#define GKWPSETSTARTRESP 0x11700110
372#define GKWPSETPROTOCOL 0x11700112
373#define GKWPGETLASTKEYBYTES 0x11700201
374#define GKWPSETLASTKEYBYTES 0x11700202
375
376#define GSCPGETBBR 0x11300001
377#define GSCPSETBBR 0x11300002
378#define GSCPGETID 0x11300003
379#define GSCPSETID 0x11300004
380#define GSCPADDFUNCID 0x11300005
381#define GSCPCLRFUNCID 0x11300006
382
383#define GUBPGETBITRATE 0x11800001
384#define GUBPSETBITRATE 0x11800002
385#define GUBPGETINTERBYTE 0x11800003
386#define GUBPSETINTERBYTE 0x11800004
387#define GUBPGETNACKMODE 0x11800005
388#define GUBPSETNACKMODE 0x11800006
389#define GUBPGETRETRYDELAY 0x11800007
390#define GUBPSETRETRYDELAY 0x11800008
391
392#define GRESETHC08 0x11800009
393#define GTESTHC08COP 0x1180000A
394
395#define GSJAGETLISTEN 0x11250001
396#define GSJASETLISTEN 0x11250002
397#define GSJAGETSELFTEST 0x11250003
398#define GSJASETSELFTEST 0x11250004
399#define GSJAGETXMITONCE 0x11250005
400#define GSJASETXMITONCE 0x11250006
401#define GSJAGETTRIGSTATE 0x11250007
402#define GSJASETTRIGCTRL 0x11250008
403#define GSJAGETTRIGCTRL 0x11250009
404#define GSJAGETOUTSTATE 0x1125000A
405#define GSJASETOUTSTATE 0x1125000B
406#define GSJAGETFILTER 0x1125000C
407#define GSJASETFILTER 0x1125000D
408#define GSJAGETMASK 0x1125000E
409#define GSJASETMASK 0x1125000F
410#define GSJAGETINTTERM 0x11250010
411#define GSJASETINTTERM 0x11250011
412#define GSJAGETFTTRANS 0x11250012
413#define GSJASETFTTRANS 0x11250013
414#define GSJAGETFTERROR 0x11250014
415
416/* LIN driver IOCTLs */
417#define GLINGETBITRATE 0x11C00001
418#define GLINSETBITRATE 0x11C00002
419#define GLINGETBRKSPACE 0x11C00003
420#define GLINSETBRKSPACE 0x11C00004
421#define GLINGETBRKMARK 0x11C00005
422#define GLINSETBRKMARK 0x11C00006
423#define GLINGETIDDELAY 0x11C00007
424#define GLINSETIDDELAY 0x11C00008
425#define GLINGETRESPDELAY 0x11C00009
426#define GLINSETRESPDELAY 0x11C0000A
427#define GLINGETINTERBYTE 0x11C0000B
428#define GLINSETINTERBYTE 0x11C0000C
429#define GLINGETWAKEUPDELAY 0x11C0000D
430#define GLINSETWAKEUPDELAY 0x11C0000E
431#define GLINGETWAKEUPTIMEOUT 0x11C0000F
432#define GLINSETWAKEUPTIMEOUT 0x11C00010
433#define GLINGETWUTIMOUT3BR 0x11C00011
434#define GLINSETWUTIMOUT3BR 0x11C00012
435#define GLINSENDWAKEUP 0x11C00013
436#define GLINGETMODE 0x11C00014
437#define GLINSETMODE 0x11C00015
438#define GLINGETSLEW 0x11C00016
439#define GLINSETSLEW 0x11C00017
440#define GLINADDSCHED 0x11C00018
441#define GLINGETSCHED 0x11C00019
442#define GLINGETSCHEDSIZE 0x11C0001A
443#define GLINDELSCHED 0x11C0001B
444#define GLINACTSCHED 0x11C0001C
445#define GLINDEACTSCHED 0x11C0001D
446#define GLINGETACTSCHED 0x11C0001E
447#define GLINGETNUMSCHEDS 0x11C0001F
448#define GLINGETSCHEDNAMES 0x11C00020
449#define GLINSETFLAGS 0x11C00021
450#define GLINGETAUTOCHECKSUM 0x11C00022
451#define GLINSETAUTOCHECKSUM 0x11C00023
452#define GLINGETAUTOPARITY 0x11C00024
453#define GLINSETAUTOPARITY 0x11C00025
454#define GLINGETSLAVETABLEENABLE 0x11C00026
455#define GLINSETSLAVETABLEENABLE 0x11C00027
456#define GLINGETFLAGS 0x11C00028
457#define GLINGETWAKEUPMODE 0x11C00029
458#define GLINSETWAKEUPMODE 0x11C0002A
459#define GLINGETMASTEREVENTENABLE 0x11C0002B /* 1 */
460#define GLINSETMASTEREVENTENABLE 0x11C0002C /* 1 */
461#define GLINGETNSLAVETABLE 0x11C0002D /* 1 get number of slave table entries */
462#define GLINGETSLAVETABLEPIDS 0x11C0002E /* 1 + n get list of slave table PIDs */
463#define GLINGETSLAVETABLE 0x11C0002F /* var., 4 + n */
464#define GLINSETSLAVETABLE 0x11C00030 /* var., 4 + n */
465#define GLINCLEARSLAVETABLE 0x11C00031 /* 1 */
466#define GLINCLEARALLSLAVETABLE 0x11C00032 /* 0 */
467#define GLINGETONESHOT 0x11C00033 /* var., 4 + n */
468#define GLINSETONESHOT 0x11C00034 /* var., 4 + n */
469#define GLINCLEARONESHOT 0x11C00035 /* 0 */
470
471/* delay driver (real-time scheduler) IOCTLs */
472#define GDLYGETHIVALUE 0x11D50001 /* 4 */
473#define GDLYSETHIVALUE 0x11D50002 /* 4 set the high water value */
474 /* 2 bytes - stream number */
475 /* 2 bytes - high water value */
476
477#define GDLYGETLOVALUE 0x11D50003 /* 4 */
478#define GDLYSETLOVALUE 0x11D50004 /* 4 set the low water value */
479 /* 2 bytes - stream number */
480 /* 2 bytes - low water value */
481
482#define GDLYGETHITIME 0x11D50005 /* 4 */
483#define GDLYSETHITIME 0x11D50006 /* 4 set the high water time */
484 /* 2 bytes - stream number */
485 /* 2 bytes - high water time (ms) */
486
487#define GDLYGETLOTIME 0x11D50007 /* 4 */
488#define GDLYSETLOTIME 0x11D50008 /* 4 set the low water time */
489 /* 2 bytes - stream number */
490 /* 2 bytes - low water time (ms) */
491
492#define GDLYGETLOREPORT 0x11D50009 /* 4 get the low water report flag */
493 /* 2 bytes - stream number */
494 /* 2 bytes - 1: report when low */
495 /* 0: do not report when low*/
496
497#define GDLYFLUSHSTREAM 0x11D5000A /* 2 flush the delay buffer */
498 /* 2 bytes - stream number */
499
500#define GDLYINITSTREAM 0x11D5000B /* 2 set default hi & lo water marks*/
501 /* 2 bytes - stream number */
502
503#define GDLYPARTIALFLUSHSTREAM 0x11D5000C /* 4 flush the delay buffer */
504 /* 2 bytes - stream number */
505 /* 2 bytes - data to retain in ms */
506
507
508#define GINPGETINP 0x11500001
509#define GINPGETLATCH 0x11500002
510#define GINPCLRLATCH 0x11500003
511#define GOUTGET 0x11510001
512#define GOUTSET 0x11510002
513#define GOUTSETBIT 0x11510003
514#define GOUTCLEARBIT 0x11510004
515#define GPWRGETWHICH 0x11520001
516#define GPWROFF 0x11520002
517#define GPWROFFRESET 0x11520003
518#define GPWRRESET 0x11520004
519
520
521/* Hardware / driver TYPE and SUBTYPE definitions */
522
523#define GDUMMY 0x01 /* Dummy device driver TYPE */
524#define GDGDMARKONE 0x01 /* Dummy device driver SUBTYPE */
525
526#define GCAN 0x02 /* CAN TYPE */
527#define G82527 0x01 /* 82527 SUBTYPE */
528#define GSJA1000 0x02 /* SJA1000 SUBTYPE */
529#define G82527SW 0x03 /* 82527 single wire subtype */
530#define G82527ISO11992 0x04 /* 82527 ISO11992 subtype */
531#define G82527_SINGLECHAN 0x05 /* 82527 single channel */
532#define G82527SW_SINGLECHAN 0x06 /* 82527 single wire single channel */
533#define G82527ISO11992_SINGLECHAN 0x07 /* 82527 ISO11992 single channel */
534#define GSJA1000FT 0x10 /* SJA1000 Fault Tolerant subtype */
535#define GSJA1000C 0x11 /* SJA1000 Compact subtype */
536#define GSJA1000FT_FO 0x12 /* SJA1000 single chsnnel Fault Tolerant subtype */
537#define GSJA1000_BEACON_CANFD 0x1a /* SJA1000 BEACON CAN-FD subtype */
538#define GSJA1000_BEACON_SW 0x1b /* SJA1000 BEACON CAN single wire subtype */
539#define GSJA1000_BEACON_FT 0x1c /* SJA1000 BEACON CAN Fault Tolerant subtype */
540
541#define GJ1850 0x03 /* 1850 TYPE */
542#define GHBCCPAIR 0x01 /* HBCC SUBTYPE */
543#define GDLC 0x02 /* GM DLC SUBTYPE */
544#define GCHRYSLER 0x03 /* Chrysler SUBTYPE */
545#define GDEHC12 0x04 /* DE HC12 KWP/BDLC SUBTYPE */
546
547#define GKWP2000 0x04 /* Keyword protocol 2000 TYPE */
548#define GDEHC12KWP 0x01 /* DE HC12 KWP/BDLC card SUBTYPE */
549
550#define GHONDA 0x05 /* Honda UART TYPE */
551#define GDGHC08 0x01 /* DG HC08 SUBTYPE */
552
553#define GFORDUBP 0x06 /* FORD UBP TYPE */
554#define GDGUBP08 0x01 /* DG HC08 SUBTYPE */
555
556#define GSCI 0x09 /* Chrysler SCI TYPE */
557#define G16550SCI 0x01 /* 16550 type UART based card SUBTYPE */
558
559#define GCCD 0x0a /* Chrysler C2D TYPE */
560#define G16550CDP68HC68 0x01 /* 16550 / CDP68HC68S1 card SUBTYPE */
561
562#define GLIN 0x0b /* LIN TYPE */
563#define GDGLIN08 0x01 /* DG HC08 SUBTYPE */
564#define GDGLIN_BEACON 0x03 /* DG BEACON LIN SUBTYPE */
565
566 typedef struct {
567 uint32_t cmd;
568 uint32_t cmd_context; //typically just uint8_t, but let's room for expansion/improvement
569 uint32_t ioctl_command; //should be more generic, but IOCTL is currently the only user
570 uint32_t req_frame_num;
571 uint32_t rsp_frame_num;
572 nstime_t req_time;
573} gryphon_pkt_info_t;
574
575/* List contains request data */
576 typedef struct {
577 wmem_list_t *request_frame_data;
578} gryphon_conversation;
579
580
581/*
582 * Editor modelines - https://www.wireshark.org/tools/modelines.html
583 *
584 * Local variables:
585 * c-basic-offset: 4
586 * tab-width: 8
587 * indent-tabs-mode: nil
588 * End:
589 *
590 * vi: set shiftwidth=4 tabstop=8 expandtab:
591 * :indentSize=4:tabSize=8:noTabs=true:
592 */
_wmem_list_t
Definition wmem_list.c:23
gryphon_conversation
Definition packet-gryphon.h:576
gryphon_pkt_info_t
Definition packet-gryphon.h:566
nstime_t
Definition nstime.h:26