-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIVAwUAUHPmWxOxKuMESys7AQKOvw//XnLQRzin9nWB91Dx9G5ZAZ3f1t5YFI31 mocFdgeuP1+qg1w4/dED1xnqODh9Sbi6gBsFa3wIAIcK/qkqwu8TCbFQDkjZsJkZ j/ZghiyrrMuFn71m2+cWpAcyoEKdtmfsd352lXOW6ACP21Yth/64GsJJpdM7ywVo K0mqtXcA0GDGioF9bc6p/fk/fS1V4X5dYle1hx9Pvsk1qxFrYNpkvBLkMxccn0Sf SUNLO1p4NIlfSjyO/7A5FwDGGkP4RzDAZ/Sno9+4tBqZ3wyTftfBRiocnK4VTfAW NhDWinIHwa+uAXK5A0wusPHHpmrVv7Caqda2pkkNmU8MtbB8NRJsMhM+xG+xZN8C UAESm69Ey2xbR8QNG7HQadCXywcIlDGGvvXbUgQA0q+WYL23gkUb5JtoEsWn39ce +m89dCzxz1QpQ0m4uTrCwR7cgs8URfozRFp9UO5yGHX3tNc6oiyeZl2wt/UUm8TJ oE2xbUuHB+OGxFw8FalJ92mM9cZcfKJxXSSZpUsb8CEIHNEvtNleG4KohynCwowQ IeRBZaGpDWttgNAia+suK1cunJ7Idvqx0T/aWGDBxAjxrJWLqmh9rMwVigmVf4RP 2TCrQW0cwfEMYvBLwszcfutrbzx/yfLhX+hhP9MTyroHzb6u1oyR1mh3uB4WXLKE BnMyXQjQOOE= =sTs2 -----END PGP SIGNATURE----- Merge tag 'disintegrate-s390-20121009' of git://git.infradead.org/users/dhowells/linux-headers Pull UAPI patchset from David Howells: "Can you merge the following branch into the s390 tree please. This is to complete part of the UAPI disintegration for which the preparatory patches were pulled recently." Conflicts: arch/s390/include/asm/chpid.h
		
			
				
	
	
		
			130 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * ioctl interface for /dev/chsc
 | 
						|
 *
 | 
						|
 * Copyright IBM Corp. 2008, 2012
 | 
						|
 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _ASM_CHSC_H
 | 
						|
#define _ASM_CHSC_H
 | 
						|
 | 
						|
#include <linux/types.h>
 | 
						|
#include <linux/ioctl.h>
 | 
						|
#include <asm/chpid.h>
 | 
						|
#include <asm/schid.h>
 | 
						|
 | 
						|
#define CHSC_SIZE 0x1000
 | 
						|
 | 
						|
struct chsc_async_header {
 | 
						|
	__u16 length;
 | 
						|
	__u16 code;
 | 
						|
	__u32 cmd_dependend;
 | 
						|
	__u32 key : 4;
 | 
						|
	__u32 : 28;
 | 
						|
	struct subchannel_id sid;
 | 
						|
} __attribute__ ((packed));
 | 
						|
 | 
						|
struct chsc_async_area {
 | 
						|
	struct chsc_async_header header;
 | 
						|
	__u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)];
 | 
						|
} __attribute__ ((packed));
 | 
						|
 | 
						|
struct chsc_response_struct {
 | 
						|
	__u16 length;
 | 
						|
	__u16 code;
 | 
						|
	__u32 parms;
 | 
						|
	__u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)];
 | 
						|
} __attribute__ ((packed));
 | 
						|
 | 
						|
struct chsc_chp_cd {
 | 
						|
	struct chp_id chpid;
 | 
						|
	int m;
 | 
						|
	int fmt;
 | 
						|
	struct chsc_response_struct cpcb;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_cu_cd {
 | 
						|
	__u16 cun;
 | 
						|
	__u8 cssid;
 | 
						|
	int m;
 | 
						|
	int fmt;
 | 
						|
	struct chsc_response_struct cucb;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_sch_cud {
 | 
						|
	struct subchannel_id schid;
 | 
						|
	int fmt;
 | 
						|
	struct chsc_response_struct scub;
 | 
						|
};
 | 
						|
 | 
						|
struct conf_id {
 | 
						|
	int m;
 | 
						|
	__u8 cssid;
 | 
						|
	__u8 ssid;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_conf_info {
 | 
						|
	struct conf_id id;
 | 
						|
	int fmt;
 | 
						|
	struct chsc_response_struct scid;
 | 
						|
};
 | 
						|
 | 
						|
struct ccl_parm_chpid {
 | 
						|
	int m;
 | 
						|
	struct chp_id chp;
 | 
						|
};
 | 
						|
 | 
						|
struct ccl_parm_cssids {
 | 
						|
	__u8 f_cssid;
 | 
						|
	__u8 l_cssid;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_comp_list {
 | 
						|
	struct {
 | 
						|
		enum {
 | 
						|
			CCL_CU_ON_CHP = 1,
 | 
						|
			CCL_CHP_TYPE_CAP = 2,
 | 
						|
			CCL_CSS_IMG = 4,
 | 
						|
			CCL_CSS_IMG_CONF_CHAR = 5,
 | 
						|
			CCL_IOP_CHP = 6,
 | 
						|
		} ctype;
 | 
						|
		int fmt;
 | 
						|
		struct ccl_parm_chpid chpid;
 | 
						|
		struct ccl_parm_cssids cssids;
 | 
						|
	} req;
 | 
						|
	struct chsc_response_struct sccl;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_dcal {
 | 
						|
	struct {
 | 
						|
		enum {
 | 
						|
			DCAL_CSS_IID_PN = 4,
 | 
						|
		} atype;
 | 
						|
		__u32 list_parm[2];
 | 
						|
		int fmt;
 | 
						|
	} req;
 | 
						|
	struct chsc_response_struct sdcal;
 | 
						|
};
 | 
						|
 | 
						|
struct chsc_cpd_info {
 | 
						|
	struct chp_id chpid;
 | 
						|
	int m;
 | 
						|
	int fmt;
 | 
						|
	int rfmt;
 | 
						|
	int c;
 | 
						|
	struct chsc_response_struct chpdb;
 | 
						|
};
 | 
						|
 | 
						|
#define CHSC_IOCTL_MAGIC 'c'
 | 
						|
 | 
						|
#define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area)
 | 
						|
#define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \
 | 
						|
				    struct chsc_chp_cd)
 | 
						|
#define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd)
 | 
						|
#define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud)
 | 
						|
#define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info)
 | 
						|
#define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list)
 | 
						|
#define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info)
 | 
						|
#define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal)
 | 
						|
 | 
						|
#endif
 |