;_Header ;******************************************************************* ; NOVA Central Controls --- Lawrence Livermore Laboratory ;******************************************************************* ; ;_Module_Name: RMS_CREATE _File: [NSM.UTIL]RMSCREATE.MAR ; ;_Description: ; ; This routine is used to create a new image file ; that can be used for a shared global section. ; ;_Call: ; ; character*n section_file ; integer*4 result, rms_create ; integer*4 section_channel ; integer*4 size ; ; result = rms_create (section_file, section_channel, size) ; ;_References: ; ; all that good RMS stuff. ; ;_I/O: ; ; This package will create files of the size specified and return ; the channel. To close a file opened by this routine: ; ; Call sys$dassgn( section_channel ) ; ;_Identifier: NCCNSM-VAXVMS-81 ; ;******************************************************************* ;_Author: J. M. Duffy _Creation_Date: 25-SEP-1980 ; ;_Revisions: ; ; 1.000 25-SEP-1980 JMD Initial Key-in. ; 1.001 15-jan-1982 JMD Also return size in blocks of the file ; 1.002 18-May-1983 JCS Modified to create rather than open a file ;******************************************************************* ;_End ; ; Allocate needed structures. ; file_fab: $fab fop=,fac=put ; ; RMS_CREATE - Create a file. ; file_desc_offset = 4 channel_offset = 8 size_offset = 12 .entry RMS_CREATE , ^M moval @file_desc_offset(ap), r1 ; get address of descriptor movzwl (r1),r2 ; get length of string. movl @size_offset(ap),r3 ; get allocation ; Put into fab. $fab_store fab=file_fab, fna=@4(r1), fns=r2, alq=r3 $create fab=file_fab ; Create the file. movl file_fab+fab$l_stv, @channel_offset(AP) ; Return the channel. Ret ; Return to user with status in R0. .end