#define  FM5CONCT 0x80
#define  FM5TYPE  0x7f
#define  FM5TYPE5 0x05
#define  FM5ATTCH 0xff02
#define  FM5PIPPR 0x08
#define  FM5BASIC 0xd0
#define  FM5MAPED 0xd1
#define  FM5SYNCH 0xc0
#define  FM5NONE  0
#define  FM5CONFM 0x40
#define  FM5CSB   0x80
#define  FM5RESUP 0x20
#define  FM5PIPF5 0x12f5
#define  FM5PIPE2 0x12e2

struct FMH5 {
/*
 * The function management header 5 (FMH-5),
 * using with a command of Attach.
 */
unsigned char length; /* Length of FMH-5,
                       * including this byte. */
unsigned char flag1;
unsigned int  type;
unsigned char flag2;
unsigned char lnflp;  /* Length of fixed length
                       * parameters */
unsigned char rsctp;  /* resource type */
unsigned char rsrv1;  /* reserved */
unsigned char flag3;  /* flags for fixed length parms */
unsigned char lntpn;  /* length of transaction program
                       * name */
char tpname;          /* First byte of the t.p. name */
            };

struct LUOW1 {
/*  Logical unit of work identifier */

unsigned char lnluw;  /* length of luow id */
unsigned char lnfqn;  /* length of fully qualified
                       * lu name */
unsigned char fqnam;  /* fully qualified lu name */
            };
struct LUOW2 {
/*  LUOW  */
unsigned char luwin[6]; /* LUOW instance number */
unsigned int  luwsn;  /* LUOW sequence number */
            };
struct CVCOR {
/* Conversation correlator */
unsigned char lnccs;  /* Length of conversation
                       * correlator of sender
                       * not including this byte */
char ccs;             /* Conversation correlator of
                       * sending transaction */
            };
struct ACCSE {
/* Access security subfield */

unsigned char asll;  /* Subfield length */
unsigned char asty;  /* Subfield type */
unsigned char asda;  /* Subfield data */
            };
struct PIPFM {
/* Program initialization parametr (PIP) */

unsigned int pipln;  /* PIP length, including this byte */
unsigned int pipgd;  /* GDS indicator */
char pipsf; /* first byte of PIP subfields */
            };
struct PIPSM {
/* PIP subfield map */

unsigned int pipsl;  /* Subfield length,
                      * including this bytes */
unsigned int pipsg;  /* GDS indicator */
char pipsd; /* Subfield data */
            };
