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 ---