/* k  1002  08.07.90     */
/* k 0020	12/07/90	*/
/* k 0046	08/09/90	*/
/* k 1012       01/11/90  change definition for daf,oaf       */
/* k 1014       12/11/90  change definition for snf,dcf       */
/* k 0076	13/11/90	*/
/* k 0115	02/02/91	*/
/* k 0119       08/02/91        */
/* k 0171	04/06/91	*/
#define     EFI     1    /* @0119 */
#define     DGR     2    /* @0119 */
#define     SGM     4    /* @0119 */   /* multiplier */
#define     FID     16   /* @0119 */   /* multiplier */
struct th {              /* transmission header               */
 union {
/*  unsigned efi:1;      * expedited flow indicator          *
    unsigned dgr:1;	 * datagram indicator		      ** @0046 *
    unsigned sgm:2;	 * segmenting: 0 - middle, 1 - last, ** @0046 *
			 * 2 - first, 3 - only		      ** @0046 *
    unsigned fid:4;      * format identifier                 ** @0046 */
   struct {
  unsigned char fid;	/* @0171 */
#define     TLLC     8   /* @0119 */   /* multiplier */
#define     TTP     32   /* @0119 */   /* multiplier */
#define     TC     128   /* @0119 */
/*  unsigned rs1:3;	 * reserved			      ** @0046 *
    unsigned llc:2;      * logical link control mode:        *    @0046
			  * 0 - connectionless mode           *    @0046
			  * 1 - n/a                           *    @0046
			  * 2 - connection mode               *    @0046
			  * 3 - connectionless responded mode ** @0046 *
    unsigned tp:2;       * transmission priority:            *    @0046
			  * 0 - low                           *    @0046
			  * 1 - middle                        *    @0046
			  * 2 - high                          ** @0046 *
    unsigned c:1;	 * circularity flag		      ** @0046 */
    unsigned char llctp;                                      /* @0119 */
    unsigned char rs2;   /* reserved                  *//* @0115 */
    unsigned char rs3;   /* reserved                  *//* @0115 */
          } lan;
   struct {
  unsigned char fid;	/* @0171 */
#define     TTN      2     /* @0119 */  /* multiplier */
#define     TPATH    8     /* @0119 */  /* multiplier */
#define     TERN     1     /* @0119 */  /* multiplier */
#define     TRTP     8     /* @0119 */  /* multiplier */
#define     TVRN    32     /* @0119 */  /* multiplier */
/*  unsigned rs2:1;	 * reserved		      *
    unsigned tn:2;       * network type                      *   @0046
			  * 1 - SNA                           *   @0046
			  * 2 - ROUTE                         *   @0046
			  * 3 - LAN                           ** @0046 *
    unsigned path:2;     * flags for PATH                    *    @0046
			  * 2 - fields from HSCB              *    @0046
			  * 3 - header is ready               ** @0046 *
    unsigned rs1:2;      * reserved                          ** @0046 *
    unsigned c:1;        * circularity flag                  ** @0046 *
    unsigned ern:3;      * explicite route number    *        * @0046 *
    unsigned tp:2;       * transmisson priority      *        * @0046 *
    unsigned vrn:3;      * virtual route number      *        * @0046 */
    unsigned char tnpath;                /* @0119 */
    unsigned char erntpvrn;              /* @0119 */
    char sess;          /* session number  1002      */
	  } rout;
					/* @0046 */
        } t13;
  union {                                          /* 1012 */
   struct {                                        /* 1012 */
    short daf;           /* destination address field  1002*/
    short oaf;           /* origin address field       1002*/
	  } lan;                                   /* 1012 */
   struct {							/* @0076 */
     char daf1;							/* @0076 */
     char daf2;							/* @0076 */
     char oaf1;							/* @0076 */
     char oaf2;							/* @0076 */
	  } ch;							/* @0076 */
   struct {                                        /* 1012 */
    unsigned char dnode;  /* node addr                 1012 *//* @0115 */
/*  unsigned dclust:4;    * cluster number            1012 *
    unsigned delem:4;     * element addr              1012 */
    unsigned char dclustelem;                          /* @0119 */
    unsigned char onode;  /* node addr                 1012 *//* @0115 */
/*  unsigned oclust:4;    * cluster number            1012 *
    unsigned oelem:4;     * element addr              1012 */
    unsigned char oclustelem;                          /* @0119 */
          } rout;                                   /* 1012 */
        } dest;                                     /* 1012 */
  union {                                             /* 1014 */
   struct {                                           /* 1014 */
    short snf;           /* sequence number field        1014 */
    short dcf;           /* data count field             1014 */
	  } old;                                      /* 1014 */
   struct {                                           /* 1014 */
    unsigned char snf1;  /* sequence number field-byte 1 1014 *//* @0115 */
    unsigned char snf2;  /* sequence number field-byte 2 1014 *//* @0115 */
    unsigned char dcf1;  /* data count field - byte 1    1014 *//* @0115 */
    unsigned char dcf2;  /* data count field - byte 2    1014 *//* @0115 */
	  } new;                                      /* 1014 */
	} t912;                                       /* 1014 */
    };
#define FID8       128   /* format 8 - the only TH format supported */
#define TPLOW      0     /* transmission priority (low)             */
#define TPMIDDLE   1     /* transmission priority (middle)          */
#define TPHIGH     2     /* transmission priority (high)            */
#define LLCCL      0     /* llc connectionless mode                 */
#define LLCC       1     /* llc connectin mode                      */
#define LLCCLR     3     /* llc connectionless responded mode       */
#define NET_SNA    1     /* network type = SNA                      */
#define NET_ROUTE  2     /* network type = ROUTE                    */
#define NET_LAN    3     /* network type = LAN                      */
 