Erster Parser Test
This commit is contained in:
@@ -20,6 +20,94 @@ ctl-opt
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dcl-pr MD_ParseRetrieveBuffer;
|
||||||
|
|
||||||
|
ReceiverBuffer
|
||||||
|
char(32767) const
|
||||||
|
options(*varsize);
|
||||||
|
|
||||||
|
MediaDefinition
|
||||||
|
likeds(MD_MediaDefinition_T);
|
||||||
|
|
||||||
|
end-pr;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//=====================================================================
|
||||||
|
//
|
||||||
|
// MD_ParseRetrieveBuffer
|
||||||
|
//
|
||||||
|
// Parses a retrieved MEDDFN buffer.
|
||||||
|
//
|
||||||
|
// Currently supported:
|
||||||
|
// TAPE0200 header
|
||||||
|
//
|
||||||
|
//=====================================================================
|
||||||
|
|
||||||
|
dcl-proc MD_ParseRetrieveBuffer;
|
||||||
|
|
||||||
|
dcl-pi *n;
|
||||||
|
|
||||||
|
ReceiverBuffer
|
||||||
|
char(32767) const
|
||||||
|
options(*varsize);
|
||||||
|
|
||||||
|
MediaDefinition
|
||||||
|
likeds(MD_MediaDefinition_T);
|
||||||
|
|
||||||
|
end-pi;
|
||||||
|
|
||||||
|
|
||||||
|
dcl-ds HeaderBuffer
|
||||||
|
char(%size(MD_Tape0200Header_T));
|
||||||
|
|
||||||
|
dcl-ds Header
|
||||||
|
likeds(MD_Tape0200Header_T)
|
||||||
|
overlay(HeaderBuffer);
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Initialize result
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
|
||||||
|
clear MediaDefinition;
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Copy TAPE0200 header
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
|
||||||
|
HeaderBuffer =
|
||||||
|
%subst(
|
||||||
|
ReceiverBuffer :
|
||||||
|
1 :
|
||||||
|
%size(MD_Tape0200Header_T));
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Header -> Media Definition
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
|
||||||
|
MediaDefinition.MaximumParallelResources =
|
||||||
|
Header.MaximumParallelDeviceResources;
|
||||||
|
|
||||||
|
MediaDefinition.MinimumParallelResources =
|
||||||
|
Header.MinimumParallelDeviceResources;
|
||||||
|
|
||||||
|
MediaDefinition.NumberOfDevices =
|
||||||
|
Header.NumberOfDeviceDefinitions;
|
||||||
|
|
||||||
|
MediaDefinition.DeviceAllocation =
|
||||||
|
Header.DeviceAllocation;
|
||||||
|
|
||||||
|
MediaDefinition.SaveFormat =
|
||||||
|
Header.SaveFormat;
|
||||||
|
|
||||||
|
end-proc;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=====================================================================
|
//=====================================================================
|
||||||
//
|
//
|
||||||
// MD_RetrieveMediaDefinition
|
// MD_RetrieveMediaDefinition
|
||||||
|
|||||||
Reference in New Issue
Block a user