iproute2/dcb/dcb.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __DCB_H__
   3#define __DCB_H__ 1
   4
   5#include <stdbool.h>
   6#include <stddef.h>
   7
   8/* dcb.c */
   9
  10struct dcb {
  11        char *buf;
  12        struct mnl_socket *nl;
  13        bool json_output;
  14        bool stats;
  15        bool use_iec;
  16};
  17
  18int dcb_parse_mapping(const char *what_key, __u32 key, __u32 max_key,
  19                      const char *what_value, __u64 value, __u64 max_value,
  20                      void (*set_array)(__u32 index, __u64 value, void *data),
  21                      void *set_array_data);
  22int dcb_cmd_parse_dev(struct dcb *dcb, int argc, char **argv,
  23                      int (*and_then)(struct dcb *dcb, const char *dev,
  24                                      int argc, char **argv),
  25                      void (*help)(void));
  26
  27void dcb_set_u8(__u32 key, __u64 value, void *data);
  28void dcb_set_u32(__u32 key, __u64 value, void *data);
  29void dcb_set_u64(__u32 key, __u64 value, void *data);
  30
  31int dcb_get_attribute(struct dcb *dcb, const char *dev, int attr,
  32                      void *data, size_t data_len);
  33int dcb_set_attribute(struct dcb *dcb, const char *dev, int attr,
  34                      const void *data, size_t data_len);
  35
  36void dcb_print_named_array(const char *json_name, const char *fp_name,
  37                           const __u8 *array, size_t size,
  38                           void (*print_array)(const __u8 *, size_t));
  39void dcb_print_array_u8(const __u8 *array, size_t size);
  40void dcb_print_array_u64(const __u64 *array, size_t size);
  41void dcb_print_array_on_off(const __u8 *array, size_t size);
  42void dcb_print_array_kw(const __u8 *array, size_t array_size,
  43                        const char *const kw[], size_t kw_size);
  44
  45/* dcb_buffer.c */
  46
  47int dcb_cmd_buffer(struct dcb *dcb, int argc, char **argv);
  48
  49/* dcb_ets.c */
  50
  51int dcb_cmd_ets(struct dcb *dcb, int argc, char **argv);
  52
  53/* dcb_maxrate.c */
  54
  55int dcb_cmd_maxrate(struct dcb *dcb, int argc, char **argv);
  56
  57/* dcb_pfc.c */
  58
  59int dcb_cmd_pfc(struct dcb *dcb, int argc, char **argv);
  60
  61#endif /* __DCB_H__ */
  62