From:	CSBVAX::MRGATE!karen@athena.mit.edu@SMTP 17-FEB-1988 01:44
To:	ARISIA::EVERHART
Subj:	Re: FTP and backup 


Received: from ATHENA (ATHENA.MIT.EDU.#Internet) by C.CS.CMU.EDU with TCP; Tue 16 Feb 88 23:47:45-EST
Received: by ATHENA.MIT.EDU (5.45/4.7) id AA02638; Tue, 16 Feb 88 23:47:40 EST
From: Karen E. Walrath <karen@athena.mit.edu>
Received: by ACHILLES (5.45/4.7) id AA06964; Tue, 16 Feb 88 23:47:34 EST
Message-Id: <8802170447.AA06964@ACHILLES>
To: Eric Norman <ejnorman%dogie@unix2.macc.wisc.edu>
Cc: cmu-tek-tcp@c.cs.cmu.edu
Subject: Re: FTP and backup 
In-Reply-To: Your message of Tue, 16 Feb 88 13:50:17 -0600.
             <8802161950.AA15818@dogie.macc.wisc.edu> 
Date: Tue, 16 Feb 88 23:47:32 EST

I have found that this also works:

1) create your backup saveset on disk.  It's recordsize will be
32256 if you used the /save_set qualifier.

2) run the following program to change the recordsize to 512.
	$ modrfm 512 <save_set>

3) transfer the file using ftp.  In transferring from one VMS machine
   to another, you should NOT transfer the file in image mode.

4) run the program again at the other end.
	$ modrfm 32256 <save_set>

To run the following program, define a symbol as such:
$ modrfm :== $users:[karen]modrfm

This C program was found in news, most likely comp.os.vms.
____________________________________________________________________
#include <fab.h>
#define RME$C_SETRFM	0X00000001
main(nargs, args)	int nargs;	char **args;
{ struct FAB myfab = cc$rms_fab;
  long blksiz, atol(), status;
  if (--nargs < 2 || sscanf(*++args, "%d%c", &blksiz, &status) != 1)
    exit((puts("USAGE: MODRFM blocksize file [file...]"),1));
  if (blksiz < 1 || blksiz > 32767)
    exit((puts("blocksize must be between 1 and 32767 inclusive."),1));
  myfab.fab$b_fac = FAB$M_PUT;
  myfab.fab$l_fop |= FAB$M_ESC;
  myfab.fab$l_ctx |= RME$C_SETRFM;
  myfab.fab$w_ifi = 0;
  while (--nargs > 0) {
    myfab.fab$l_fna = *++args;
    myfab.fab$b_fns = strlen(*args);
    if (((status = SYS$OPEN(&myfab, 0, 0)) & 7) != 1)
      exit((printf("Couldn't open %s\n", *args), status));
    myfab.fab$w_mrs = blksiz;
    if (((status = SYS$MODIFY(&myfab, 0, 0)) & 7) != 1)
      exit((printf("Couldn't modify %s\n", *args), status));
    if (((status = SYS$CLOSE(&myfab, 0, 0)) & 7) != 1)
      exit((printf("Couldn't close %s\n", *args), status));
} }
____________________________________________________________________

Karen Walrath
MIT
