C
      STRUCTURE /OBJDEF/
	UNION
	MAP
	UNION
	  MAP
	    BYTE	OBJ$B_SUBTYP
	  END MAP
	  MAP
	    BYTE	EOM$B_COMCOD
	  END MAP
	END UNION
	UNION
	  MAP	! MHD type records
	    UNION
	      MAP	! MHD$C_MHD
		BYTE		MHD$B_SRTLVL
		INTEGER*2	MHD$W_RECSIZ
		BYTE		MHD$B_NAMLNG
		CHARACTER*105	MHD$T_NAME	! and module vers, creation
	      END MAP				! and patch date/times
	      MAP	! MHD$C_LNM, MHD$C_SRC, MHD$C_TTL
		CHARACTER*2046	MHD$T_TEXT
	      END MAP
	    END UNION
	  END MAP
	  MAP	! GSD type records
	    UNION
	      MAP	! GSD$C_PSC
		BYTE		GPS$B_ALIGN
		INTEGER*2	GPS$W_FLAGS
		INTEGER*4	GPS$L_ALLOC
		BYTE		GPS$B_NAMLNG
		CHARACTER*31	GPS$T_NAME
	      END MAP
	      MAP	! GSD$C_SYM
		BYTE		SDF$B_DATYP
		INTEGER*2	SDF$W_FLAGS
		BYTE		SDF$B_PSINDX
		INTEGER*4	SDF$L_VALUE
		BYTE		SDF$B_NAMLNG
		CHARACTER*31	SDF$T_NAME
	      END MAP
	      MAP	! GSD$C_EPM
		BYTE		EPM$B_DATYP
		INTEGER*2	EPM$W_FLAGS
		BYTE		EPM$B_PSINDX
		INTEGER*4	EPM$L_VALUE
		INTEGER*2	EPM$W_MASK
		BYTE		EPM$B_NAMLNG
		CHARACTER*31	EPM$T_NAME
	      END MAP
	      MAP	! GSD$C_PRO
		BYTE		PRO$B_DATYP
		INTEGER*2	PRO$W_FLAGS
		BYTE		PRO$B_PSINDX
		INTEGER*4	PRO$L_VALUE
		INTEGER*2	PRO$W_MASK
		BYTE		PRO$B_NAMLNG
		CHARACTER*2040	PRO$T_NAME
	      END MAP
	      MAP	! GSD$C_SYMW
		BYTE		SDFW$B_DATYP
		INTEGER*2	SDFW$W_FLAGS
		INTEGER*2	SDFW$W_PSINDX
		INTEGER*4	SDFW$L_VALUE
		BYTE		SDFW$B_NAMLNG
		CHARACTER*31	SDFW$T_NAME
	      END MAP
	      MAP	! GSD$C_EPMW
		BYTE		EPMW$B_DATYP
		INTEGER*2	EPMW$W_FLAGS
		INTEGER*2	EPMW$W_PSINDX
		INTEGER*4	EPMW$L_VALUE
		INTEGER*2	EPMW$W_MASK
		BYTE		EPMW$B_NAMLNG
		CHARACTER*31	EPMW$T_NAME
	      END MAP
	      MAP	! GSD$C_PROW
		BYTE		PROW$B_DATYP
		INTEGER*2	PROW$W_FLAGS
		INTEGER*2	PROW$W_PSINDX
		INTEGER*4	PROW$L_VALUE
		INTEGER*2	PROW$W_MASK
		BYTE		PROW$B_NAMLNG
		CHARACTER*2040	PROW$T_NAME
	      END MAP
	      MAP	! GSD$C_IDC
		INTEGER*2	IDC$W_FLAGS
		BYTE		IDC$B_NAMLNG
		CHARACTER*95	IDC$T_NAME
	      END MAP
	      MAP	! GSD$C_ENV
		INTEGER*2	ENV$W_FLAGS
		INTEGER*2	ENV$W_ENVINDX
		BYTE		ENV$B_NAMLNG
		CHARACTER*31	ENV$T_NAME
	      END MAP
	      MAP	! GSD$C_LSY
		BYTE		LSDF$B_DATYP
		INTEGER*2	LSDF$W_FLAGS
		INTEGER*2	LSDF$W_ENVINDX
		INTEGER*2	LSDF$W_PSINDX
		INTEGER*4	LSDF$L_VALUE
		BYTE		LSDF$B_NAMLNG
		CHARACTER*31	LSDF$T_NAME
	      END MAP
	      MAP	! GSD$C_LEPM
		BYTE		LEPM$B_DATYP
		INTEGER*2	LEPM$W_FLAGS
		INTEGER*2	LEPM$W_ENVINDX
		INTEGER*2	LEPM$W_PSINDX
		INTEGER*4	LEPM$L_VALUE
		INTEGER*2	LEPM$W_MASK
		BYTE		LEPM$B_NAMLNG
		CHARACTER*31	LEPM$T_NAME
	      END MAP
	      MAP	! GSD$C_LPRO
		BYTE		LPRO$B_DATYP
		INTEGER*2	LPRO$W_FLAGS
		INTEGER*2	LPRO$W_ENVINDX
		INTEGER*2	LPRO$W_PSINDX
		INTEGER*4	LPRO$L_VALUE
		INTEGER*2	LPRO$W_MASK
		BYTE		LPRO$B_NAMLNG
		CHARACTER*2040	LPRO$T_NAME
	      END MAP
	      MAP	! GSD$C_SPSC
		BYTE		SGPS$B_ALIGN
		INTEGER*2	SGPS$W_FLAGS
		INTEGER*4	SGPS$L_ALLOC
		INTEGER*4	SGPS$L_BASE
		BYTE		SGPS$B_NAMLNG
		CHARACTER*31	SGPS$T_NAME
	      END MAP
	    END UNION
	  END MAP
	  MAP	! EOM type record
	    BYTE	EOM$B_PSINDX
	    INTEGER*4	EOM$L_TRFADR
	  END MAP
	END UNION
	END MAP
	MAP
	  CHARACTER*2047	BUFFER
	END MAP
	END UNION
      END STRUCTURE	! /OBJDEF/

      STRUCTURE /ARGDEF/
	UNION
	  MAP
	    BYTE	ARG$B_VALCTL
	    BYTE	ARG$B_BYTCNT
	    CHARACTER*255	ARG$T_TEXT
	  END MAP
	  MAP
	    CHARACTER*257 BUF
	  END MAP
	END UNION
      END STRUCTURE	! /ARGDEF/
C
