Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MBKFOPEN(3)		      MBK UTILITY FUNCTIONS		     MBKFOPEN(3)

NAME
     mbkfopen - open a file with several search paths

SYNOPSIS
     #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 paths given in the environ-
     ment  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 environ-
     ment 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 writing
			 since disk access should be a straight  forward  opera-
			 tion knowing mbk's needs.

     The  search algorithm depends on the value of mode.  If mode is WRITE_TEXT,
     then the file is open for writing 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 decla-
     ration 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  paths,
     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).

ASIM/LIP6			 October 1, 1997		     MBKFOPEN(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mbkfopen&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help