⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dasd.h

📁 嵌入式系统设计与实例开发源码
💻 H
字号:
/*  * File...........: linux/drivers/s390/block/dasd.c * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * * This file is the interface of the DASD device driver, which is exported to user space * any future changes wrt the API will result in a change of the APIVERSION reported * to userspace by the DASDAPIVER-ioctl * * History of changes (starts July 2000) * 05/04/01 created by moving the kernel interface to drivers/s390/block/dasd_int.h */#ifndef DASD_H#define DASD_H#include <linux/ioctl.h>#define DASD_IOCTL_LETTER 'D'#if (DASD_API_VERSION == 0)#define DASD_PARTN_BITS 2/*  * struct profile_info_t * holds the profinling information  */typedef struct dasd_profile_info_t {        unsigned int dasd_io_reqs;	 /* number of requests processed at all */        unsigned int dasd_io_sects;	 /* number of sectors processed at all */        unsigned int dasd_io_secs[32];	 /* histogram of request's sizes */        unsigned int dasd_io_times[32];	 /* histogram of requests's times */        unsigned int dasd_io_timps[32];	 /* histogram of requests's times per sector */        unsigned int dasd_io_time1[32];	 /* histogram of time from build to start */        unsigned int dasd_io_time2[32];	 /* histogram of time from start to irq */        unsigned int dasd_io_time2ps[32]; /* histogram of time from start to irq */        unsigned int dasd_io_time3[32];	 /* histogram of time from irq to end */        unsigned int dasd_io_nr_req[32]; /* histogram of # of requests in chanq */} dasd_profile_info_t;/*  * struct format_data_t * represents all data necessary to format a dasd */typedef struct format_data_t {	int start_unit; /* from track */	int stop_unit;  /* to track */	int blksize;    /* sectorsize */        int intensity;  } format_data_t;/* * values to be used for format_data_t.intensity * 0/8: normal format * 1/9: also write record zero * 3/11: also write home address * 4/12: invalidate track */#define DASD_FMT_INT_FMT_R0 1 /* write record zero */#define DASD_FMT_INT_FMT_HA 2 /* write home address, also set FMT_R0 ! */#define DASD_FMT_INT_INVAL  4 /* invalidate tracks */#define DASD_FMT_INT_COMPAT 8 /* use OS/390 compatible disk layout *//*  * struct dasd_information_t * represents any data about the data, which is visible to userspace */typedef struct dasd_information_t {        unsigned int devno; /* S/390 devno */        unsigned int real_devno; /* for aliases */        unsigned int schid; /* S/390 subchannel identifier */        unsigned int cu_type  : 16; /* from SenseID */        unsigned int cu_model :  8; /* from SenseID */        unsigned int dev_type : 16; /* from SenseID */        unsigned int dev_model : 8; /* from SenseID */        unsigned int open_count;         unsigned int req_queue_len;         unsigned int chanq_len;        char type[4]; /* from discipline.name, 'none' for unknown */        unsigned int status; /* current device level */        unsigned int label_block; /* where to find the VOLSER */        unsigned int FBA_layout; /* fixed block size (like AIXVOL) */        unsigned int characteristics_size;        unsigned int confdata_size;        char characteristics[64]; /* from read_device_characteristics */        char configuration_data[256]; /* from read_configuration_data */} dasd_information_t;/* Disable the volume (for Linux) */#define BIODASDDISABLE _IO(DASD_IOCTL_LETTER,0) /* Enable the volume (for Linux) */#define BIODASDENABLE  _IO(DASD_IOCTL_LETTER,1)  /* Issue a reserve/release command, rsp. */#define BIODASDRSRV    _IO(DASD_IOCTL_LETTER,2) /* reserve */#define BIODASDRLSE    _IO(DASD_IOCTL_LETTER,3) /* release */#define BIODASDSLCK    _IO(DASD_IOCTL_LETTER,4) /* steal lock *//* reset profiling information of a device */#define BIODASDPRRST   _IO(DASD_IOCTL_LETTER,5)/* retrieve API version number */#define DASDAPIVER     _IOR(DASD_IOCTL_LETTER,0,int)/* Get information on a dasd device */#define BIODASDINFO    _IOR(DASD_IOCTL_LETTER,1,dasd_information_t)/* retrieve profiling information of a device */#define BIODASDPRRD    _IOR(DASD_IOCTL_LETTER,2,dasd_profile_info_t)/* #define BIODASDFORMAT  _IOW(IOCTL_LETTER,0,format_data_t) , deprecated */#define BIODASDFMT     _IOW(DASD_IOCTL_LETTER,1,format_data_t) #endif /* DASD_API_VERSION */#endif				/* DASD_H *//* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically * adjust the settings for this buffer only.  This must remain at the end * of the file. * --------------------------------------------------------------------------- * Local variables: * c-indent-level: 4  * c-brace-imaginary-offset: 0 * c-brace-offset: -4 * c-argdecl-indent: 4 * c-label-offset: -4 * c-continued-statement-offset: 4 * c-continued-brace-offset: 0 * indent-tabs-mode: nil * tab-width: 8 * End: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -