Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/virtio/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  virtio.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef LINUX_VIRTIO_H
#define LINUX_VIRTIO_H
#include <linux/scatterlist.h>
#include <linux/kernel.h>
#include <linux/spinlock.h>

struct device {
 void *parent;
};

struct virtio_device {
 struct device dev;
 u64 features;
 struct list_head vqs;
 spinlock_t vqs_list_lock;
 const struct virtio_config_ops *config;
};

struct virtqueue {
 struct list_head list;
 void (*callback)(struct virtqueue *vq);
 const char *name;
 struct virtio_device *vdev;
        unsigned int index;
        unsigned int num_free;
 unsigned int num_max;
 void *priv;
 bool reset;
};

/* Interfaces exported by virtio_ring. */
int virtqueue_add_sgs(struct virtqueue *vq,
        struct scatterlist *sgs[],
        unsigned int out_sgs,
        unsigned int in_sgs,
        void *data,
        gfp_t gfp);

int virtqueue_add_outbuf(struct virtqueue *vq,
    struct scatterlist sg[], unsigned int num,
    void *data,
    gfp_t gfp);

int virtqueue_add_inbuf(struct virtqueue *vq,
   struct scatterlist sg[], unsigned int num,
   void *data,
   gfp_t gfp);

bool virtqueue_kick(struct virtqueue *vq);

void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);

void virtqueue_disable_cb(struct virtqueue *vq);

bool virtqueue_enable_cb(struct virtqueue *vq);
bool virtqueue_enable_cb_delayed(struct virtqueue *vq);

void *virtqueue_detach_unused_buf(struct virtqueue *vq);
struct virtqueue *vring_new_virtqueue(unsigned int index,
          unsigned int num,
          unsigned int vring_align,
          struct virtio_device *vdev,
          bool weak_barriers,
          bool ctx,
          void *pages,
          bool (*notify)(struct virtqueue *vq),
          void (*callback)(struct virtqueue *vq),
          const char *name);
void vring_del_virtqueue(struct virtqueue *vq);

#endif

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

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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.