Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/linux/can/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  rx-offload.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * linux/can/rx-offload.h
 *
 * Copyright (c) 2014 David Jander, Protonic Holland
 * Copyright (c) 2014-2017, 2023 Pengutronix, Marc Kleine-Budde <kernel@pengutronix.de>
 */


#ifndef _CAN_RX_OFFLOAD_H
#define _CAN_RX_OFFLOAD_H

#include <linux/netdevice.h>
#include <linux/can.h>

struct can_rx_offload {
 struct net_device *dev;

 struct sk_buff *(*mailbox_read)(struct can_rx_offload *offload,
     unsigned int mb, u32 *timestamp,
     bool drop);

 struct sk_buff_head skb_queue;
 struct sk_buff_head skb_irq_queue;
 u32 skb_queue_len_max;

 unsigned int mb_first;
 unsigned int mb_last;

 struct napi_struct napi;

 bool inc;
};

int can_rx_offload_add_timestamp(struct net_device *dev,
     struct can_rx_offload *offload);
int can_rx_offload_add_fifo(struct net_device *dev,
       struct can_rx_offload *offload,
       unsigned int weight);
int can_rx_offload_add_manual(struct net_device *dev,
         struct can_rx_offload *offload,
         unsigned int weight);
int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload,
      u64 reg);
int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload);
int can_rx_offload_queue_timestamp(struct can_rx_offload *offload,
       struct sk_buff *skb, u32 timestamp);
unsigned int can_rx_offload_get_echo_skb_queue_timestamp(struct can_rx_offload *offload,
        unsigned int idx, u32 timestamp,
        unsigned int *frame_len_ptr);
int can_rx_offload_queue_tail(struct can_rx_offload *offload,
         struct sk_buff *skb);
unsigned int can_rx_offload_get_echo_skb_queue_tail(struct can_rx_offload *offload,
          unsigned int idx,
          unsigned int *frame_len_ptr);
void can_rx_offload_irq_finish(struct can_rx_offload *offload);
void can_rx_offload_threaded_irq_finish(struct can_rx_offload *offload);
void can_rx_offload_del(struct can_rx_offload *offload);
void can_rx_offload_enable(struct can_rx_offload *offload);

static inline void can_rx_offload_disable(struct can_rx_offload *offload)
{
 napi_disable(&offload->napi);
}

#endif /* !_CAN_RX_OFFLOAD_H */

Messung V0.5
C=96 H=98 G=96

¤ Dauer der Verarbeitung: 0.9 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.