2 * Fibre Channel Link Control definitions
3 * Copyright 2001 Dinesh G Dutt (ddutt@cisco.com)
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
12 #ifndef __PACKET_FCLCTL_H_
13 #define __PACKET_FCLCTL_H_
15 #define FC_LCTL_ACK1 0x00
16 #define FC_LCTL_ACK0 0x01
17 #define FC_LCTL_PRJT 0x02
18 #define FC_LCTL_FRJT 0x03
19 #define FC_LCTL_PBSY 0x04
20 #define FC_LCTL_FBSYL 0x05
21 #define FC_LCTL_FBSYB 0x06
22 #define FC_LCTL_LCR 0x07
23 #define FC_LCTL_NTY 0x08
24 #define FC_LCTL_END 0x09
26 extern const value_string fc_lctl_proto_val
[];
28 #define FC_LCTL_FBSY_FBSY 0x01
29 #define FC_LCTL_FBSY_NBSY 0x03
31 #define FC_LCTL_PBSY_ACODE_SEQBSY 0x01
32 #define FC_LCTL_PBSY_ACODE_C2BSY 0x02
34 #define FC_LCTL_PBSY_PORTBSY 0x01
35 #define FC_LCTL_PBSY_RSRCBSY 0x03
36 #define FC_LCTL_PBSY_MCASTBSY 0x07
37 #define FC_LCTL_PBSY_VENDBSY 0xFF
39 #define FC_LCTL_RJT_ACODE_RETRY 0x01
40 #define FC_LCTL_RJT_ACODE_NORETRY 0x02
42 #define FC_LCTL_RJT_INVDID 0x01
43 #define FC_LCTL_RJT_INVSID 0x02
44 #define FC_LCTL_RJT_NPORT_NOTAVAIL_T 0x03
45 #define FC_LCTL_RJT_NPORT_NOTAVAIL_P 0x04
46 #define FC_LCTL_RJT_CLASS_NOTSUPP 0x05
47 #define FC_LCTL_RJT_DELIM_USERR 0x06
48 #define FC_LCTL_RJT_TYPE_NOTSUPP 0x07
49 #define FC_LCTL_RJT_INV_LCTL 0x08
50 #define FC_LCTL_RJT_INV_RCTL 0x09
51 #define FC_LCTL_RJT_INV_FCTL 0x0A
52 #define FC_LCTL_RJT_INV_OXID 0x0B
53 #define FC_LCTL_RJT_INV_RXID 0x0C
54 #define FC_LCTL_RJT_INV_SEQID 0x0D
55 #define FC_LCTL_RJT_INV_DFCTL 0x0E
56 #define FC_LCTL_RJT_INV_SEQCNT 0x0F
57 #define FC_LCTL_RJT_INV_PARAM 0x10
58 #define FC_LCTL_RJT_EXCHG_ERR 0x11
59 #define FC_LCTL_RJT_PROTO_ERR 0x12
60 #define FC_LCTL_RJT_INV_LEN 0x13
61 #define FC_LCTL_RJT_UNEXP_ACK 0x14
62 #define FC_LCTL_RJT_CLS_NOTSUPP 0x15
63 #define FC_LCTL_RJT_LOGI_REQD 0x16
64 #define FC_LCTL_RJT_TOOMANY_SEQ 0x17
65 #define FC_LCTL_RJT_EXCHG_NOTESTD 0x18
66 #define FC_LCTL_RJT_RSVD 0x19
67 #define FC_LCTL_RJT_FPATH_NOTAVAIL 0x1A
68 #define FC_LCTL_RJT_INV_VCID 0x1B
69 #define FC_LCTL_RJT_INV_CSCTL 0x1C
70 #define FC_LCTL_RJT_OORSRC 0x1D
71 #define FC_LCTL_RJT_INV_CLASS 0x1F
72 #define FC_LCTL_RJT_PRMPT_RJT 0x20
73 #define FC_LCTL_RJT_PRMPT_DIS 0x21
74 #define FC_LCTL_RJT_MCAST_ERR 0x22
75 #define FC_LCTL_RJT_MCAST_TERM 0x23
76 #define FC_LCTL_RJT_PRLI_REQD 0x24
77 #define FC_LCTL_RJT_VEND_ERR 0xFF
79 /* Function definitions */
80 const char *fclctl_get_typestr (uint8_t linkctl_type
, uint8_t type
);
81 const char *fclctl_get_paramstr (wmem_allocator_t
*pool
, uint32_t linkctl_type
, uint32_t param
);