home *** CD-ROM | disk | FTP | other *** search
- #ifndef NO_IDENT
- static char *Id = "$Id: rmsinit.c,v 1.4 1995/06/06 13:08:10 tom Exp $";
- #endif
-
- /*
- * Title: rmsinit.c
- * Author: Thomas E. Dickey
- * Created: 05 Sep 1984 (from 'mv', 17 May 1984)
- * Last update:
- * 03 Jun 1994, prototyped
- *
- * Function: These procedures do the most common type of RMS initialization,
- * that of FAB- and NAM-block initialization for filename parsing
- * and directory lookup.
- */
-
- #include <string.h>
-
- #include "rmsinit.h"
-
- /*
- * Initialize a FAB block:
- *
- * fab_ => FAB block to initialize
- * nam_ => NAM block to use in parse
- * dna_ => string to use (if nonnull) in parse-default
- * fna_ => string to use (if nonnull) for input filename
- */
- void
- rmsinit_fab(struct FAB *fab_, struct NAM *nam_, char *dna_, char *fna_)
- {
- *fab_ = cc$rms_fab;
-
- fab_->fab$l_fop = FAB$M_NAM;
- fab_->fab$l_nam = nam_; /* FAB => NAM block */
- if (dna_)
- {
- fab_->fab$l_dna = dna_; /* Default-selection */
- fab_->fab$b_dns = strlen(dna_);
- }
- if (fna_)
- {
- fab_->fab$l_fna = fna_;
- fab_->fab$b_fns = strlen(fna_);
- }
- }
-
- /*
- * Initialize a NAM-block:
- *
- * nam_ => NAM-block to initialize
- * rsa_ => "resultant string" address (loaded by SYS$SEARCH)
- * esa_ => "expanded string" address (loaded by SYS$PARSE)
- */
- void
- rmsinit_nam (struct NAM *nam_, char *rsa_, char *esa_)
- {
- *nam_ = cc$rms_nam;
-
- if (esa_)
- {
- nam_->nam$b_ess = NAM$C_MAXRSS;
- nam_->nam$l_esa = esa_;
- }
- if (rsa_)
- {
- nam_->nam$b_rss = NAM$C_MAXRSS;
- nam_->nam$l_rsa = rsa_;
- }
- }
-