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
|
||||
|
||||
Reference in New Issue
Block a user