~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/s390/include/uapi/asm/chsc.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 /*
  3  * ioctl interface for /dev/chsc
  4  *
  5  * Copyright IBM Corp. 2008, 2012
  6  * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
  7  */
  8 
  9 #ifndef _ASM_CHSC_H
 10 #define _ASM_CHSC_H
 11 
 12 #include <linux/types.h>
 13 #include <linux/ioctl.h>
 14 #include <asm/chpid.h>
 15 #include <asm/schid.h>
 16 
 17 #define CHSC_SIZE 0x1000
 18 
 19 struct chsc_async_header {
 20         __u16 length;
 21         __u16 code;
 22         __u32 cmd_dependend;
 23         __u32 key : 4;
 24         __u32 : 28;
 25         struct subchannel_id sid;
 26 };
 27 
 28 struct chsc_async_area {
 29         struct chsc_async_header header;
 30         __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)];
 31 };
 32 
 33 struct chsc_header {
 34         __u16 length;
 35         __u16 code;
 36 };
 37 
 38 struct chsc_sync_area {
 39         struct chsc_header header;
 40         __u8 data[CHSC_SIZE - sizeof(struct chsc_header)];
 41 };
 42 
 43 struct chsc_response_struct {
 44         __u16 length;
 45         __u16 code;
 46         __u32 parms;
 47         __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)];
 48 };
 49 
 50 struct chsc_chp_cd {
 51         struct chp_id chpid;
 52         int m;
 53         int fmt;
 54         struct chsc_response_struct cpcb;
 55 };
 56 
 57 struct chsc_cu_cd {
 58         __u16 cun;
 59         __u8 cssid;
 60         int m;
 61         int fmt;
 62         struct chsc_response_struct cucb;
 63 };
 64 
 65 struct chsc_sch_cud {
 66         struct subchannel_id schid;
 67         int fmt;
 68         struct chsc_response_struct scub;
 69 };
 70 
 71 struct conf_id {
 72         int m;
 73         __u8 cssid;
 74         __u8 ssid;
 75 };
 76 
 77 struct chsc_conf_info {
 78         struct conf_id id;
 79         int fmt;
 80         struct chsc_response_struct scid;
 81 };
 82 
 83 struct ccl_parm_chpid {
 84         int m;
 85         struct chp_id chp;
 86 };
 87 
 88 struct ccl_parm_cssids {
 89         __u8 f_cssid;
 90         __u8 l_cssid;
 91 };
 92 
 93 struct chsc_comp_list {
 94         struct {
 95                 enum {
 96                         CCL_CU_ON_CHP = 1,
 97                         CCL_CHP_TYPE_CAP = 2,
 98                         CCL_CSS_IMG = 4,
 99                         CCL_CSS_IMG_CONF_CHAR = 5,
100                         CCL_IOP_CHP = 6,
101                 } ctype;
102                 int fmt;
103                 struct ccl_parm_chpid chpid;
104                 struct ccl_parm_cssids cssids;
105         } req;
106         struct chsc_response_struct sccl;
107 };
108 
109 struct chsc_dcal {
110         struct {
111                 enum {
112                         DCAL_CSS_IID_PN = 4,
113                 } atype;
114                 __u32 list_parm[2];
115                 int fmt;
116         } req;
117         struct chsc_response_struct sdcal;
118 };
119 
120 struct chsc_cpd_info {
121         struct chp_id chpid;
122         int m;
123         int fmt;
124         int rfmt;
125         int c;
126         struct chsc_response_struct chpdb;
127 };
128 
129 #define CHSC_IOCTL_MAGIC 'c'
130 
131 #define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area)
132 #define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \
133                                     struct chsc_chp_cd)
134 #define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd)
135 #define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud)
136 #define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info)
137 #define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list)
138 #define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info)
139 #define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal)
140 #define CHSC_START_SYNC _IOWR(CHSC_IOCTL_MAGIC, 0x89, struct chsc_sync_area)
141 #define CHSC_ON_CLOSE_SET _IOWR(CHSC_IOCTL_MAGIC, 0x8a, struct chsc_async_area)
142 #define CHSC_ON_CLOSE_REMOVE _IO(CHSC_IOCTL_MAGIC, 0x8b)
143 
144 #endif
145 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php