User Tools

Site Tools


cdc:nos2.source:nam5871:hgetnwl

HGETNWL

Table Of Contents

  • [00005] PROC HGETNWL(NEXTNWL)
  • [00047] PROC MGETS
  • [00048] PROC ABORT
  • [00049] PROC XTRACE

Source Code

HGETNWL.txt
  1. *DECK HGETNWL
  2. USETEXT NIPDEF
  3. USETEXT NWLHEAD
  4. USETEXT SYSCOMD
  5. PROC HGETNWL(NEXTNWL); # UPDATE RA.SSC TO PROVIDE NEW NWL #
  6. STARTIMS;
  7. #
  8. *1DC HGETNWL
  9. *
  10. * 1. PROC NAME AUTHOR DATE
  11. * HGETNWL 82/12/13
  12. *
  13. * 2. FUNCTIONAL DESCRIPTION
  14. * UPDATE RA.SSC TO PROVIDE NEW NWL
  15. *
  16. * 3. METHOD USED
  17. * ALLOCATE A SECOND BUFFER TO SUPPORT DOUBLE
  18. * BUFFERING OF INCOMING WORKLISTS.
  19. *
  20. * 4. ENTRY PARAMETERS
  21. * NEXTNWL - FWA OF NEXT NWL BUFFER
  22. *
  23. * 5. EXIT PARAMETERS
  24. * NONE
  25. *
  26. * 6. COMDECKS CALLED AND SYMPL TEXTS USED
  27. * NIPDEF NWLHEAD SYSCOMD
  28. *
  29. * 7. ROUTINES CALLED
  30. * ABORT - ABORT NIP
  31. * MGETS - ALLOCATE BUFFER
  32. * XTRACE - TRACE PROCEDURE CALL
  33. *
  34. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
  35. * THIS PROCEDURE IS CALLED BY ITABS AND HHIR.
  36.  #
  37. STOPIMS;
  38. #
  39.   FORMAL PARAMETERS
  40. #
  41. ITEM NEXTNWL U; # FWA OF NEW NWL BUFFER #
  42. #
  43.   EXTERNAL PARAMETERS
  44. #
  45. XREF
  46. BEGIN
  47. PROC MGETS; # ALLOCATE BUFFER FOR NWL #
  48. PROC ABORT; # ABORT CONTROL POINT #
  49. PROC XTRACE; # TRACE PROC CALLS #
  50. END
  51. #
  52.   LOCAL PARAMETERS
  53. #
  54. ITEM BUFFWA U; # FWA OF ASSIGNED BUFFER #
  55. BASED ARRAY SCPBUF [0:0] P(1);
  56. BEGIN # SCP BUFFER HEADER #
  57. ITEM SCPB$ID U(00,00,06); # BUFFER IDENTIFIER #
  58. ITEM SCPB$BS U(00,06,18); # BUFFER SIZE #
  59. ITEM SCPB$NEXT U(00,42,18); # NEXT NWL BUFFER #
  60. ITEM SCPB$HDR U(00,00,60); # NWL HEADER WORD #
  61. END
  62.  
  63. CONTROL IFEQ DEBUG,1;
  64. ARRAY MSG$HGNWL [0:0] S(3);
  65. BEGIN
  66. ITEM MSGTXT C(00,00,28) =
  67. ["NIP/HGETNWL-BAD NWL BUFFER."];
  68. ITEM MSGEND U(02,48,12) = [0];
  69. END
  70. CONTROL FI;
  71.  
  72. #**********************************************************************#
  73.  
  74. BEGIN
  75.  
  76. CONTROL IFEQ DEBUG,1;
  77. XTRACE("HGNWL");
  78. CONTROL FI;
  79.  
  80. P<SCPBUF> = NEXTNWL; # FWA OF NEXT NWL BUFFER #
  81.  
  82. CONTROL IFEQ DEBUG,1;
  83. IF SCPB$ID[0] NQ NWLIDVALUE
  84. THEN # NEXT PTR IS NOT A NWL BUFFER #
  85. BEGIN # ABORT NIP #
  86. ABORT(MSG$HGNWL,0); # ABORT NIP #
  87. END
  88. CONTROL FI;
  89.  
  90. SSCAP[0] = P<SCPBUF> + BLKHSIZE; # NEXT NWL ADDRESS #
  91. SSCLK[0] = FALSE; # ALLOW INCOMING NWL #
  92.  
  93. MGETS(NWLSIZE,BUFFWA,FALSE); # BUFFER AHEAD FOR ANOTHER NWL #
  94. SCPB$NEXT[0] = BUFFWA; # SET BUFFER ADDRESS FOR NWL #
  95. P<SCPBUF> = BUFFWA ; # POINTING TO THE SECOND NWL #
  96. SCPB$ID[0] = NWLIDVALUE; # SET NWL IDENTIFIER #
  97.  
  98. RETURN;
  99. END
  100. TERM
cdc/nos2.source/nam5871/hgetnwl.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator