chsc.h (c37d6154c0b9163c27e53cc1d0be3867b4abd760) | chsc.h (4dcc2a4d6c37c36155ea6d6305f15e599531b862) |
---|---|
1/* 2 * ioctl interface for /dev/chsc 3 * | 1/* 2 * ioctl interface for /dev/chsc 3 * |
4 * Copyright IBM Corp. 2008 | 4 * Copyright IBM Corp. 2008, 2012 |
5 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> 6 */ 7 8#ifndef _ASM_CHSC_H 9#define _ASM_CHSC_H 10 11#include <linux/types.h> | 5 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> 6 */ 7 8#ifndef _ASM_CHSC_H 9#define _ASM_CHSC_H 10 11#include <linux/types.h> |
12#include <linux/ioctl.h> |
|
12#include <asm/chpid.h> 13#include <asm/schid.h> 14 | 13#include <asm/chpid.h> 14#include <asm/schid.h> 15 |
16#define CHSC_SIZE 0x1000 17 |
|
15struct chsc_async_header { 16 __u16 length; 17 __u16 code; 18 __u32 cmd_dependend; 19 __u32 key : 4; 20 __u32 : 28; 21 struct subchannel_id sid; 22} __attribute__ ((packed)); 23 24struct chsc_async_area { 25 struct chsc_async_header header; | 18struct chsc_async_header { 19 __u16 length; 20 __u16 code; 21 __u32 cmd_dependend; 22 __u32 key : 4; 23 __u32 : 28; 24 struct subchannel_id sid; 25} __attribute__ ((packed)); 26 27struct chsc_async_area { 28 struct chsc_async_header header; |
26 __u8 data[PAGE_SIZE - 16 /* size of chsc_async_header */]; | 29 __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)]; |
27} __attribute__ ((packed)); 28 | 30} __attribute__ ((packed)); 31 |
29 | |
30struct chsc_response_struct { 31 __u16 length; 32 __u16 code; 33 __u32 parms; | 32struct chsc_response_struct { 33 __u16 length; 34 __u16 code; 35 __u32 parms; |
34 __u8 data[PAGE_SIZE - 8]; | 36 __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)]; |
35} __attribute__ ((packed)); 36 37struct chsc_chp_cd { 38 struct chp_id chpid; 39 int m; 40 int fmt; 41 struct chsc_response_struct cpcb; 42}; --- 86 unchanged lines hidden --- | 37} __attribute__ ((packed)); 38 39struct chsc_chp_cd { 40 struct chp_id chpid; 41 int m; 42 int fmt; 43 struct chsc_response_struct cpcb; 44}; --- 86 unchanged lines hidden --- |