| 233 | } |
| 234 | |
| 235 | static void sff_8079_show_rate_identifier(const uint8_t *data, struct rte_tel_data *d) |
| 236 | { |
| 237 | char val_string[SFF_ITEM_VAL_COMPOSE_SIZE]; |
| 238 | |
| 239 | snprintf(val_string, sizeof(val_string), "0x%02x", data[13]); |
| 240 | |
| 241 | switch (data[13]) { |
| 242 | case 0x00: |
| 243 | strlcat(val_string, " (unspecified)", sizeof(val_string)); |
| 244 | break; |
| 245 | case 0x01: |
| 246 | strlcat(val_string, " (4/2/1G Rate_Select & AS0/AS1)", sizeof(val_string)); |
| 247 | break; |
| 248 | case 0x02: |
| 249 | strlcat(val_string, " (8/4/2G Rx Rate_Select only)", sizeof(val_string)); |
| 250 | break; |
| 251 | case 0x03: |
| 252 | strlcat(val_string, " (8/4/2G Independent Rx & Tx Rate_Select)", |
| 253 | sizeof(val_string)); |
| 254 | break; |
| 255 | case 0x04: |
| 256 | strlcat(val_string, " (8/4/2G Tx Rate_Select only)", sizeof(val_string)); |
| 257 | break; |
| 258 | default: |
| 259 | strlcat(val_string, " (reserved or unknown)", sizeof(val_string)); |
| 260 | break; |
| 261 | } |
| 262 | ssf_add_dict_string(d, "Rate identifier", val_string); |
| 263 | } |
| 264 | |
| 265 | static void sff_8079_show_oui(const uint8_t *data, struct rte_tel_data *d) |
| 266 | { |
no test coverage detected