{************************************************************************
*									*
*  DCXDEF								*
*									*
*  Declarations for DCX$ (Data Compression/Expansion) Utility routines.	*
*									*
************************************************************************}


[ASYNCHRONOUS] FUNCTION DCX$ANALYZE_DATA (
	Context : UNSIGNED ;
	_Record : [CLASS_S] PACKED ARRAY [$L2..$U2:INTEGER] OF CHAR )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$ANALYZE_DONE (
	VAR Context : [VOLATILE] UNSIGNED )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$ANALYZE_INIT (
	VAR Context : [VOLATILE] UNSIGNED ;
	Item_Code  : UNSIGNED := %IMMED 0 ;
	Item_Value : UNSIGNED := %IMMED 0 )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$COMPRESS_DATA (
	Context : UNSIGNED ;
	In_Rec : [CLASS_S] PACKED ARRAY [$L2..$U2:INTEGER] OF CHAR ;
	%DESCR Out_Rec : VARYING [$L3] OF CHAR ;
	VAR Out_Length : [VOLATILE] $WORD := %IMMED 0 )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$COMPRESS_DONE (
	VAR Context : [VOLATILE] UNSIGNED )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$COMPRESS_INIT (
	VAR Context : [VOLATILE] UNSIGNED ;
	Map : [UNSAFE] UNSIGNED )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$EXPAND_DATA (
	Context : UNSIGNED ;
	In_Rec : [CLASS_S] PACKED ARRAY [$L2..$U2:INTEGER] OF CHAR ;
	%DESCR Out_Rec : VARYING [$L3] OF CHAR ;
	VAR Out_Length : [VOLATILE] $WORD := %IMMED 0 )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$EXPAND_DONE (
	VAR Context : [VOLATILE] UNSIGNED )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$EXPAND_INIT (
	VAR Context : [VOLATILE] UNSIGNED ;
	Map : [UNSAFE] UNSIGNED )
		: UNSIGNED ; EXTERNAL ;

[ASYNCHRONOUS] FUNCTION DCX$MAKE_MAP (
	VAR Context  : [VOLATILE] UNSIGNED ;
	VAR Map_Addr : [VOLATILE,UNSAFE] UNSIGNED ;
	VAR Map_Size : [VOLATILE] UNSIGNED := %IMMED 0 )
		: UNSIGNED ; EXTERNAL ;

