status.i4.v = fm_open_write(file_name.i1a.r, io_buffer.g.v,
				    num_bytes.i4.r, record_number.i4.r
				    [,ext_status.i4.r] [,close_it.i4.r]

	status.i4.v = fm_open_write_c(file_name.i1a.r, io_buffer.g.v,
				      num_bytes.i4.v, record_number.i4.v
				      [,ext_status.i4.r] [,close_it.i4.v]

	This routine will write a Filesharing record.  It will
	also open the file for direct access if it isn't already open.
	The file may have sequential, relative, or indexed organization
	and fixed or variable length records.  The logical record
	number defines the record to be written.  The default file open
	parameters may be changed by a call to fm_set_defaults.

	file_name	Filesharing file name excluding the prefix
			of "rsx$fshare_applicat_" (must be null terminated)
	io_buffer	user's data buffer to be written
	num_bytes	number of bytes to be written
	record_number	specifies the logical record number
	[ext_status]	returned extended status from VMS/RMS (default is NULL)
	[close_it]	close file flag
			(TRUE -> file will be closed after the I/O operation
				 has been completed,
			 FALSE -> file is left open (default))
	[vun]		returned VUN assigned to this operation
			(default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	FSHARE_xxx		error accessing file
	CBS_INVNAME		file name is too int
	CBS_INVARG		number of bytes <= 0
	CBS_MEMFAIL		error in allocating dynamic memory

	This function requires the following include files:

	cnsparam_h, cbslib_h, acnet_errors_h

	Related functions:

	fm_open(_c), fm_write(_c), fm_close(_c), fm_open_io(_c),
	fm_open_read(_c), fm_file_attributes

	C/C++ usage:

	static const char	file_name[] = "controls_misc:my_file.dat";
	char	io_buffer[NUM_BYTES];
	short	vun;
	int	status;
	int	num_bytes = NUM_BYTES;
	int	record_number = RECORD_NUMBER;
	int	ext_status;
	int	close_it = FALSE;

	status = fm_open_write_c(file_name,(void *) io_buffer,num_bytes,