patch-2.2.14 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
- Lines: 229
- Date:
Tue Jan 4 10:12:18 2000
- Orig file:
v2.2.13/linux/drivers/s390/char/hwc.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.2.13/linux/drivers/s390/char/hwc.h linux/drivers/s390/char/hwc.h
@@ -0,0 +1,228 @@
+/*
+ * 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)