User Tools

Site Tools


cdc:nos2.source:nam5871:netget

NETGET

Table Of Contents

  • [00014] PROC NETGET1)
  • [00081] PROC NP$ERR
  • [00082] PROC NP$GET
  • [00084] PROC NETXFRC
  • [00113] ENTRY PROC NETGETL2)

Source Code

NETGET.txt
  1. *DECK NETGET
  2. USETEXT AIPDEF
  3. USETEXT NP$GETS
  4. USETEXT NP$MODE
  5. USETEXT NP$NWL
  6. USETEXT NP$TAA
  7. USETEXT NP$STAT
  8. *IF DEF,XFR
  9. USETEXT NX$ACBF
  10. *ENDIF
  11. *IF,DEF,DEBUG
  12. USETEXT NP$DB
  13. *ENDIF
  14. PROC NETGET((ADR),HA,ATA,(TLMAX)) ;
  15. *IF DEF,IMS
  16. #
  17. *1DC NETGET
  18. *
  19. * 1. PROC NAME AUTHOR DATE
  20. * NETGET J.C. LEE 78/10/10
  21. * NETGETL
  22. *
  23. * 2. FUNCTIONAL DESCRIPTION
  24. * THIS ROUTINE BUILDS A NETGET OR A NETGETL REQUEST IN THE
  25. * NWL WORKLIST, FOR A BLOCK FROM A SPECIFIED CONNECTION OR
  26. * LIST. REQUESTS FOR SUPERVISORY MESSAGES MAY BE MADE ON
  27. * CONNECTION / LIST ZERO.
  28. *
  29. * 3. METHOD USED
  30. * IF THE APPLICATION IS USING THE UPLINE DATA QUEUE FEATURE,
  31. * THIS PROGRAM CANNOT BE CALLED.
  32. * A NETGET ENTRY IS BUILD IN THE WORKLIST FOR A NON-ZERO ACN.
  33. * A NETGETL ENTRY IS BUILT IN THE WORKLIST FOR ALL ALN(S). FOR
  34. * A GET/GETL ON A ZERO ACN/ALN, A MESSAGE IS DELIVERED FROM
  35. * THE SMB (SUPERVISORY MESSAGE BUFFER), VIA NP$GSM. IF THE SMB
  36. * IS EMPTY, THEN A GSM WORKLIST ENTRY IS SENT TO NIP. IN THIS
  37. * CASE IF DEFER$PRO IS TRUE, THEN DEFER$GSM IS SET TO TRUE TO
  38. * INDICATE THAT THE APPLICATION HAS ASKED FOR A SUPERVISORY
  39. * MESSAGE.
  40. *
  41. * 4. ENTRY CONDITIONS
  42. * ADR - APPLICATION CONNECTION NUMBER / APPLICATION LIST NUMBER.
  43. * HA - HEADER AREA.
  44. * NEXT - NEXT AVAILABLE SPACE POINTER FOR WORKLIST.
  45. * SPACE$LEFT - NUMBER OF CELLS AVAILABLE IN NWL.
  46. * ATA - APPLICATION TEXT AREA.
  47. * TLMAX - MAXIMUM LENGTH OF DATA BLOCK.
  48. *
  49. * 5. EXIT CONDITIONS
  50. * DEFER$GSM - TRUE FOR ADR = 0 IF SMB IS EMPTY.
  51. * NEXT - NEXT AVAILABLE SPACE POINTER, RESET TO INITIAL VALUE.
  52. * SPACE$LEFT - NUMBER OF CELLS AVAILABLE IN WORKLIST, RESET
  53. * TO INITIAL VALUE.
  54. *
  55. * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
  56. * AIPDEF NP$CRT NP$GETS NP$NWL
  57. * NP$TAA NP$STAT
  58. * NP$MODE
  59. *
  60. * 7. ROUTINES CALLED
  61. * NP$GET - PROCESS A GET REQUEST.
  62. *
  63. * 8. DAYFILE MESSAGES
  64. * * NETWORK APPLICATION ABORTED, RC = 53. *
  65. * * NETGET: REQUEST INVALID FOR DATA QUEUE. *
  66. *
  67. * * NETWORK APPLICATION ABORTED, RC = 54. *
  68. * * NETGETL: REQUEST INVALID FOR DATA QUEUE. *
  69. *
  70.  #
  71. *ENDIF
  72.  
  73. BEGIN
  74.  
  75. *CALL NP$CRT
  76. #
  77.   ROUTINES CALLED
  78. #
  79. XREF
  80. BEGIN
  81. PROC NP$ERR; # ISSUE ERR MSG AND ABORT APP #
  82. PROC NP$GET;
  83. *IF,DEF,XFR
  84. PROC NETXFRC;
  85. *ENDIF
  86. END
  87. #
  88.   LOCAL VARIABLES
  89. #
  90. ITEM
  91. ADR I, # APP CONNECTION / LIST NO #
  92. HA I, # HEADER ADDRESS #
  93. TLMAX I; # MAXIMUM TEXT LENGTH #
  94. DEF MAXTEXT #511#; # MAX MESSAGE SIZE ALLOWED #
  95. ARRAY ATA [0:MAXTEXT] S(1) ;
  96. ITEM WORD I (0);
  97. #**********************************************************************#
  98. #
  99.   NETGET EXECUTION BEGINS HERE
  100. #
  101. OPCODE = OP$GET;
  102. *IF,DEF,STAT
  103. IAM = TYPE"GET";
  104. *ENDIF
  105. IF GMBUSE
  106. THEN # UPLINE DATA QUEUE BEING USED #
  107. BEGIN
  108. NP$ERR("53"); # ABORT APP WITH ERROR MESSAGE #
  109. END
  110. LIST = FALSE; # SET FLAG FOR NOT LIST PROCESS#
  111. GOTO NETGET1;
  112.  
  113. ENTRY PROC NETGETL((ADR),HA,ATA,(TLMAX)) ;
  114. OPCODE = OP$GETL;
  115. *IF,DEF,STAT
  116. IAM = TYPE"GETL";
  117. *ENDIF
  118. IF GMBUSE
  119. THEN # UPLINE DATA QUEUE BEING USED #
  120. BEGIN
  121. NP$ERR("54"); # ABORT APP WITH ERROR MESSAGE #
  122. END
  123. LIST = TRUE; # SET FLAG FOR LIST PROCESSING #
  124. #
  125.   STORE INPUT PARAMETERS IN COMMON BLOCK
  126. #
  127. NETGET1:
  128. ACLN = ADR;
  129. LOC$HA = LOC(HA);
  130. LOC$TA = LOC(ATA) ;
  131. TLMX = TLMAX;
  132. *IF DEF,DEBUG
  133. #
  134.   SET UP PARAMETERS FOR DEBUG MESSAGE LOGGING
  135. #
  136. IF OPCODE EQ OP$GET
  137. THEN
  138. DB$CALL = LOC(NETGET);
  139. ELSE
  140. DB$CALL = LOC(NETGETL);
  141. *ENDIF
  142.  
  143. NWL[NEXT] = 0; # CLEAR NWL OPCODE WORD #
  144. NWL$TA[NEXT] = LOC$TA;
  145. BS = OPABHSIZ; # SET NWL ENTRY SIZE #
  146.  
  147. NP$GET; # VALIDATE CALL AND SET UP #
  148.  
  149. *IF,DEF,XFR
  150. IF NUMFILEXFR NQ 0 # FILE TRANSFER OUTSTANDING #
  151. THEN
  152. NETXFRC; # CONTINUE TRANSFERRING FILE #
  153.  
  154. *ENDIF
  155. RETURN;
  156. END # NETGET #
  157. TERM
1) , 2)
ADR),HA,ATA,(TLMAX
cdc/nos2.source/nam5871/netget.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator