Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/net/wireless/ath/ath12k/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  dp_mon.h   Sprache: C

 
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
 * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
 */


#ifndef ATH12K_DP_MON_H
#define ATH12K_DP_MON_H

#include "core.h"

#define ATH12K_MON_RX_DOT11_OFFSET 5
#define ATH12K_MON_RX_PKT_OFFSET 8

enum dp_monitor_mode {
 ATH12K_DP_TX_MONITOR_MODE,
 ATH12K_DP_RX_MONITOR_MODE
};

enum dp_mon_tx_ppdu_info_type {
 DP_MON_TX_PROT_PPDU_INFO,
 DP_MON_TX_DATA_PPDU_INFO
};

enum dp_mon_tx_tlv_status {
 DP_MON_TX_FES_SETUP,
 DP_MON_TX_FES_STATUS_END,
 DP_MON_RX_RESPONSE_REQUIRED_INFO,
 DP_MON_RESPONSE_END_STATUS_INFO,
 DP_MON_TX_MPDU_START,
 DP_MON_TX_MSDU_START,
 DP_MON_TX_BUFFER_ADDR,
 DP_MON_TX_DATA,
 DP_MON_TX_STATUS_PPDU_NOT_DONE,
};

enum dp_mon_tx_medium_protection_type {
 DP_MON_TX_MEDIUM_NO_PROTECTION,
 DP_MON_TX_MEDIUM_RTS_LEGACY,
 DP_MON_TX_MEDIUM_RTS_11AC_STATIC_BW,
 DP_MON_TX_MEDIUM_RTS_11AC_DYNAMIC_BW,
 DP_MON_TX_MEDIUM_CTS2SELF,
 DP_MON_TX_MEDIUM_QOS_NULL_NO_ACK_3ADDR,
 DP_MON_TX_MEDIUM_QOS_NULL_NO_ACK_4ADDR
};

struct dp_mon_qosframe_addr4 {
 __le16 frame_control;
 __le16 duration;
 u8 addr1[ETH_ALEN];
 u8 addr2[ETH_ALEN];
 u8 addr3[ETH_ALEN];
 __le16 seq_ctrl;
 u8 addr4[ETH_ALEN];
 __le16 qos_ctrl;
} __packed;

struct dp_mon_frame_min_one {
 __le16 frame_control;
 __le16 duration;
 u8 addr1[ETH_ALEN];
} __packed;

struct dp_mon_packet_info {
 u64 cookie;
 u16 dma_length;
 bool msdu_continuation;
 bool truncated;
};

struct dp_mon_tx_ppdu_info {
 u32 ppdu_id;
 u8  num_users;
 bool is_used;
 struct hal_rx_mon_ppdu_info rx_status;
 struct list_head dp_tx_mon_mpdu_list;
 struct dp_mon_mpdu *tx_mon_mpdu;
};

enum hal_rx_mon_status
ath12k_dp_mon_rx_parse_mon_status(struct ath12k *ar,
      struct ath12k_mon_data *pmon,
      struct sk_buff *skb,
      struct napi_struct *napi);
int ath12k_dp_mon_buf_replenish(struct ath12k_base *ab,
    struct dp_rxdma_mon_ring *buf_ring,
    int req_entries);
int ath12k_dp_mon_status_bufs_replenish(struct ath12k_base *ab,
     struct dp_rxdma_mon_ring *rx_ring,
     int req_entries);
int ath12k_dp_mon_process_ring(struct ath12k_base *ab, int mac_id,
          struct napi_struct *napi, int budget,
          enum dp_monitor_mode monitor_mode);
struct sk_buff *ath12k_dp_mon_tx_alloc_skb(void);
enum dp_mon_tx_tlv_status
ath12k_dp_mon_tx_status_get_num_user(u16 tlv_tag,
         struct hal_tlv_hdr *tx_tlv,
         u8 *num_users);
enum hal_rx_mon_status
ath12k_dp_mon_tx_parse_mon_status(struct ath12k *ar,
      struct ath12k_mon_data *pmon,
      struct sk_buff *skb,
      struct napi_struct *napi,
      u32 ppdu_id);
void ath12k_dp_mon_rx_process_ulofdma(struct hal_rx_mon_ppdu_info *ppdu_info);
int ath12k_dp_mon_srng_process(struct ath12k *ar, int *budget, struct napi_struct *napi);
#endif

Messung V0.5
C=94 H=95 G=94

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.