rmnet_ctl_client.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
  3. *
  4. * RMNET_CTL client handlers
  5. *
  6. */
  7. #ifndef _RMNET_CTL_CLIENT_H_
  8. #define _RMNET_CTL_CLIENT_H_
  9. #include <linux/skbuff.h>
  10. #include "rmnet_ctl.h"
  11. void rmnet_ctl_log(enum rmnet_ctl_log_lvl lvl, const char *msg,
  12. int rc, const void *data, unsigned int len);
  13. #define rmnet_ctl_log_err(msg, rc, data, len) \
  14. rmnet_ctl_log(RMNET_CTL_LOG_ERR, msg, rc, data, len)
  15. #define rmnet_ctl_log_info(msg, data, len) \
  16. rmnet_ctl_log(RMNET_CTL_LOG_INFO, msg, 0, data, len)
  17. #define rmnet_ctl_log_debug(msg, data, len) \
  18. rmnet_ctl_log(RMNET_CTL_LOG_DEBUG, msg, 0, data, len)
  19. struct rmnet_ctl_stats {
  20. u64 rx_pkts;
  21. u64 rx_err;
  22. u64 tx_pkts;
  23. u64 tx_err;
  24. u64 tx_complete;
  25. };
  26. struct rmnet_ctl_dev {
  27. int (*xmit)(struct rmnet_ctl_dev *dev, struct sk_buff *skb);
  28. struct rmnet_ctl_stats stats;
  29. };
  30. void rmnet_ctl_endpoint_post(const void *data, size_t len);
  31. void rmnet_ctl_endpoint_setdev(const struct rmnet_ctl_dev *dev);
  32. void rmnet_ctl_set_dbgfs(bool enable);
  33. #endif /* _RMNET_CTL_CLIENT_H_ */