fm_open(_c)

	status.i4.v = fm_open(vun.i2.r, file_name.i1a.r [,access_mode.i4.r]
			      [,write_access.i4.r] [,retry.i4.r]
			      [,ext_status.i4.r] [,asynchronous.i4.r]
			      [,max_record.i4.r])

	status.i4.v = fm_open_c(vun.i2.r, file_name.i1a.r [,access_mode.i4.v]
				[,write_access.i4.v] [,retry.i4.v]
				[,ext_status.i4.r] [,asynchronous.i4.v]
				[,max_record.i4.v])

	This routine will open a Filesharing file and return its virtual
	unit number to the caller.

	vun		virtual unit number for future file accesses
	file_name	Filesharing file name excluding the prefix
			of "rsx$fshare_applicat_" (must be null terminated)
	[access_mode]	type of file access desired
			(FMNGR_DIRECT -> direct (random by record number)
					 (default),
			 FMNGR_SEQUENTIAL -> sequential,
			 FMNGR_APPEND -> append (sequential),
			 FMNGR_KEYED -> keyed)
	[write_access]	file read/write access mode
			(FMNGR_READ_ACCESS -> read access only (default),
			 FMNGR_WRITE_ACCESS -> write access)
	[retry]		file open retry flag
			(TRUE -> retry open once if a retryable error occurs,
			 FALSE -> don't retry file open (default))
	[ext_status]	returned extended status from VMS/RMS (default is NULL)
	[asynchronous]	asynchronous flag
			(TRUE -> open will be done asynchronously,
			 FALSE -> synchronous open (default))
	[max_record]	maximum record to be written to the file
			(default is FSHR_DEFAULT_MAX_RECORD)

	This function returns status values as follows:

	OK			success
	FSHARE_xxx		error opening file
	CBS_INVNAME		file name is too int
	CBS_MEMFAIL		error in allocating dynamic memory
	event number		if successful asynchronous request

	This function requires the following include files:

	cnsparam_h, cbslib_h, acnet_errors_h

	Related functions:

	fm_close(_c), fm_open_io(_c), fm_open_read(_c), fm_open_write(_c),
	fm_read(_c), fm_write(_c), fm_file_attributes

	C/C++ usage:

	static const char	file_name[] = "controls_misc:my_file.dat";
	short	vun;
	int	status;
	int	access_mode = FMNGR_DEFAULT_ARG;
	int	write_access = FMNGR_DEFAULT_ARG;
	int	retry = TRUE;
	int	ext_status;
	int	asynchronous = FALSE;
	int	max_record = FSHR_DEFAULT_MAX_RECORD;

	status = fm_open_c(&vun,file_name,&ext_status,access_mode,write_access,
			   retry,&ext_status,asynchronous,max_record);