Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  blktrans.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright © 2003-2010 David Woodhouse <dwmw2@infradead.org>
 */


#ifndef __MTD_TRANS_H__
#define __MTD_TRANS_H__

#include <linux/mutex.h>
#include <linux/kref.h>
#include <linux/sysfs.h>

struct hd_geometry;
struct mtd_info;
struct mtd_blktrans_ops;
struct file;
struct inode;

struct mtd_blktrans_dev {
 struct mtd_blktrans_ops *tr;
 struct list_head list;
 struct mtd_info *mtd;
 struct mutex lock;
 int devnum;
 bool bg_stop;
 unsigned long size;
 int readonly;
 int open;
 struct kref ref;
 struct gendisk *disk;
 struct attribute_group *disk_attributes;
 struct request_queue *rq;
 struct list_head rq_list;
 struct blk_mq_tag_set *tag_set;
 spinlock_t queue_lock;
 void *priv;
 bool writable;
};

struct mtd_blktrans_ops {
 char *name;
 int major;
 int part_bits;
 int blksize;
 int blkshift;

 /* Access functions */
 int (*readsect)(struct mtd_blktrans_dev *dev,
      unsigned long block, char *buffer);
 int (*writesect)(struct mtd_blktrans_dev *dev,
       unsigned long block, char *buffer);
 int (*discard)(struct mtd_blktrans_dev *dev,
         unsigned long block, unsigned nr_blocks);
 void (*background)(struct mtd_blktrans_dev *dev);

 /* Block layer ioctls */
 int (*getgeo)(struct mtd_blktrans_dev *dev, struct hd_geometry *geo);
 int (*flush)(struct mtd_blktrans_dev *dev);

 /* Called with mtd_table_mutex held; no race with add/remove */
 int (*open)(struct mtd_blktrans_dev *dev);
 void (*release)(struct mtd_blktrans_dev *dev);

 /* Called on {de,}registration and on subsequent addition/removal
   of devices, with mtd_table_mutex held. */

 void (*add_mtd)(struct mtd_blktrans_ops *tr, struct mtd_info *mtd);
 void (*remove_dev)(struct mtd_blktrans_dev *dev);

 struct list_head devs;
 struct list_head list;
 struct module *owner;
};

extern int register_mtd_blktrans(struct mtd_blktrans_ops *tr);
extern int deregister_mtd_blktrans(struct mtd_blktrans_ops *tr);
extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev *dev);
extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev *dev);
extern int mtd_blktrans_cease_background(struct mtd_blktrans_dev *dev);

/**
 * module_mtd_blktrans() - Helper macro for registering a mtd blktrans driver
 * @__mtd_blktrans: mtd_blktrans_ops struct
 *
 * Helper macro for mtd blktrans drivers which do not do anything special in
 * module init/exit. This eliminates a lot of boilerplate. Each module may only
 * use this macro once, and calling it replaces module_init() and module_exit()
 */

#define module_mtd_blktrans(__mtd_blktrans) \
 module_driver(__mtd_blktrans, register_mtd_blktrans, \
     deregister_mtd_blktrans)

#endif /* __MTD_TRANS_H__ */

Messung V0.5
C=91 H=100 G=95

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






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge