bionic (3) mbkfopen.3.gz

Provided by: alliance_5.1.1-1.1build1_amd64 bug

NAME

       mbkfopen - open a file with several search pathes

SYNOPSYS

       #include "mut.h"
       FILE ∗mbkfopen(name, extension, mode)
       char ∗name, ∗extension, ∗mode;

PARAMETERS

       name                Name of the file to be opened

       extension           Extension to the file name

       model               File opening mode

DESCRIPTION

       mbkfopen opens a file, searching it through the pathes given in the environment variables MBK_CATA_LIB(1)
       and MBK_WORK_LIB(1).  Its main issue is to enable simple file access for any program that works with  mbk
       path environment variables.
       The  file  to be opened is called name.extension, if extension is not NULL, else it is name. If extension
       is the empty string, "", then the file name will be name. .
       The legal values for mode are

       READ_TEXT           opens for reading

       WRITE_TEXT          discards and opens for writting
                           since disk access should be a straight forward operation knowing mbk's needs.

       The search algorithm depends on the value of mode.  If mode is WRITE_TEXT, then  the  file  is  open  for
       writting   in   MBK_WORK_LIB(1).   If  mode  is  READ_TEXT  then  the  file  is  first  searched  through
       MBK_WORK_LIB(1), and if not found, through each directory specified in MBK_CATA_LIB(1), in the  order  of
       declaration  under  unix.   No  internal  hash  table  is  generated, in order to let the user choose its
       directory priority.  As soon as the file is found, it is opened.  There is no check for  redundant  files
       in the specified pathes, since it is neither illegal nor bad to have many files with the same names.

RETURN VALUE

       mbkfopen  returns  a  pointer  to the opened file.  If the file read or write access are violated, or the
       file not found, a NULL pointer is returned.

ERROR

       "∗∗∗ mbk error ∗∗∗ mbkfopen : unknown file opening mode mode"
              The mode parameter is not one of the two legal values.

EXAMPLE

       #include "mut.h"
       #include "mph.h"
       phfig_list ∗load_vti_ph(name)
       char ∗name;
       {
       FILE ∗file;
          if ((file = mbkfopen(name, "cp", READ_TEXT)) == NULL) {
             (void)fprintf(stderr, "Pfhhh, can't open name.cp\n");
             EXIT();
          }
          ph_parse(file);
       }

SEE ALSO

       mbk(1),  MBK_CATA_LIB(1),  MBK_WORK_LIB(1),  loadlofig(3),  loadphfig(3),   savelofig(3),   savephfig(3),
       fopen(3).