nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | /* |
2 | * Copyright (C) 2000, Richard Sharpe |
||
3 | * |
||
4 | * This software may be distributed either under the terms of the |
||
5 | * BSD-style licence that accompanies tcpdump or under the GNU GPL |
||
6 | * version 2 or later. |
||
7 | * |
||
8 | * print-beep.c |
||
9 | * |
||
10 | */ |
||
11 | |||
12 | #define NETDISSECT_REWORKED |
||
13 | #ifdef HAVE_CONFIG_H |
||
14 | #include "config.h" |
||
15 | #endif |
||
16 | |||
17 | #include <tcpdump-stdinc.h> |
||
18 | |||
19 | #include <string.h> |
||
20 | |||
21 | #include "interface.h" |
||
22 | |||
23 | /* Check for a string but not go beyond length |
||
24 | * Return TRUE on match, FALSE otherwise |
||
25 | * |
||
26 | * Looks at the first few chars up to tl1 ... |
||
27 | */ |
||
28 | |||
29 | static int |
||
30 | l_strnstart(const char *tstr1, u_int tl1, const char *str2, u_int l2) |
||
31 | { |
||
32 | |||
33 | if (tl1 > l2) |
||
34 | return 0; |
||
35 | |||
36 | return (strncmp(tstr1, str2, tl1) == 0 ? 1 : 0); |
||
37 | } |
||
38 | |||
39 | void |
||
40 | beep_print(netdissect_options *ndo, const u_char *bp, u_int length) |
||
41 | { |
||
42 | |||
43 | if (l_strnstart("MSG", 4, (const char *)bp, length)) /* A REQuest */ |
||
44 | ND_PRINT((ndo, " BEEP MSG")); |
||
45 | else if (l_strnstart("RPY ", 4, (const char *)bp, length)) |
||
46 | ND_PRINT((ndo, " BEEP RPY")); |
||
47 | else if (l_strnstart("ERR ", 4, (const char *)bp, length)) |
||
48 | ND_PRINT((ndo, " BEEP ERR")); |
||
49 | else if (l_strnstart("ANS ", 4, (const char *)bp, length)) |
||
50 | ND_PRINT((ndo, " BEEP ANS")); |
||
51 | else if (l_strnstart("NUL ", 4, (const char *)bp, length)) |
||
52 | ND_PRINT((ndo, " BEEP NUL")); |
||
53 | else if (l_strnstart("SEQ ", 4, (const char *)bp, length)) |
||
54 | ND_PRINT((ndo, " BEEP SEQ")); |
||
55 | else if (l_strnstart("END", 4, (const char *)bp, length)) |
||
56 | ND_PRINT((ndo, " BEEP END")); |
||
57 | else |
||
58 | ND_PRINT((ndo, " BEEP (payload or undecoded)")); |
||
59 | } |