1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _FC_ELS_H_ 7 #define _FC_ELS_H_ 8 #include <linux/types.h> 9 enum fc_els_cmd { 10 ELS_LS_RJT = 0x01, 11 ELS_LS_ACC = 0x02, 12 ELS_PLOGI = 0x03, 13 ELS_FLOGI = 0x04, 14 ELS_LOGO = 0x05, 15 ELS_ABTX = 0x06, 16 ELS_RCS = 0x07, 17 ELS_RES = 0x08, 18 ELS_RSS = 0x09, 19 ELS_RSI = 0x0a, 20 ELS_ESTS = 0x0b, 21 ELS_ESTC = 0x0c, 22 ELS_ADVC = 0x0d, 23 ELS_RTV = 0x0e, 24 ELS_RLS = 0x0f, 25 ELS_ECHO = 0x10, 26 ELS_TEST = 0x11, 27 ELS_RRQ = 0x12, 28 ELS_REC = 0x13, 29 ELS_SRR = 0x14, 30 ELS_PRLI = 0x20, 31 ELS_PRLO = 0x21, 32 ELS_SCN = 0x22, 33 ELS_TPLS = 0x23, 34 ELS_TPRLO = 0x24, 35 ELS_LCLM = 0x25, 36 ELS_GAID = 0x30, 37 ELS_FACT = 0x31, 38 ELS_FDACDT = 0x32, 39 ELS_NACT = 0x33, 40 ELS_NDACT = 0x34, 41 ELS_QOSR = 0x40, 42 ELS_RVCS = 0x41, 43 ELS_PDISC = 0x50, 44 ELS_FDISC = 0x51, 45 ELS_ADISC = 0x52, 46 ELS_RNC = 0x53, 47 ELS_FARP_REQ = 0x54, 48 ELS_FARP_REPL = 0x55, 49 ELS_RPS = 0x56, 50 ELS_RPL = 0x57, 51 ELS_RPBC = 0x58, 52 ELS_FAN = 0x60, 53 ELS_RSCN = 0x61, 54 ELS_SCR = 0x62, 55 ELS_RNFT = 0x63, 56 ELS_CSR = 0x68, 57 ELS_CSU = 0x69, 58 ELS_LINIT = 0x70, 59 ELS_LSTS = 0x72, 60 ELS_RNID = 0x78, 61 ELS_RLIR = 0x79, 62 ELS_LIRR = 0x7a, 63 ELS_SRL = 0x7b, 64 ELS_SBRP = 0x7c, 65 ELS_RPSC = 0x7d, 66 ELS_QSA = 0x7e, 67 ELS_EVFP = 0x7f, 68 ELS_LKA = 0x80, 69 ELS_AUTH_ELS = 0x90, 70 }; 71 #define FC_ELS_CMDS_INIT { \ 72 [ELS_LS_RJT] = "LS_RJT", \ 73 [ELS_LS_ACC] = "LS_ACC", \ 74 [ELS_PLOGI] = "PLOGI", \ 75 [ELS_FLOGI] = "FLOGI", \ 76 [ELS_LOGO] = "LOGO", \ 77 [ELS_ABTX] = "ABTX", \ 78 [ELS_RCS] = "RCS", \ 79 [ELS_RES] = "RES", \ 80 [ELS_RSS] = "RSS", \ 81 [ELS_RSI] = "RSI", \ 82 [ELS_ESTS] = "ESTS", \ 83 [ELS_ESTC] = "ESTC", \ 84 [ELS_ADVC] = "ADVC", \ 85 [ELS_RTV] = "RTV", \ 86 [ELS_RLS] = "RLS", \ 87 [ELS_ECHO] = "ECHO", \ 88 [ELS_TEST] = "TEST", \ 89 [ELS_RRQ] = "RRQ", \ 90 [ELS_REC] = "REC", \ 91 [ELS_SRR] = "SRR", \ 92 [ELS_PRLI] = "PRLI", \ 93 [ELS_PRLO] = "PRLO", \ 94 [ELS_SCN] = "SCN", \ 95 [ELS_TPLS] = "TPLS", \ 96 [ELS_TPRLO] = "TPRLO", \ 97 [ELS_LCLM] = "LCLM", \ 98 [ELS_GAID] = "GAID", \ 99 [ELS_FACT] = "FACT", \ 100 [ELS_FDACDT] = "FDACDT", \ 101 [ELS_NACT] = "NACT", \ 102 [ELS_NDACT] = "NDACT", \ 103 [ELS_QOSR] = "QOSR", \ 104 [ELS_RVCS] = "RVCS", \ 105 [ELS_PDISC] = "PDISC", \ 106 [ELS_FDISC] = "FDISC", \ 107 [ELS_ADISC] = "ADISC", \ 108 [ELS_RNC] = "RNC", \ 109 [ELS_FARP_REQ] = "FARP_REQ", \ 110 [ELS_FARP_REPL] = "FARP_REPL", \ 111 [ELS_RPS] = "RPS", \ 112 [ELS_RPL] = "RPL", \ 113 [ELS_RPBC] = "RPBC", \ 114 [ELS_FAN] = "FAN", \ 115 [ELS_RSCN] = "RSCN", \ 116 [ELS_SCR] = "SCR", \ 117 [ELS_RNFT] = "RNFT", \ 118 [ELS_CSR] = "CSR", \ 119 [ELS_CSU] = "CSU", \ 120 [ELS_LINIT] = "LINIT", \ 121 [ELS_LSTS] = "LSTS", \ 122 [ELS_RNID] = "RNID", \ 123 [ELS_RLIR] = "RLIR", \ 124 [ELS_LIRR] = "LIRR", \ 125 [ELS_SRL] = "SRL", \ 126 [ELS_SBRP] = "SBRP", \ 127 [ELS_RPSC] = "RPSC", \ 128 [ELS_QSA] = "QSA", \ 129 [ELS_EVFP] = "EVFP", \ 130 [ELS_LKA] = "LKA", \ 131 [ELS_AUTH_ELS] = "AUTH_ELS", \ 132 } 133 struct fc_els_ls_acc { 134 __u8 la_cmd; 135 __u8 la_resv[3]; 136 }; 137 struct fc_els_ls_rjt { 138 __u8 er_cmd; 139 __u8 er_resv[4]; 140 __u8 er_reason; 141 __u8 er_explan; 142 __u8 er_vendor; 143 }; 144 enum fc_els_rjt_reason { 145 ELS_RJT_NONE = 0, 146 ELS_RJT_INVAL = 0x01, 147 ELS_RJT_LOGIC = 0x03, 148 ELS_RJT_BUSY = 0x05, 149 ELS_RJT_PROT = 0x07, 150 ELS_RJT_UNAB = 0x09, 151 ELS_RJT_UNSUP = 0x0b, 152 ELS_RJT_INPROG = 0x0e, 153 ELS_RJT_FIP = 0x20, 154 ELS_RJT_VENDOR = 0xff, 155 }; 156 enum fc_els_rjt_explan { 157 ELS_EXPL_NONE = 0x00, 158 ELS_EXPL_SPP_OPT_ERR = 0x01, 159 ELS_EXPL_SPP_ICTL_ERR = 0x03, 160 ELS_EXPL_AH = 0x11, 161 ELS_EXPL_AH_REQ = 0x13, 162 ELS_EXPL_SID = 0x15, 163 ELS_EXPL_OXID_RXID = 0x17, 164 ELS_EXPL_INPROG = 0x19, 165 ELS_EXPL_PLOGI_REQD = 0x1e, 166 ELS_EXPL_INSUF_RES = 0x29, 167 ELS_EXPL_UNAB_DATA = 0x2a, 168 ELS_EXPL_UNSUPR = 0x2c, 169 ELS_EXPL_INV_LEN = 0x2d, 170 ELS_EXPL_NOT_NEIGHBOR = 0x62, 171 172 }; 173 struct fc_els_csp { 174 __u8 sp_hi_ver; 175 __u8 sp_lo_ver; 176 __be16 sp_bb_cred; 177 __be16 sp_features; 178 __be16 sp_bb_data; 179 union { 180 struct { 181 __be16 _sp_tot_seq; 182 __be16 _sp_rel_off; 183 } sp_plogi; 184 struct { 185 __be32 _sp_r_a_tov; 186 } sp_flogi_acc; 187 } sp_u; 188 __be32 sp_e_d_tov; 189 }; 190 #define sp_tot_seq sp_u.sp_plogi._sp_tot_seq 191 #define sp_rel_off sp_u.sp_plogi._sp_rel_off 192 #define sp_r_a_tov sp_u.sp_flogi_acc._sp_r_a_tov 193 #define FC_SP_BB_DATA_MASK 0xfff 194 #define FC_SP_MIN_MAX_PAYLOAD FC_MIN_MAX_PAYLOAD 195 #define FC_SP_MAX_MAX_PAYLOAD FC_MAX_PAYLOAD 196 #define FC_SP_FT_NPIV 0x8000 197 #define FC_SP_FT_CIRO 0x8000 198 #define FC_SP_FT_CLAD 0x8000 199 #define FC_SP_FT_RAND 0x4000 200 #define FC_SP_FT_VAL 0x2000 201 #define FC_SP_FT_NPIV_ACC 0x2000 202 #define FC_SP_FT_FPORT 0x1000 203 #define FC_SP_FT_ABB 0x0800 204 #define FC_SP_FT_EDTR 0x0400 205 #define FC_SP_FT_MCAST 0x0200 206 #define FC_SP_FT_BCAST 0x0100 207 #define FC_SP_FT_HUNT 0x0080 208 #define FC_SP_FT_SIMP 0x0040 209 #define FC_SP_FT_SEC 0x0020 210 #define FC_SP_FT_CSYN 0x0010 211 #define FC_SP_FT_RTTOV 0x0008 212 #define FC_SP_FT_HALF 0x0004 213 #define FC_SP_FT_SEQC 0x0002 214 #define FC_SP_FT_PAYL 0x0001 215 struct fc_els_cssp { 216 __be16 cp_class; 217 __be16 cp_init; 218 __be16 cp_recip; 219 __be16 cp_rdfs; 220 __be16 cp_con_seq; 221 __be16 cp_ee_cred; 222 __u8 cp_resv1; 223 __u8 cp_open_seq; 224 __u8 _cp_resv2[2]; 225 }; 226 #define FC_CPC_VALID 0x8000 227 #define FC_CPC_IMIX 0x4000 228 #define FC_CPC_SEQ 0x0800 229 #define FC_CPC_CAMP 0x0200 230 #define FC_CPC_PRI 0x0080 231 #define FC_CPI_CSYN 0x0010 232 #define FC_CPR_CSYN 0x0008 233 struct fc_els_flogi { 234 __u8 fl_cmd; 235 __u8 _fl_resvd[3]; 236 struct fc_els_csp fl_csp; 237 __be64 fl_wwpn; 238 __be64 fl_wwnn; 239 struct fc_els_cssp fl_cssp[4]; 240 __u8 fl_vend[16]; 241 } __attribute__((__packed__)); 242 struct fc_els_spp { 243 __u8 spp_type; 244 __u8 spp_type_ext; 245 __u8 spp_flags; 246 __u8 _spp_resvd; 247 __be32 spp_orig_pa; 248 __be32 spp_resp_pa; 249 __be32 spp_params; 250 }; 251 #define FC_SPP_OPA_VAL 0x80 252 #define FC_SPP_RPA_VAL 0x40 253 #define FC_SPP_EST_IMG_PAIR 0x20 254 #define FC_SPP_RESP_MASK 0x0f 255 enum fc_els_spp_resp { 256 FC_SPP_RESP_ACK = 1, 257 FC_SPP_RESP_RES = 2, 258 FC_SPP_RESP_INIT = 3, 259 FC_SPP_RESP_NO_PA = 4, 260 FC_SPP_RESP_CONF = 5, 261 FC_SPP_RESP_COND = 6, 262 FC_SPP_RESP_MULT = 7, 263 FC_SPP_RESP_INVL = 8, 264 }; 265 struct fc_els_rrq { 266 __u8 rrq_cmd; 267 __u8 rrq_zero[3]; 268 __u8 rrq_resvd; 269 __u8 rrq_s_id[3]; 270 __be16 rrq_ox_id; 271 __be16 rrq_rx_id; 272 }; 273 struct fc_els_rec { 274 __u8 rec_cmd; 275 __u8 rec_zero[3]; 276 __u8 rec_resvd; 277 __u8 rec_s_id[3]; 278 __be16 rec_ox_id; 279 __be16 rec_rx_id; 280 }; 281 struct fc_els_rec_acc { 282 __u8 reca_cmd; 283 __u8 reca_zero[3]; 284 __be16 reca_ox_id; 285 __be16 reca_rx_id; 286 __u8 reca_resvd1; 287 __u8 reca_ofid[3]; 288 __u8 reca_resvd2; 289 __u8 reca_rfid[3]; 290 __be32 reca_fc4value; 291 __be32 reca_e_stat; 292 }; 293 struct fc_els_prli { 294 __u8 prli_cmd; 295 __u8 prli_spp_len; 296 __be16 prli_len; 297 298 }; 299 struct fc_els_prlo { 300 __u8 prlo_cmd; 301 __u8 prlo_obs; 302 __be16 prlo_len; 303 }; 304 struct fc_els_adisc { 305 __u8 adisc_cmd; 306 __u8 adisc_resv[3]; 307 __u8 adisc_resv1; 308 __u8 adisc_hard_addr[3]; 309 __be64 adisc_wwpn; 310 __be64 adisc_wwnn; 311 __u8 adisc_resv2; 312 __u8 adisc_port_id[3]; 313 } __attribute__((__packed__)); 314 struct fc_els_logo { 315 __u8 fl_cmd; 316 __u8 fl_zero[3]; 317 __u8 fl_resvd; 318 __u8 fl_n_port_id[3]; 319 __be64 fl_n_port_wwn; 320 }; 321 struct fc_els_rtv { 322 __u8 rtv_cmd; 323 __u8 rtv_zero[3]; 324 }; 325 struct fc_els_rtv_acc { 326 __u8 rtv_cmd; 327 __u8 rtv_zero[3]; 328 __be32 rtv_r_a_tov; 329 __be32 rtv_e_d_tov; 330 __be32 rtv_toq; 331 }; 332 #define FC_ELS_RTV_EDRES (1 << 26) 333 #define FC_ELS_RTV_RTTOV (1 << 19) 334 struct fc_els_scr { 335 __u8 scr_cmd; 336 __u8 scr_resv[6]; 337 __u8 scr_reg_func; 338 }; 339 enum fc_els_scr_func { 340 ELS_SCRF_FAB = 1, 341 ELS_SCRF_NPORT = 2, 342 ELS_SCRF_FULL = 3, 343 ELS_SCRF_CLEAR = 255, 344 }; 345 struct fc_els_rscn { 346 __u8 rscn_cmd; 347 __u8 rscn_page_len; 348 __be16 rscn_plen; 349 350 }; 351 struct fc_els_rscn_page { 352 __u8 rscn_page_flags; 353 __u8 rscn_fid[3]; 354 }; 355 #define ELS_RSCN_EV_QUAL_BIT 2 356 #define ELS_RSCN_EV_QUAL_MASK 0xf 357 #define ELS_RSCN_ADDR_FMT_BIT 0 358 #define ELS_RSCN_ADDR_FMT_MASK 0x3 359 enum fc_els_rscn_ev_qual { 360 ELS_EV_QUAL_NONE = 0, 361 ELS_EV_QUAL_NS_OBJ = 1, 362 ELS_EV_QUAL_PORT_ATTR = 2, 363 ELS_EV_QUAL_SERV_OBJ = 3, 364 ELS_EV_QUAL_SW_CONFIG = 4, 365 ELS_EV_QUAL_REM_OBJ = 5, 366 }; 367 enum fc_els_rscn_addr_fmt { 368 ELS_ADDR_FMT_PORT = 0, 369 ELS_ADDR_FMT_AREA = 1, 370 ELS_ADDR_FMT_DOM = 2, 371 ELS_ADDR_FMT_FAB = 3, 372 }; 373 struct fc_els_rnid { 374 __u8 rnid_cmd; 375 __u8 rnid_resv[3]; 376 __u8 rnid_fmt; 377 __u8 rnid_resv2[3]; 378 }; 379 enum fc_els_rnid_fmt { 380 ELS_RNIDF_NONE = 0, 381 ELS_RNIDF_GEN = 0xdf, 382 }; 383 struct fc_els_rnid_resp { 384 __u8 rnid_cmd; 385 __u8 rnid_resv[3]; 386 __u8 rnid_fmt; 387 __u8 rnid_cid_len; 388 __u8 rnid_resv2; 389 __u8 rnid_sid_len; 390 }; 391 struct fc_els_rnid_cid { 392 __be64 rnid_wwpn; 393 __be64 rnid_wwnn; 394 }; 395 struct fc_els_rnid_gen { 396 __u8 rnid_vend_id[16]; 397 __be32 rnid_atype; 398 __be32 rnid_phys_port; 399 __be32 rnid_att_nodes; 400 __u8 rnid_node_mgmt; 401 __u8 rnid_ip_ver; 402 __be16 rnid_prot_port; 403 __be32 rnid_ip_addr[4]; 404 __u8 rnid_resvd[2]; 405 __be16 rnid_vend_spec; 406 }; 407 enum fc_els_rnid_atype { 408 ELS_RNIDA_UNK = 0x01, 409 ELS_RNIDA_OTHER = 0x02, 410 ELS_RNIDA_HUB = 0x03, 411 ELS_RNIDA_SWITCH = 0x04, 412 ELS_RNIDA_GATEWAY = 0x05, 413 ELS_RNIDA_CONV = 0x06, 414 ELS_RNIDA_HBA = 0x07, 415 ELS_RNIDA_PROXY = 0x08, 416 ELS_RNIDA_STORAGE = 0x09, 417 ELS_RNIDA_HOST = 0x0a, 418 ELS_RNIDA_SUBSYS = 0x0b, 419 ELS_RNIDA_ACCESS = 0x0e, 420 ELS_RNIDA_NAS = 0x11, 421 ELS_RNIDA_BRIDGE = 0x12, 422 ELS_RNIDA_VIRT = 0x13, 423 ELS_RNIDA_MF = 0xff, 424 ELS_RNIDA_MF_HUB = 1UL << 31, 425 ELS_RNIDA_MF_SW = 1UL << 30, 426 ELS_RNIDA_MF_GW = 1UL << 29, 427 ELS_RNIDA_MF_ST = 1UL << 28, 428 ELS_RNIDA_MF_HOST = 1UL << 27, 429 ELS_RNIDA_MF_SUB = 1UL << 26, 430 ELS_RNIDA_MF_ACC = 1UL << 25, 431 ELS_RNIDA_MF_WDM = 1UL << 24, 432 ELS_RNIDA_MF_NAS = 1UL << 23, 433 ELS_RNIDA_MF_BR = 1UL << 22, 434 ELS_RNIDA_MF_VIRT = 1UL << 21, 435 }; 436 enum fc_els_rnid_mgmt { 437 ELS_RNIDM_SNMP = 0, 438 ELS_RNIDM_TELNET = 1, 439 ELS_RNIDM_HTTP = 2, 440 ELS_RNIDM_HTTPS = 3, 441 ELS_RNIDM_XML = 4, 442 }; 443 enum fc_els_rnid_ipver { 444 ELS_RNIDIP_NONE = 0, 445 ELS_RNIDIP_V4 = 1, 446 ELS_RNIDIP_V6 = 2, 447 }; 448 struct fc_els_rpl { 449 __u8 rpl_cmd; 450 __u8 rpl_resv[5]; 451 __be16 rpl_max_size; 452 __u8 rpl_resv1; 453 __u8 rpl_index[3]; 454 }; 455 struct fc_els_pnb { 456 __be32 pnb_phys_pn; 457 __u8 pnb_resv; 458 __u8 pnb_port_id[3]; 459 __be64 pnb_wwpn; 460 }; 461 struct fc_els_rpl_resp { 462 __u8 rpl_cmd; 463 __u8 rpl_resv1; 464 __be16 rpl_plen; 465 __u8 rpl_resv2; 466 __u8 rpl_llen[3]; 467 __u8 rpl_resv3; 468 __u8 rpl_index[3]; 469 struct fc_els_pnb rpl_pnb[1]; 470 }; 471 struct fc_els_lesb { 472 __be32 lesb_link_fail; 473 __be32 lesb_sync_loss; 474 __be32 lesb_sig_loss; 475 __be32 lesb_prim_err; 476 __be32 lesb_inv_word; 477 __be32 lesb_inv_crc; 478 }; 479 struct fc_els_rps { 480 __u8 rps_cmd; 481 __u8 rps_resv[2]; 482 __u8 rps_flag; 483 __be64 rps_port_spec; 484 }; 485 enum fc_els_rps_flag { 486 FC_ELS_RPS_DID = 0x00, 487 FC_ELS_RPS_PPN = 0x01, 488 FC_ELS_RPS_WWPN = 0x02, 489 }; 490 struct fc_els_rps_resp { 491 __u8 rps_cmd; 492 __u8 rps_resv[2]; 493 __u8 rps_flag; 494 __u8 rps_resv2[2]; 495 __be16 rps_status; 496 struct fc_els_lesb rps_lesb; 497 }; 498 enum fc_els_rps_resp_flag { 499 FC_ELS_RPS_LPEV = 0x01, 500 }; 501 enum fc_els_rps_resp_status { 502 FC_ELS_RPS_PTP = 1 << 5, 503 FC_ELS_RPS_LOOP = 1 << 4, 504 FC_ELS_RPS_FAB = 1 << 3, 505 FC_ELS_RPS_NO_SIG = 1 << 2, 506 FC_ELS_RPS_NO_SYNC = 1 << 1, 507 FC_ELS_RPS_RESET = 1 << 0, 508 }; 509 struct fc_els_lirr { 510 __u8 lirr_cmd; 511 __u8 lirr_resv[3]; 512 __u8 lirr_func; 513 __u8 lirr_fmt; 514 __u8 lirr_resv2[2]; 515 }; 516 enum fc_els_lirr_func { 517 ELS_LIRR_SET_COND = 0x01, 518 ELS_LIRR_SET_UNCOND = 0x02, 519 ELS_LIRR_CLEAR = 0xff 520 }; 521 struct fc_els_srl { 522 __u8 srl_cmd; 523 __u8 srl_resv[3]; 524 __u8 srl_flag; 525 __u8 srl_flag_param[3]; 526 }; 527 enum fc_els_srl_flag { 528 FC_ELS_SRL_ALL = 0x00, 529 FC_ELS_SRL_ONE = 0x01, 530 FC_ELS_SRL_EN_PER = 0x02, 531 FC_ELS_SRL_DIS_PER = 0x03, 532 }; 533 struct fc_els_rls { 534 __u8 rls_cmd; 535 __u8 rls_resv[4]; 536 __u8 rls_port_id[3]; 537 }; 538 struct fc_els_rls_resp { 539 __u8 rls_cmd; 540 __u8 rls_resv[3]; 541 struct fc_els_lesb rls_lesb; 542 }; 543 struct fc_els_rlir { 544 __u8 rlir_cmd; 545 __u8 rlir_resv[3]; 546 __u8 rlir_fmt; 547 __u8 rlir_clr_len; 548 __u8 rlir_cld_len; 549 __u8 rlir_slr_len; 550 }; 551 struct fc_els_clir { 552 __be64 clir_wwpn; 553 __be64 clir_wwnn; 554 __u8 clir_port_type; 555 __u8 clir_port_id[3]; 556 __be64 clir_conn_wwpn; 557 __be64 clir_conn_wwnn; 558 __be64 clir_fab_name; 559 __be32 clir_phys_port; 560 __be32 clir_trans_id; 561 __u8 clir_resv[3]; 562 __u8 clir_ts_fmt; 563 __be64 clir_timestamp; 564 }; 565 enum fc_els_clir_ts_fmt { 566 ELS_CLIR_TS_UNKNOWN = 0, 567 ELS_CLIR_TS_SEC_FRAC = 1, 568 ELS_CLIR_TS_CSU = 2, 569 }; 570 struct fc_els_clid { 571 __u8 clid_iq; 572 __u8 clid_ic; 573 __be16 clid_epai; 574 }; 575 enum fc_els_clid_iq { 576 ELS_CLID_SWITCH = 0x20, 577 ELS_CLID_E_PORT = 0x10, 578 ELS_CLID_SEV_MASK = 0x0c, 579 ELS_CLID_SEV_INFO = 0x00, 580 ELS_CLID_SEV_INOP = 0x08, 581 ELS_CLID_SEV_DEG = 0x04, 582 ELS_CLID_LASER = 0x02, 583 ELS_CLID_FRU = 0x01, 584 }; 585 enum fc_els_clid_ic { 586 ELS_CLID_IC_IMPL = 1, 587 ELS_CLID_IC_BER = 2, 588 ELS_CLID_IC_LOS = 3, 589 ELS_CLID_IC_NOS = 4, 590 ELS_CLID_IC_PST = 5, 591 ELS_CLID_IC_INVAL = 6, 592 ELS_CLID_IC_LOOP_TO = 7, 593 ELS_CLID_IC_LIP = 8, 594 }; 595 #endif 596