From 0c6fd71128ecf6913e62f72e7a781e0f78c25169 Mon Sep 17 00:00:00 2001 From: Eckhard Gosch Date: Sun, 6 Sep 2026 17:09:31 +0200 Subject: [PATCH] Offener Commit im Parser bei Start von VS-Code --- meddfnprs.rpgle | 134 ++++++++++++++++++++++++------------------------ 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/meddfnprs.rpgle b/meddfnprs.rpgle index ccbd519..cbf5196 100644 --- a/meddfnprs.rpgle +++ b/meddfnprs.rpgle @@ -1,28 +1,28 @@ **free - //======================================================================== - // - // Media Definition Parser - // - // - // - // - // - //========================================================================== +//======================================================================== +// +// Media Definition Parser +// +// +// +// +// +//========================================================================== ctl-opt - option(*srcstmt:*nodebugio) nomain; + option(*srcstmt:*nodebugio) nomain; /COPY './meddfn_h.rpgle' /COPY './meddfnap_h.rpgle' - // /COPY GOSCH1/MEDDFN,MEDDFN_H - // /COPY GOSCH1/MEDDFN,MEDDFNAP_H +// /COPY GOSCH1/MEDDFN,MEDDFN_H +// /COPY GOSCH1/MEDDFN,MEDDFNAP_H dcl-pr MD_ParseRetrieveBuffer; ReceiverBuffer - char(32767) const - options(*varsize); + char(32767) const + options(*varsize); MediaDefinition likeds(MD_MediaDefinition_T); @@ -44,39 +44,39 @@ dcl-proc MD_ParseRetrieveBuffer; dcl-pi *n; - ReceiverBuffer - char(32767) const - options(*varsize); - + MediaDefinition likeds(MD_MediaDefinition_T); end-pi; - dcl-ds Header - likeds(MD_Tape0200Header_T); + dcl-ds Header ReceiverBuffer + char(32767) const + options(*varsize); - dcl-ds Device + likeds(MD_Tape0200Header_T); + + dcl-ds Device likeds(MD_Tape0200DeviceDefinition_T); - dcl-ds MediaFile + dcl-ds MediaFile likeds(MD_Tape0200MediaFileDefinition_T); - dcl-s MediaOffset int(10); + dcl-s MediaOffset int(10); - dcl-s DeviceOffset int(10); - dcl-s DeviceIndex int(10); + dcl-s DeviceOffset int(10); + dcl-s DeviceIndex int(10); //--------------------------------------------------------------- // Initialize result //--------------------------------------------------------------- - clear MediaDefinition; + clear MediaDefinition; //--------------------------------------------------------------- // TAPE0200 Header //--------------------------------------------------------------- - Header = + Header = %subst( ReceiverBuffer : 1 : @@ -86,32 +86,32 @@ dcl-proc MD_ParseRetrieveBuffer; // Header -> Media Definition //--------------------------------------------------------------- - MediaDefinition.MaximumParallelResources = + MediaDefinition.MaximumParallelResources = Header.MaximumParallelDeviceResources; - MediaDefinition.MinimumParallelResources = + MediaDefinition.MinimumParallelResources = Header.MinimumParallelDeviceResources; - MediaDefinition.NumberOfDevices = + MediaDefinition.NumberOfDevices = Header.NumberOfDeviceDefinitions; - MediaDefinition.DeviceAllocation = + MediaDefinition.DeviceAllocation = Header.DeviceAllocation; - MediaDefinition.SaveFormat = + MediaDefinition.SaveFormat = Header.SaveFormat; //--------------------------------------------------------------- // Device Definitions //--------------------------------------------------------------- - DeviceOffset = + DeviceOffset = Header.OffsetToFirstDeviceDefinition; - for DeviceIndex = 1 + for DeviceIndex = 1 to Header.NumberOfDeviceDefinitions; - Device = + Device = %subst( ReceiverBuffer : DeviceOffset + 1 : @@ -121,22 +121,22 @@ dcl-proc MD_ParseRetrieveBuffer; // Device -> Media Definition //------------------------------------------------------------ - MediaDefinition.Device(DeviceIndex).DeviceName = + MediaDefinition.Device(DeviceIndex).DeviceName = Device.DeviceName; - MediaDefinition.Device(DeviceIndex).NumberOfMediaFiles = + MediaDefinition.Device(DeviceIndex).NumberOfMediaFiles = Device.NumberOfMediaFileDefinitions; //--------------------------------------------------------------- // First Media File //--------------------------------------------------------------- - if Device.NumberOfMediaFileDefinitions > 0; + if Device.NumberOfMediaFileDefinitions > 0; - MediaOffset = + MediaOffset = Device.OffsetToFirstMediaFileDefinition; - MediaFile = + MediaFile = %subst( ReceiverBuffer : MediaOffset + 1 : @@ -146,33 +146,33 @@ dcl-proc MD_ParseRetrieveBuffer; // Media File -> Media Definition //------------------------------------------------------------ - MediaDefinition.Device(DeviceIndex) + MediaDefinition.Device(DeviceIndex) .MediaFile(1) .SequenceNumber = MediaFile.SequenceNumber; - MediaDefinition.Device(DeviceIndex) + MediaDefinition.Device(DeviceIndex) .MediaFile(1) .StartingPositionInFile = MediaFile.StartingPositionInFile; - MediaDefinition.Device(DeviceIndex) + MediaDefinition.Device(DeviceIndex) .MediaFile(1) .NumberOfVolumeIdentifiers = MediaFile.NumberOfVolumeIdentifiers; - endif; + endif; //------------------------------------------------------------ // Next device //------------------------------------------------------------ - if Device.OffsetToNextDeviceDefinition > 0; + if Device.OffsetToNextDeviceDefinition > 0; - DeviceOffset += + DeviceOffset += Device.OffsetToNextDeviceDefinition; - endif; - endfor; -end-proc; + endif; + endfor; + end-proc; //===================================================================== // @@ -182,51 +182,51 @@ end-proc; // //===================================================================== -dcl-proc MD_RetrieveMediaDefinition export; + dcl-proc MD_RetrieveMediaDefinition export; - dcl-pi *n; + dcl-pi *n; - MediaDefinition + MediaDefinition likeds(MD_MediaDefinition_T); - end-pi; + end-pi; - dcl-ds QualifiedObject + dcl-ds QualifiedObject likeds(MD_QualifiedObjectName_T); - dcl-ds Receiver + dcl-ds Receiver likeds(MD_ApiReceiverBuffer_T); - dcl-ds ApiError + dcl-ds ApiError likeds(MD_APIError_T); - dcl-s ReceiverLength int(10); + dcl-s ReceiverLength int(10); //--------------------------------------------------------------- // Qualified media definition name //--------------------------------------------------------------- - QualifiedObject.ObjectName = + QualifiedObject.ObjectName = MediaDefinition.MediaDefinitionName; - QualifiedObject.LibraryName = + QualifiedObject.LibraryName = MediaDefinition.LibraryName; //--------------------------------------------------------------- // Initialize receiver buffer and error structure //--------------------------------------------------------------- - clear Receiver; - clear ApiError; + clear Receiver; + clear ApiError; - ApiError.BytesProvided = + ApiError.BytesProvided = %size(ApiError); - ReceiverLength = %size(Receiver.Data); + ReceiverLength = %size(Receiver.Data); //--------------------------------------------------------------- // Retrieve TAPE0200 definition //--------------------------------------------------------------- - QSRRTVMD( + QSRRTVMD( QualifiedObject : Receiver.Data : ReceiverLength : @@ -237,10 +237,10 @@ dcl-proc MD_RetrieveMediaDefinition export; // Check API error //--------------------------------------------------------------- - if ApiError.BytesAvailable > 0; + if ApiError.BytesAvailable > 0; // zun�chst nur Fehler zur�ckgeben/anzeigen - endif; + endif; // MD_CheckApiError(ApiError); -end-proc; \ No newline at end of file + end-proc; \ No newline at end of file