> Tech > Figure 1

Figure 1

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Programme de service DspFInfo

* ===================================================================
* = Service program... DspFInfo =
* = Description....... Retrieve display file information routines =
* ===================================================================
H NoMain
* ===================================================================
* = Prototypes =
* ===================================================================
* -------------------------------------------------------------------
* - ### A ### RtvSflSize - Retrieve subfile size -
* -------------------------------------------------------------------
D RtvSflSize

PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ ValueD 272
D 4 Value
D Options( *NoPass )
* ——————————————————————-
* – ### B ### RtvSflPage – Retrieve subfile page –
* ——————————————————————-
D RtvSflPage PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ Value
D 272
D 4 Value
D Options( *NoPass )
* ——————————————————————-
* – ### C ### RtvSflAttr – Retrieve subfile attribute –
* ——————————————————————-
D RtvSflAttr PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ Value
D 1 Value
D 5 Value
D 272
* ——————————————————————-
* – RtvDspFDesc – Retrieve display file description (QDFRTVFD API) –
* ——————————————————————-
D RtvDspFDesc PR ExtPgm( ‘QDFRTVFD’ )
D 8
D 1à˜I à˜ Const
D 8 Const
D 2à˜ Const
D 272
* ===================================================================
* = Procedure RtvSflSize =
* ===================================================================
P RtvSflSize B Export
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflSize PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D APIError 272
D DspMode 4 Value
D Options( *NoPass )
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SubfileSize S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – Work fields –
* ——————————————————————-
D DspModeDS3 C X’à˜3′
D DspModeDS4 C X’à˜4′
D ModeToRtv S 1
D NoAPIError C Const( *Zero )
D APIErrorDS DS
D 1à˜I à˜ Inz( %Size( APIErrorDS ) )
D BytesAvail 1à˜I à˜ Inz( *Zero )
D 7 Inz( *Blanks )
D 1 Inz( X’à˜à˜’ )
D 256 Inz( *Blanks )
* ——————————————————————-
* – Set selected display mode –
* ——————————————————————-
C If %Parms > 3 And
C DspMode = ‘*DS4′
C Eval ModeToRtv = DspModeDS4
C Else
C Eval ModeToRtv = DspModeDS3
C EndIf
* ——————————————————————-
* – Retrieve display file size –
* ——————————————————————-
C Reset APIErrorDS
C Eval SubFileSize = RtvSflAttr(
C DspFName :
C DspFLib :
C RcdFmt :
C ModeToRtv :
C ‘*SIZE’ :
C APIErrorDS
C )
C If BytesAvail <> NoAPIError
C Eval SubfileSize = *Zero
C EndIf
C Eval APIError = APIErrorDS
C Return SubfileSize
P RtvSflSize E
* ===================================================================
* = Procedure RtvSflPage =
* ===================================================================
P RtvSflPage B Export
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflPage PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D APIError 272
D DspMode 4 Value
D Options( *NoPass )
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SubfilePage S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – Work fields –
* ——————————————————————-
D DspModeDS3 C X’à˜3′
D DspModeDS4 C X’à˜4′
D ModeToRtv S 1
D NoAPIError C Const( *Zero )
D APIErrorDS DS
D 1à˜I à˜ Inz( %Size( APIErrorDS ) )
D BytesAvail 1à˜I à˜ Inz( *Zero )
D 7 Inz( *Blanks )
D 1 Inz( X’à˜à˜’ )
D 256 Inz( *Blanks )
* ——————————————————————-
* – Set selected display mode –
* ——————————————————————-
C If %Parms > 3 And
C DspMode = ‘*DS4’
C Eval ModeToRtv = DspModeDS4
C Else
C Eval ModeToRtv = DspModeDS3
C EndIf
* ——————————————————————-
* – Retrieve display file page –
* ——————————————————————-
C Reset APIErrorDS
C Eval SubFilePage = RtvSflAttr(
C DspFName :
C DspFLib :
C RcdFmt :
C ModeToRtv :
C ‘*PAGE’ :
C APIErrorDS
C )
C If BytesAvail <> NoAPIError
C Eval SubfilePage = *Zero
C EndIf
C Eval APIError = APIErrorDS
C Return SubfilePage
P RtvSflPage E
* ===================================================================
* = Procedure RtvSflAttr =
* ===================================================================
P RtvSflAttr B
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflAttr PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D ModeToRtv 1 Value
D AttrToRtv 5 Value
D APIError 272
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SflAttrValue S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – ### D ### Base File Section –
* ——————————————————————-
D QDFFBASE DS Based( QDFFBASEPtr )
D OffsetToQDFFINFO…
D 5I à˜ Overlay( QDFFBASE : 9 )
D NbrRcdFmts 5I à˜ Overlay( QDFFBASE : 11 )
D NbrScnSizes 5I à˜ Overlay( QDFFBASE : 14 )
D ScnSizeTbl 5 Overlay( QDFFBASE : 2à˜ )
D Dim( 2 )
D ScnID 1 Overlay( ScnSizeTbl : 1 )
* ——————————————————————-
* – ### E ### File Header Section –
* ——————————————————————-
D QDFFINFO DS Based( QDFFINFOPtr )
D QDFFINFOLen 1à˜I à˜ Overlay( QDFFINFO : 1 )
* ——————————————————————-
* – ### F ### Record Format Table –
* ——————————————————————-
D QDFARFTE DS Based ( QDFARFTEPtr )
D RcdFmtEntry 1à˜ Overlay( QDFARFTE : 1 )
D OffsetToQDFFRINF…
D 1à˜I à˜ Overlay( QDFARFTE : 13 )
* ——————————————————————-
* – ### G ### Record Header Section –
* ——————————————————————-
D QDFFRINF DS Based( QDFFRINFPtr )
D Flags 1 Overlay( QDFFRINF : 13 )
D OffsetToQDFFSFCR…
D 5I à˜ Overlay( QDFFRINF : 29 )
* ——————————————————————-
* – ### H ### Subfile Control Record –
* ——————————————————————-
D QDFFSFCR DS Based ( QDFFSFCRPtr )
D QDFFSFHR 24 Overlay( QDFFSFCR : 55 )
D Dim( 2 )
D SflSize 5I à˜ Overlay( QDFFSFHR : 1 )
D SflPage 5I à˜ Overlay( QDFFSFHR : 3 )

Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010