User Tools

Site Tools


cdc:nos2.source:nam5871:hpgtf

Table of Contents

HPGTF

Table Of Contents

  • [00014] PRGM HPGTF
  • [00072] PROC HRELPWL
  • [00073] PROC OSCCALL
  • [00074] PROC OSCHAPP
  • [00075] PROC MRELS
  • [00076] PROC XTRACE

Source Code

HPGTF.txt
  1. *DECK HPGTF
  2. USETEXT NIPDEF
  3. USETEXT ACB
  4. USETEXT APPSTAT
  5. USETEXT AT
  6. USETEXT AWLNTRY
  7. USETEXT DRHDR
  8. USETEXT FLIST
  9. USETEXT NP$TAA
  10. USETEXT NWLNTRY
  11. USETEXT OVERLAY
  12. USETEXT PARAMS
  13. USETEXT PT
  14. PRGM HPGTF; #ROUTINE TO GET DATA BLOCK FOR GETF, GTFL #
  15.  
  16. STARTIMS;
  17. #
  18. *1DC HPGTF
  19. *
  20. * 1. PROC NAME AUTHOR DATE
  21. * HPGTF P.C.TAM 77/05/12
  22. *
  23. * 2. FUNCTIONAL DESCRIPTION.
  24. * READ DATA BLOCK FRAGMENTS FROM UCP TO NIP FIELD LENGTH
  25. * FOR NETGETF, NETGTFL.
  26. *
  27. * 3. METHOD USED.
  28. * EDIT TOTAL LENGTH OF BUFFER FRAGMENTS.
  29. * SET FLHEAD VALUES FOR SF.LIST.
  30. * SET INDIVIDUAL ENTRIES OF SF.WRITE.
  31. * CALL SF.LIST.
  32. * EDIT RESPONSE.
  33. * SET COMPLETION FLAG.
  34. *
  35. * 4. ENTRY PARAMETERS.
  36. * PARAMS1 SOURCE OF DATA BLOCK
  37. * PARAMS2 LENGTH OF DATA BLOCK
  38. *
  39. * 5. EXIT PARAMETERS.
  40. * NONE.
  41. *
  42. * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
  43. * APPSTAT FLIST
  44. * NIPDEF NP$TAA NWLNTRY OSSIZE
  45. * AT PT
  46. * PARAMS AT
  47. *
  48. * 7. ROUTINES CALLED.
  49. * HRELPWL RELEASE USED PORTION OF NWL
  50. * OSCCALL SF CALL ROUTINE
  51. * OSCHAPP SCHEDULE APPLICATION ROUTINE
  52. * MRELS RETURN BUFFER
  53. * XTRACE RECORD PROCEDURE CALLS
  54. *
  55. * 8. DAYFILE MESSAGES.
  56. * ADDRESS OUT OF RANGE. IF THE RETURN CODE FROM THE OPERATING
  57. * SYSTEM CALL SF.LIST REQUEST IS RCUCPAOOR.
  58. *
  59. * THIS PROGRAM IS A SECONDARY OVERLAY LOADED BY OVLCALL
  60. * ROUTINE. A JUMP TO RJMAIN LABEL IS MADE TO RETURN TO
  61. * CALLING PROGRAM.
  62. *
  63. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
  64. *CALL OSSIZE
  65. *
  66. * THIS OVERLAY IS CALLED BY HPGET.
  67. *
  68. *
  69.  #
  70. STOPIMS;
  71. XREF BEGIN
  72. PROC HRELPWL; # RELEASE USED PORTION OF NWL #
  73. PROC OSCCALL;
  74. PROC OSCHAPP;
  75. PROC MRELS; # RETURN BUFFER #
  76. PROC XTRACE;
  77. LABEL RJMAIN;
  78. END
  79. ITEM I I,
  80. TLW1 I,
  81. TMP I,
  82. SOURCE U,
  83. TLW I;
  84.  
  85. BEGIN
  86. CONTROL IFEQ DEBUG,1;
  87. XTRACE("HPGTF") ;
  88. CONTROL FI;
  89. CONTROL OVERLAP;
  90. DONE = FALSE; # RESET COMPLETION FLAG #
  91. P<ACB> = ACBADDR; # ESTABLISH ADDRESSABILITY #
  92. P<NWLENTRY>=WLADDR; # ESTABLISH ADDR. #
  93. SOURCE = PARAMS1; # FWA OF THE DATA BLOCK #
  94. TLW = PARAMS2; # LENGTH OF THE DATA BLOCK #
  95. P<FLHEAD> = WLADDR; #ESTABLISH ADDR. #
  96. FLID = FLIDVALUE; #SET BLOCK ID #
  97. FLAN = ACBAN[0]; #SET PROCESS NO. IN FLHEAD #
  98. FLFW = 0; #SET 2ND WORD OF #
  99. FLJOBID = ACBJNWD[0]; #FLHEAD #
  100. TLW1 = TLW;
  101. P<TAA> = LOC(TMP); #ESTABLISH ADDR. #
  102. P<FLE> = WLADDR + #ESTABLISH ADDR. #
  103. FLSIZE;
  104. FOR I = 0 STEP 1 WHILE TLW1 GR 0
  105. DO
  106. BEGIN
  107. TMP = FLEWD0[I]; #GET TAA ENTRIES #
  108. FLEWD0[I] = 0; #CLEAR FLE #
  109. FLEFP[I] = TAASIZE[1]; #SIZE OF BUFFER IN UCP #
  110. FLEUCPA[I] = TAADDR[1]; #ADDRESS OF BUFFER IN UCP #
  111. FLESCPA[I] = SOURCE + #ADDRESS OF #
  112. AIPHSIZE + # DATA #
  113. ABHSIZE + # BLOCK #
  114. TLW - # IN #
  115. TLW1; # NIP FIELD LN. #
  116. FLEFC[I] = SFWRITE;
  117. TLW1 = TLW1 - #REMAINDER OF #
  118. TAASIZE[1]; # DATA BLOCK #
  119. END
  120. FLEFP[I-1] = FLEFP[I-1] + TLW1;#SET LAST FLE #
  121. FLFP = I; #NO. OF ENTRIES IN SF.LIST#
  122. FLFC = SFLIST;
  123. FLSCPA = WLADDR + FLSIZE;
  124. P<FLE> = WLADDR + FLHSIZE;
  125. OSCCALL(FLE);
  126. IF FLRC NQ 0 #CHECK FOR SCP CALL COMP. #
  127. THEN
  128. BEGIN
  129. IF FLRC EQ RCSWAPPEDOUT
  130. THEN
  131. BEGIN
  132. ACBWRADDR[0] = SOURCE; #USER JOB SWAPPED OUT #
  133. ATASBS[ACBAN[0]] = TRUE; #SET APP SWAPP OUT IN ACB #
  134. ACBFLIST[0] = WLADDR; #PUT SCP BUFFER ADDR. #
  135. OSCHAPP(ACBADDR); #SCHEDULE APP. #
  136. HRELPWL; # RELEASE USED PORTION OF NWL #
  137. ACBWLADR[0] = NEXTWLA;
  138. ACBNWLE[0] = ACBNWLE[0] - 1; #UPD. NO. OF ENTRIES LEFT #
  139. END
  140. ELSE
  141. IF FLRC EQ RCUCPAOOR #USER UCP OUT OF RANGE #
  142. THEN ABTAPPF = XFLERR;
  143. ELSE FAILADR = ACBADDR;
  144. END
  145. ELSE # SET COMPLETION BIT #
  146. BEGIN
  147. DONE = TRUE; # FINISHED PROCESSING WORKLIST #
  148. MRELS(SOURCE);
  149. END
  150. GOTO RJMAIN;
  151. END #HPGTF#
  152. TERM
cdc/nos2.source/nam5871/hpgtf.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator