rmnet_ll.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
  2. * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 and
  6. * only version 2 as published by the Free Software Foundation.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * RmNet Low Latency channel handlers
  14. */
  15. #ifndef __RMNET_LL_H__
  16. #define __RMNET_LL_H__
  17. #include <linux/skbuff.h>
  18. struct rmnet_ll_stats {
  19. u64 tx_queue;
  20. u64 tx_queue_err;
  21. u64 tx_complete;
  22. u64 tx_complete_err;
  23. u64 rx_queue;
  24. u64 rx_queue_err;
  25. u64 rx_status_err;
  26. u64 rx_null;
  27. u64 rx_oom;
  28. u64 rx_pkts;
  29. u64 rx_tmp_allocs;
  30. u64 tx_disabled;
  31. u64 tx_enabled;
  32. u64 tx_fc_queued;
  33. u64 tx_fc_sent;
  34. u64 tx_fc_err;
  35. };
  36. int rmnet_ll_send_skb(struct sk_buff *skb);
  37. struct rmnet_ll_stats *rmnet_ll_get_stats(void);
  38. int rmnet_ll_init(void);
  39. void rmnet_ll_exit(void);
  40. #endif