home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / vmsnet / sources / 360 < prev    next >
Encoding:
Internet Message Format  |  1992-09-11  |  14.5 KB

  1. Path: sparky!uunet!wupost!sdd.hp.com!network.ucsd.edu!mvb.saic.com!vmsnet-sources
  2. Newsgroups: vmsnet.sources
  3. From: "GWDGV1::MOELLER" <moeller@gwdgv1.dnet.gwdg.de>
  4. Subject: REMPRTSMB 1.1 (VMS V5.5 fix), part 01/01
  5. Message-ID: <8144908@MVB.SAIC.COM>
  6. Date: Fri, 11 Sep 1992 19:16:38 GMT
  7. Lines: 447
  8. Approved: Mark.Berryman@Mvb.Saic.Com
  9.  
  10. Submitted-by: "GWDGV1::MOELLER" <moeller@gwdgv1.dnet.gwdg.de>
  11. Posting-number: Volume 3, Issue 165
  12. Archive-name: remprtsmb/patch1_01
  13. Patch-to: remprtsmb: Volume 1, Issue 32
  14.  
  15. In June of 1991, I posted version 1.0 of REMPRTSMB
  16. (a symbiont that directs its output to a RMS `file' - possibly via DECnet)
  17. to INFO-VAX and vmsnet.sources.
  18.  
  19. Included in this message is a patch to REMPRTSMB.C to make it V1.1
  20. which is slightly updated to work under VMS V5.5 and V5.5-1 also.
  21.  
  22. To apply the patch you must unpack this message and, using the unix-like
  23. patch utility available from the vmsnet.sources archives, issue a command
  24. similar to: upatch <remprtsmb.diff
  25.  
  26. NB. I have no idea if REMPRTSMB, or any user-written symbiont at all,
  27. will work under VMS A5.5, and won't be able to support that
  28. "transient" version of VMS.
  29.  
  30. Enjoy,
  31.  
  32. Wolfgang J. Moeller, GWDG, D-3400 Goettingen, F.R.Germany | Disclaimer ...
  33. PSI%(0262)45050352008::MOELLER      Phone: +49 551 201516 | No claim intended!
  34. Internet: moeller@gwdgv1.dnet.gwdg.de   | This space intentionally left blank.
  35.  
  36. $! ------------------ CUT HERE -----------------------
  37. $ v='f$verify(f$trnlnm("SHARE_UNPACK_VERIFY"))'
  38. $!
  39. $! This archive created by VMS_SHARE Version 8.0
  40. $!   On 11-SEP-1992 12:07:22.99   By user BERRYMAN    
  41. $!
  42. $! The VMS_SHARE software that created this archive
  43. $!    was written by  Andy Harper, Kings College London UK
  44. $!    -- September 1992
  45. $!
  46. $! Credit is due to these people for their original ideas:
  47. $!    James Gray, Michael Bednarek 
  48. $!
  49. $! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER
  50. $! AND EXECUTE AS A COMMAND PROCEDURE  (  @name  )
  51. $!
  52. $! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING:
  53. $!       1. REMPRTSMB.DIFF;1
  54. $!
  55. $set="set"
  56. $set symbol/scope=(nolocal,noglobal)
  57. $f=f$parse("SHARE_TEMP","SYS$SCRATCH:.TMP_"+f$getjpi("","PID"))
  58. $e="write sys$error  ""%UNPACK"", "
  59. $w="write sys$output ""%UNPACK"", "
  60. $ if .not. f$trnlnm("SHARE_UNPACK_LOG") then $ w = "!"
  61. $ ve=f$getsyi("version")
  62. $ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto start
  63. $ e "-E-OLDVER, Must run at least VMS 4.4"
  64. $ v=f$verify(v)
  65. $ exit 44
  66. $unpack: subroutine ! P1=filename, P2=checksum, P3=attributes
  67. $ if f$search(P1) .eqs. "" then $ goto file_absent
  68. $ e "-W-EXISTS, File ''P1' exists. Skipped."
  69. $ delete 'f'*
  70. $ exit
  71. $file_absent:
  72. $ if f$parse(P1) .nes. "" then $ goto dirok
  73. $ dn=f$parse(P1,,,"DIRECTORY")
  74. $ w "-I-CREDIR, Creating directory ''dn'"
  75. $ create/dir 'dn'
  76. $ if $status then $ goto dirok
  77. $ e "-E-CREDIRFAIL, Unable to create ''dn' File skipped."
  78. $ delete 'f'*
  79. $ exit
  80. $dirok:
  81. $ w "-I-UNPACK, Unpacking file ''P1'"
  82. $ n=P1
  83. $ if P3 .nes. "" then $ n=f
  84. $ if .not. f$verify() then $ define/user sys$output nl:
  85. $ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='n'
  86. PROCEDURE GetHex LOCAL x1,x2;x1:=INDEX(t,ERASE_CHARACTER(1))-1;x2:=INDEX(t,
  87. ERASE_CHARACTER(1))-1;RETURN 16*x1+x2;ENDPROCEDURE;
  88. PROCEDURE SkipPartsep LOOP ERASE_LINE;EXITIF INDEX(CURRENT_LINE,
  89. "-+-+-+-+-+-+-+-+")=1;ENDLOOP;ERASE_LINE;ENDPROCEDURE PROCEDURE ProcessLine s:=
  90. ERASE_CHARACTER(1);LOOP EXITIF CURRENT_OFFSET>=LENGTH(CURRENT_LINE);
  91. CASE CURRENT_CHARACTER FROM ' ' TO 'z' ["`"]:ERASE_CHARACTER(1);COPY_TEXT(
  92. ASCII(GetHex));[" "]: ERASE_CHARACTER(1);[OUTRANGE,INRANGE]: MOVE_HORIZONTAL(1)
  93. ;ENDCASE;ENDLOOP;IF s="V" THEN APPEND_LINE;ENDIF;ENDPROCEDURE;
  94. PROCEDURE AdvanceLine MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);
  95. ENDPROCEDURE;PROCEDURE Decode POSITION(BEGINNING_OF(b));LOOP EXITIF MARK(NONE)=
  96. END_OF(b);IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+-")=1 THEN SkipPartSep;
  97. ELSE ProcessLine;AdvanceLine;ENDIF;ENDLOOP;ENDPROCEDURE;SET(FACILITY_NAME,
  98. "UNPACK");SET(SUCCESS,OFF);SET(INFORMATIONAL,OFF);t:="0123456789ABCDEF";f:=
  99. GET_INFO(COMMAND_LINE,"file_name");b:=CREATE_BUFFER(f,f);Decode;WRITE_FILE(b,
  100. GET_INFO(COMMAND_LINE,"output_file"));QUIT;
  101. $ if p3 .eqs. "" then $ goto ck
  102. $ open/write fdl &f
  103. $ write fdl "RECORD"
  104. $ write fdl P3
  105. $ close fdl
  106. $ w "-I-CONVRFM, Converting record format to ", P3
  107. $ convert/fdl=&f &f-1 &P1
  108. $ck: checksum 'P1'
  109. $ if checksum$checksum .eqs. P2 then $ exit
  110. $ e "-E-CHKSMFAIL, Checksum of ''P1' failed."
  111. $ delete/nolog 'f'*
  112. $ endsubroutine
  113. $start:
  114. $!
  115. $ create 'f'
  116. X***`20remprtsmb.c;1
  117. X---`20remprtsmb.c
  118. X**************
  119. X***`202,8
  120. X`20`20
  121. X`20`20#define`20ASY_FAB`09`09/*`20<<<`20allegedly`20requires`20VMS`20V5`20<<<
  122. V`20*/
  123. X`20`20#ifdef`20ASY_FAB
  124. X!`20#define`20Version`20"V0.99"
  125. X`20`20#else
  126. X`20`20#define`20Version`20"V0.98"
  127. X`20`20#endif
  128. X---`202,8`20-----
  129. X`20`20
  130. X`20`20#define`20ASY_FAB`09`09/*`20<<<`20allegedly`20requires`20VMS`20V5`20<<<
  131. V`20*/
  132. X`20`20#ifdef`20ASY_FAB
  133. X!`20#define`20Version`20"V1.1a"
  134. X`20`20#else
  135. X`20`20#define`20Version`20"V1.1s"
  136. X`20`20#endif
  137. X**************
  138. X***`204,10
  139. X`20`20#ifdef`20ASY_FAB
  140. X`20`20#define`20Version`20"V0.99"
  141. X`20`20#else
  142. X!`20#define`20Version`20"V0.98"
  143. X`20`20#endif
  144. X`20`20
  145. X`20`20/*****
  146. X---`204,10`20-----
  147. X`20`20#ifdef`20ASY_FAB
  148. X`20`20#define`20Version`20"V1.1a"
  149. X`20`20#else
  150. X!`20#define`20Version`20"V1.1s"
  151. X`20`20#endif
  152. X`20`20
  153. X`20`20/*****
  154. X**************
  155. X***`2019,25
  156. X`20`20`09`09`09for`20simplicity,`20use`20same`20SPL/DLT`20setting`20on`20
  157. X`20`20`09`09`09open`20AND`20close`20(not`20tested`20on`20RSX`20anyway);
  158. X`20`20V0.99`20.................`20(VMS`20V5)`20#ifdef`20ASY_FAB,`20finally`20i
  159. Vmplement`20FAB$M_ASY
  160. X!`20
  161. X`20`20********
  162. X`20`20
  163. X`20`20intended`20use:
  164. X---`2019,31`20-----
  165. X`20`20`09`09`09for`20simplicity,`20use`20same`20SPL/DLT`20setting`20on`20
  166. X`20`20`09`09`09open`20AND`20close`20(not`20tested`20on`20RSX`20anyway);
  167. X`20`20V0.99`20.................`20(VMS`20V5)`20#ifdef`20ASY_FAB,`20finally`20i
  168. Vmplement`20FAB$M_ASY
  169. X!`20V1.0`20`2016-jul-1991`20wjm:`20fix`20"#ifndef`20ASY_FAB"`20compilation`20b
  170. Vy`20removing
  171. X!`20`09`09`09a`20superfluous`20statement;
  172. X!`20`09`09`09if`20"logname"`20ends`20in`20a`20quotation`20mark,`20consider
  173. X!`20`09`09`09it`20a`20complete`20network`20task`20(or`20foreign`20file)`20spec
  174. V:
  175. X!`20`09`09`09don't`20look`20for`20options,`20don't`20append`20"filename.type".
  176. V
  177. X!`20V1.1`20`2011-jun-1992`20wjm:`20workarea`20created`20by`20VMS`20V5.5`20SMBS
  178. VRVSHR`20is`20no`20longer
  179. X!`20`09`09`09quadword-aligned,`20round`20up`20pointer`20prior`20to`20use.
  180. X`20`20********
  181. X`20`20
  182. X`20`20intended`20use:
  183. X**************
  184. X***`2027,33
  185. X`20`20`09`09/separate=(flag,trailer)`09-
  186. X`20`20`09`09/on=logname
  187. X`20`20
  188. X!`20where`20'logname'`20translates`20to`20something`20like`20"node::dev:`5Bdir
  189. V`5D/opt"
  190. X`20`20(one`20of`20"node::"`20or`20"dev:"`20must`20be`20present,`20"`5Bdir`5D"
  191. V`20and`20"/opt"`20are`20optional).
  192. X`20`20without`20"/opt",`20the`20output`20files`20will`20be`20named`20"node::de
  193. Vv:`5Bdir`5DVAX.PRT".
  194. X`20`20
  195. X---`2033,43`20-----
  196. X`20`20`09`09/separate=(flag,trailer)`09-
  197. X`20`20`09`09/on=logname
  198. X`20`20
  199. X!`20where`20'logname'`20translates`20to`20either
  200. X!`20(a)`20something`20ending`20in`20a`20quotation`20mark`20-`20it`20will`20be
  201. V`20considered`20a`20complete
  202. X!`20`09file`20spec`20(e.g.`20network`20foreign`20file`20spec,`20or`20network
  203. V`20task`20spec).
  204. X!`20or
  205. X!`20(b)`20something`20like`20"node::dev:`5Bdir`5D/opt"
  206. X`20`20(one`20of`20"node::"`20or`20"dev:"`20must`20be`20present,`20"`5Bdir`5D"
  207. V`20and`20"/opt"`20are`20optional).
  208. X`20`20without`20"/opt",`20the`20output`20files`20will`20be`20named`20"node::de
  209. Vv:`5Bdir`5DVAX.PRT".
  210. X`20`20possible`20options`20('/opt')`20are:
  211. X**************
  212. X***`2030,36
  213. X`20`20where`20'logname'`20translates`20to`20something`20like`20"node::dev:`5Bd
  214. Vir`5D/opt"
  215. X`20`20(one`20of`20"node::"`20or`20"dev:"`20must`20be`20present,`20"`5Bdir`5D"
  216. V`20and`20"/opt"`20are`20optional).
  217. X`20`20without`20"/opt",`20the`20output`20files`20will`20be`20named`20"node::de
  218. Vv:`5Bdir`5DVAX.PRT".
  219. X-`20
  220. X`20`20possible`20options`20('/opt')`20are:
  221. X`20`20`09/USERNAME`20`20...`09use`20VMS`20username`20instead`20of`20"VAX"`20fo
  222. Vr`20default`20filespec.
  223. X`20`20`09/JOBNAME`20`20`20...`09if`20JOB_NAME`20has`20legal`20"fff.vvv"`20form
  224. Vat,`20use`20it`20for
  225. X---`2040,45`20-----
  226. X`20`20(b)`20something`20like`20"node::dev:`5Bdir`5D/opt"
  227. X`20`20(one`20of`20"node::"`20or`20"dev:"`20must`20be`20present,`20"`5Bdir`5D"
  228. V`20and`20"/opt"`20are`20optional).
  229. X`20`20without`20"/opt",`20the`20output`20files`20will`20be`20named`20"node::de
  230. Vv:`5Bdir`5DVAX.PRT".
  231. X`20`20possible`20options`20('/opt')`20are:
  232. X`20`20`09/USERNAME`20`20...`09use`20VMS`20username`20instead`20of`20"VAX"`20fo
  233. Vr`20default`20filespec.
  234. X`20`20`09/JOBNAME`20`20`20...`09if`20JOB_NAME`20has`20legal`20"fff.vvv"`20form
  235. Vat,`20use`20it`20for
  236. X**************
  237. X***`20149,155
  238. X`20`20`09unsigned`20wk_spool:1;`09/*`20flag:`20open`20with`20SPL`20`26`20DLT
  239. V`09*/
  240. X`20`20`7D`20WORKAREA;
  241. X`20`20
  242. X!`20/*****/
  243. X`20`20
  244. X`20`20static`20void`20rms_ast(struct`20RAB`20*);`09`09/*`20forward`20*/
  245. X`20`20
  246. X---`20158,164`20-----
  247. X`20`20`09unsigned`20wk_spool:1;`09/*`20flag:`20open`20with`20SPL`20`26`20DLT
  248. V`09*/
  249. X`20`20`7D`20WORKAREA;
  250. X`20`20
  251. X!`20#define`20Q_ALIGN(p)`20(((unsigned)`20p`20+`207)`20`26`20`7E7)`09/*`20roun
  252. Vd`20up`20to`20multiple`20of`208`20*/
  253. X`20`20
  254. X`20`20/*****/
  255. X`20`20
  256. X**************
  257. X***`20151,156
  258. X`20`20
  259. X`20`20/*****/
  260. X`20`20
  261. X`20`20static`20void`20rms_ast(struct`20RAB`20*);`09`09/*`20forward`20*/
  262. X`20`20
  263. X`20`20static`20unsigned`20oq_vm_zone`20=`200;
  264. X---`20160,167`20-----
  265. X`20`20
  266. X`20`20#define`20Q_ALIGN(p)`20(((unsigned)`20p`20+`207)`20`26`20`7E7)`09/*`20ro
  267. Vund`20up`20to`20multiple`20of`208`20*/
  268. X`20`20
  269. X+`20/*****/
  270. X+`20
  271. X`20`20static`20void`20rms_ast(struct`20RAB`20*);`09`09/*`20forward`20*/
  272. X`20`20
  273. X`20`20static`20unsigned`20oq_vm_zone`20=`200;
  274. X**************
  275. X***`20248,254
  276. X`20`20`09`7D
  277. X`20`20
  278. X`20`20`09/*`20start`20-`208`20threads`20maximum`20*/
  279. X!`20`09status`20=`20psm$print(`268,`20`26BLOCK_SIZE,`20`26sizeof(WORKAREA));
  280. X`20`20`09return`20status`20`7C`200x10000000;
  281. X`20`20`7D
  282. X`20`20
  283. X---`20259,265`20-----
  284. X`20`20`09`7D
  285. X`20`20
  286. X`20`20`09/*`20start`20-`208`20threads`20maximum`20*/
  287. X!`20`09status`20=`20psm$print(`268,`20`26BLOCK_SIZE,`20`26(7`20+`20sizeof(WORK
  288. VAREA)));
  289. X`20`20`09return`20status`20`7C`200x10000000;
  290. X`20`20`7D
  291. X`20`20
  292. X**************
  293. X***`20256,262
  294. X`20`20
  295. X`20`20static`20unsigned`20remprt_output(
  296. X`20`20`09char`20**ctxp,`20
  297. X!`20`09WORKAREA`20*wap,
  298. X`20`20`09int`20*funcp,
  299. X`20`20`09DESCR`20*dscp,
  300. X`20`20`09unsigned`20*argp)
  301. X---`20267,273`20-----
  302. X`20`20
  303. X`20`20static`20unsigned`20remprt_output(
  304. X`20`20`09char`20**ctxp,`20
  305. X!`20`09void`20*pwap,
  306. X`20`20`09int`20*funcp,
  307. X`20`20`09DESCR`20*dscp,
  308. X`20`20`09unsigned`20*argp)
  309. X**************
  310. X***`20261,266
  311. X`20`20`09DESCR`20*dscp,
  312. X`20`20`09unsigned`20*argp)
  313. X`20`20`7B
  314. X`20`20`09unsigned`20status;
  315. X`20`20`09unsigned`20short`20buflen;
  316. X`20`20`09char`20*bufp;
  317. X---`20272,278`20-----
  318. X`20`20`09DESCR`20*dscp,
  319. X`20`20`09unsigned`20*argp)
  320. X`20`20`7B
  321. X+`20`09WORKAREA`20*wap`20=`20(WORKAREA`20*)`20Q_ALIGN(pwap);
  322. X`20`20`09unsigned`20status;
  323. X`20`20`09unsigned`20short`20buflen;
  324. X`20`20`09char`20*bufp;
  325. X**************
  326. X***`20309,315
  327. X`20`20
  328. X`20`20static`20unsigned`20remprt_input_nop(
  329. X`20`20`09char`20**ctxp,
  330. X!`20`09WORKAREA`20*wap,
  331. X`20`20`09int`20*funcp,
  332. X`20`20`09DESCR`20*dscp,
  333. X`20`20`09unsigned`20*argp)
  334. X---`20321,327`20-----
  335. X`20`20
  336. X`20`20static`20unsigned`20remprt_input_nop(
  337. X`20`20`09char`20**ctxp,
  338. X!`20`09void`20*pwap,
  339. X`20`20`09int`20*funcp,
  340. X`20`20`09DESCR`20*dscp,
  341. X`20`20`09unsigned`20*argp)
  342. X**************
  343. X***`20336,342
  344. X`20`20
  345. X`20`20static`20unsigned`20remprt_job_flag(
  346. X`20`20`09char`20**ctxp,
  347. X!`20`09WORKAREA`20*wap,
  348. X`20`20`09int`20*funcp,
  349. X`20`20`09DESCR`20*dscp,
  350. X`20`20`09unsigned`20*argp)
  351. X---`20348,354`20-----
  352. X`20`20
  353. X`20`20static`20unsigned`20remprt_job_flag(
  354. X`20`20`09char`20**ctxp,
  355. X!`20`09void`20*pwap,
  356. X`20`20`09int`20*funcp,
  357. X`20`20`09DESCR`20*dscp,
  358. X`20`20`09unsigned`20*argp)
  359. X**************
  360. X***`20341,346
  361. X`20`20`09DESCR`20*dscp,
  362. X`20`20`09unsigned`20*argp)
  363. X`20`20`7B
  364. X`20`20`09static`20unsigned`20init_job(char`20**,`20WORKAREA`20*);`09/*`20forwa
  365. Vrd`20*/
  366. X`20`20`09static`20void`20abort_job(WORKAREA`20*);`09`09/*`20forward`20*/
  367. X`20`20
  368. X---`20353,359`20-----
  369. X`20`20`09DESCR`20*dscp,
  370. X`20`20`09unsigned`20*argp)
  371. X`20`20`7B
  372. X+`20`09WORKAREA`20*wap`20=`20(WORKAREA`20*)`20Q_ALIGN(pwap);
  373. X`20`20`09static`20unsigned`20init_job(char`20**,`20WORKAREA`20*);`09/*`20forwa
  374. Vrd`20*/
  375. X`20`20`09static`20void`20abort_job(WORKAREA`20*);`09`09/*`20forward`20*/
  376. X`20`20
  377. X**************
  378. X***`20374,380
  379. X`20`20
  380. X`20`20static`20unsigned`20remprt_job_trailer(
  381. X`20`20`09char`20**ctxp,
  382. X!`20`09WORKAREA`20*wap,
  383. X`20`20`09int`20*funcp,
  384. X`20`20`09DESCR`20*dscp,
  385. X`20`20`09unsigned`20*argp)
  386. X---`20387,393`20-----
  387. X`20`20
  388. X`20`20static`20unsigned`20remprt_job_trailer(
  389. X`20`20`09char`20**ctxp,
  390. X!`20`09void`20*pwap,
  391. X`20`20`09int`20*funcp,
  392. X`20`20`09DESCR`20*dscp,
  393. X`20`20`09unsigned`20*argp)
  394. X**************
  395. X***`20379,384
  396. X`20`20`09DESCR`20*dscp,
  397. X`20`20`09unsigned`20*argp)
  398. X`20`20`7B
  399. X`20`20`09static`20unsigned`20close_job(char`20**,`20WORKAREA`20*);`09/*`20forw
  400. Vard`20*/
  401. X`20`20`09static`20void`20abort_job(WORKAREA`20*);`09`09/*`20forward`20*/
  402. X`20`20
  403. X---`20392,398`20-----
  404. X`20`20`09DESCR`20*dscp,
  405. X`20`20`09unsigned`20*argp)
  406. X`20`20`7B
  407. X+`20`09WORKAREA`20*wap`20=`20(WORKAREA`20*)`20Q_ALIGN(pwap);
  408. X`20`20`09static`20unsigned`20close_job(char`20**,`20WORKAREA`20*);`09/*`20forw
  409. Vard`20*/
  410. X`20`20`09static`20void`20abort_job(WORKAREA`20*);`09`09/*`20forward`20*/
  411. X`20`20
  412. X**************
  413. X***`20472,477
  414. X`20`20
  415. X`20`20`09l`20=`20lnml;
  416. X`20`20`09line`5Bl`5D`20=`20'\0';
  417. X`20`20`09for(lp=line;`20*lp`20!=`20'\0';`20lp++)
  418. X`20`20`09`09*lp`20=`20toupper(*lp);`09/*`20upcase`20device`20`26`20options`20*
  419. V/
  420. X`20`20
  421. X---`20486,497`20-----
  422. X`20`20
  423. X`20`20`09l`20=`20lnml;
  424. X`20`20`09line`5Bl`5D`20=`20'\0';
  425. X+`20
  426. X+`20`09if(l`20>`200`20`26`26`20line`5Bl-1`5D`20==`20'"')`20`7B`09`09/*`20quote
  427. Vd`20output`20spec`20...`20*/
  428. X+`20`09`09strcpy(wap->wk_file,line);`09/*`20copy`20unchanged`20*/
  429. X+`20`09`09goto`20file_name_ok;
  430. X+`20`09`7D
  431. X+`20
  432. X`20`20`09for(lp=line;`20*lp`20!=`20'\0';`20lp++)
  433. X`20`20`09`09*lp`20=`20toupper(*lp);`09/*`20upcase`20device`20`26`20options`20*
  434. V/
  435. X`20`20
  436. X**************
  437. X***`20775,783
  438. X`20`20`09`09`7D
  439. X`20`20#ifndef`20ASY_FAB
  440. X`20`20`09`09status=sys$create(`26wap->wk_fab);`09/*`20synchronous`09*/
  441. X-`20`09`09if(wap->wk_spool)`20`7B
  442. X-`20`09`09`09wap->wk_fab.fab$l_fop`20=`20fop;
  443. X-`20`09`09`7D
  444. X`20`20#else
  445. X`20`20`09`09/*`20asynch.`20$create`20*/
  446. X`20`20
  447. X---`20795,800`20-----
  448. X`20`20`09`09`7D
  449. X`20`20#ifndef`20ASY_FAB
  450. X`20`20`09`09status=sys$create(`26wap->wk_fab);`09/*`20synchronous`09*/
  451. X`20`20#else
  452. X`20`20`09`09/*`20asynch.`20$create`20*/
  453. X`20`20
  454. $ call unpack REMPRTSMB.DIFF;1 625238560 "FORMAT STREAM_LF"
  455. $ v=f$verify(v)
  456. $ exit
  457.