2 * ioctl interface for /dev/chsc
4 * Copyright 2008 IBM Corp.
5 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
11 #include <linux/types.h>
12 #include <asm/chpid.h>
13 #include <asm/schid.h>
15 struct chsc_async_header
{
21 struct subchannel_id sid
;
22 } __attribute__ ((packed
));
24 struct chsc_async_area
{
25 struct chsc_async_header header
;
26 __u8 data
[PAGE_SIZE
- 16 /* size of chsc_async_header */];
27 } __attribute__ ((packed
));
30 struct chsc_response_struct
{
34 __u8 data
[PAGE_SIZE
- 8];
35 } __attribute__ ((packed
));
41 struct chsc_response_struct cpcb
;
49 struct chsc_response_struct cucb
;
53 struct subchannel_id schid
;
55 struct chsc_response_struct scub
;
64 struct chsc_conf_info
{
67 struct chsc_response_struct scid
;
70 struct ccl_parm_chpid
{
75 struct ccl_parm_cssids
{
80 struct chsc_comp_list
{
86 CCL_CSS_IMG_CONF_CHAR
= 5,
90 struct ccl_parm_chpid chpid
;
91 struct ccl_parm_cssids cssids
;
93 struct chsc_response_struct sccl
;
104 struct chsc_response_struct sdcal
;
107 struct chsc_cpd_info
{
113 struct chsc_response_struct chpdb
;
116 #define CHSC_IOCTL_MAGIC 'c'
118 #define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area)
119 #define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \
121 #define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd)
122 #define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud)
123 #define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info)
124 #define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list)
125 #define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info)
126 #define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal)
130 struct css_general_char
{
132 u32 dynio
: 1; /* bit 12 */
134 u32 aif
: 1; /* bit 41 */
136 u32 mcss
: 1; /* bit 45 */
137 u32 fcs
: 1; /* bit 46 */
139 u32 ext_mb
: 1; /* bit 48 */
141 u32 aif_tdd
: 1; /* bit 56 */
143 u32 qebsm
: 1; /* bit 58 */
145 u32 aif_osa
: 1; /* bit 67 */
147 u32 cib
: 1; /* bit 82 */
149 u32 fcx
: 1; /* bit 88 */
151 }__attribute__((packed
));
153 extern struct css_general_char css_general_characteristics
;
155 #endif /* __KERNEL__ */