patch-2.3.99-pre8 linux/drivers/s390/char/hwc.h

Next file: linux/drivers/s390/char/hwc_con.c
Previous file: linux/drivers/s390/char/con3215.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre7/linux/drivers/s390/char/hwc.h linux/drivers/s390/char/hwc.h
@@ -0,0 +1,249 @@
+/*
+ *  drivers/s390/char/hwc.h
+ *
+ *
+ *  S390 version
+ *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *    Author(s): Martin Peschke <peschke@fh-brandenburg.de>
+ *
+ *
+ *
+ */
+
+#ifndef __HWC_H__
+#define __HWC_H__
+
+#define ET_OpCmd		0x01
+#define ET_Msg		0x02
+#define ET_StateChange	0x08
+#define ET_PMsgCmd		0x09
+#define ET_CntlProgOpCmd	0x20
+
+#define ET_OpCmd_Mask	0x80000000
+#define ET_Msg_Mask		0x40000000
+#define ET_StateChange_Mask	0x01000000
+#define ET_PMsgCmd_Mask	0x00800000
+#define ET_CtlProgOpCmd_Mask	0x00000001
+
+#define GMF_DOM		0x8000
+#define GMF_SndAlrm	0x4000
+#define GMF_HoldMsg	0x2000
+
+#define LTF_CntlText	0x8000
+#define LTF_LabelText	0x4000
+#define LTF_DataText	0x2000
+#define LTF_EndText	0x1000
+#define LTF_PromptText	0x0800
+
+#define HWC_COMMAND_INITIATED	0
+#define HWC_BUSY		2
+#define HWC_NOT_OPERATIONAL	3
+
+#define HWC_CMDW_READDATA 0x00770005
+
+#define HWC_CMDW_WRITEDATA 0x00760005
+
+#define HWC_CMDW_WRITEMASK 0x00780005
+
+#define GDS_ID_MDSMU		0x1310
+
+#define GDS_ID_MDSRouteInfo	0x1311
+
+#define GDS_ID_AgUnWrkCorr	0x1549
+
+#define GDS_ID_SNACondReport	0x1532
+
+#define GDS_ID_CPMSU		0x1212
+
+#define GDS_ID_RoutTargInstr	0x154D
+
+#define GDS_ID_OpReq		0x8070
+
+#define GDS_ID_TextCmd		0x1320
+
+#define GDS_KEY_SelfDefTextMsg	0x31
+
+#define _HWCB_HEADER	u16	length; \
+			u8	function_code; \
+			u8	control_mask[3]; \
+			u16	response_code;
+
+#define _EBUF_HEADER 	u16	length; \
+			u8	type; \
+			u8	flags; \
+			u16	_reserved;
+
+typedef struct {
+	_EBUF_HEADER
+} __attribute__ ((packed)) 
+
+evbuf_t;
+
+#define _MDB_HEADER	u16	length; \
+			u16	type; \
+			u32	tag; \
+			u32	revision_code;
+
+#define _GO_HEADER	u16	length; \
+			u16	type; \
+			u32	domid; \
+			u8	hhmmss_time[8]; \
+			u8	th_time[3]; \
+			u8	_reserved_0; \
+			u8	dddyyyy_date[7]; \
+			u8	_reserved_1; \
+			u16	general_msg_flags; \
+			u8	_reserved_2[10]; \
+			u8	originating_system_name[8]; \
+			u8	job_guest_name[8];
+
+#define _MTO_HEADER	u16	length; \
+			u16	type; \
+			u16	line_type_flags; \
+			u8	alarm_control; \
+			u8	_reserved[3];
+
+typedef struct {
+	_GO_HEADER
+} __attribute__ ((packed)) 
+
+go_t;
+
+typedef struct {
+	go_t go;
+} __attribute__ ((packed)) 
+
+mdb_body_t;
+
+typedef struct {
+	_MDB_HEADER
+	mdb_body_t mdb_body;
+} __attribute__ ((packed)) 
+
+mdb_t;
+
+typedef struct {
+	_EBUF_HEADER
+	mdb_t mdb;
+} __attribute__ ((packed)) 
+
+msgbuf_t;
+
+typedef struct {
+	_HWCB_HEADER
+	msgbuf_t msgbuf;
+} __attribute__ ((packed)) 
+
+write_hwcb_t;
+
+typedef struct {
+	_MTO_HEADER
+} __attribute__ ((packed)) 
+
+mto_t;
+
+static write_hwcb_t write_hwcb_template =
+{
+	sizeof (write_hwcb_t),
+	0x00,
+	{
+		0x00,
+		0x00,
+		0x00
+	},
+	0x0000,
+	{
+		sizeof (msgbuf_t),
+		ET_Msg,
+		0x00,
+		0x0000,
+		{
+			sizeof (mdb_t),
+			0x0001,
+			0xD4C4C240,
+			0x00000001,
+			{
+				{
+					sizeof (go_t),
+					0x0001
+
+				}
+			}
+		}
+	}
+};
+
+static mto_t mto_template =
+{
+	sizeof (mto_t),
+	0x0004,
+	LTF_EndText,
+	0x00
+};
+
+typedef u32 _hwcb_mask_t;
+
+typedef struct {
+	_HWCB_HEADER
+	u16 _reserved;
+	u16 mask_length;
+	_hwcb_mask_t cp_receive_mask;
+	_hwcb_mask_t cp_send_mask;
+	_hwcb_mask_t hwc_receive_mask;
+	_hwcb_mask_t hwc_send_mask;
+} __attribute__ ((packed)) 
+
+init_hwcb_t;
+
+static init_hwcb_t init_hwcb_template =
+{
+	sizeof (init_hwcb_t),
+	0x00,
+	{
+		0x00,
+		0x00,
+		0x00
+	},
+	0x0000,
+	0x0000,
+	sizeof (_hwcb_mask_t),
+	ET_OpCmd_Mask | ET_PMsgCmd_Mask,
+	ET_Msg_Mask
+};
+
+#define _GDS_VECTOR_HEADER	u16	length; \
+				u16	gds_id;
+
+#define _GDS_SUBVECTOR_HEADER	u8	length; \
+				u8	key;
+
+typedef struct {
+	_GDS_VECTOR_HEADER
+} __attribute__ ((packed)) 
+
+gds_vector_t;
+
+typedef struct {
+	_GDS_SUBVECTOR_HEADER
+} __attribute__ ((packed)) 
+
+gds_subvector_t;
+
+typedef struct {
+	_HWCB_HEADER
+} __attribute__ ((packed)) 
+
+read_hwcb_t;
+
+static read_hwcb_t read_hwcb_template =
+{
+	PAGE_SIZE,
+	0x00,
+	{
+		0x00,
+		0x00,
+		0x80
+	}
+};
+
+#endif				/* __HWC_H__ */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)