11 - modify file.

Usage:

mme    gefsye
zero   CC,ARGLIST
zero   11,BUFFER

Where:

CC
is either zero or a courtesy call address.
ARGLIST
points to a list of arguments for this call. The format of this list is described below.
BUFFER
points to a buffer that can be used in this operation. This buffer should be 355 words long.

Description:

This version of MME GEFSYE modifies an existing file and gives it a new set of attributes. The argument list indicated by ARGLIST has the form

zero    RETURN_WORD,USERID
zero    FILE_NAME,PERMISSION
zero    OPTION,NEWNAME
where
RETURN_WORD
points to two words where MME GEFSYE can return a status. MME GEFSYE will initialize these words to zeroes. When MME GEFSYE returns, the first word will contain
Bit 0      -- 1 to indicate completion
    1-11   -- error code, or 0 for success
    18-35  -- pointer to additional error info
              (if any)
See "expl mme gefsye" for a list of common error codes. Other possible error codes are
 4  -- file busy; try later
12  -- size request less than allocated
       (smaller than current size)
USERID
points to two words containing the userid under which the program is operating (in BCD characters).
FILE_NAME
points to an area of memory containing the name of the file to be modified. This consists of four word chunks: the first two words of each chunk gives a component of a pathname (first chunk the userid, next chunk the name of the first catalog, and so on); the last two words of each chunk gives a password. Each component name and password is given as 1-12 BCD characters, left-justified and padded on the right with blanks. If a component has no password, the password part of the chunk is all blanks.

After the last pathname chunk comes a word containing the value -1.

PERMISSION
points to a word giving general attributes for the file.
Bits 0-11
give new general permissions (four octal digits, as described in "expl mme gefsye") that will be added to the existing permissions.
Bits 18-23
give a new octal access code for the file:
 0 -- normal
 2 -- Read while Write
 6 -- Monitor or Concurrent
77 -- keep old code (don't change code)
Bit 26
if 1, SAVE
Bit 29
if 1, NSLOCK (turn off SLOCK)
Bit 30
if 1, WLOCK
Bit 32
if 1, NSAVE
Bit 35
if 1, SLOCK
OPTION
points into a buffer describing additional arguments for the file creation. Below we describe the bits of each word in the buffer.
OPTION-2 (only when OPTION bit 13=1):
  Bits 0-17:  777777 (octal)
      18-35:  ANDed product of codes to show which
              protection options are changed:
                  ABORT     -- 566777 (octal)
                  ACCESS    -- 773777 (octal)
                  AUDIT     -- 777477 (octal)
                  INCRSAVE  -- 757777 (octal)
                  PAGE      -- 777700 (octal)
                  RDERR     -- 277777 (octal)
                  VERIFY    -- 775777 (octal)
 
OPTION-1 (only when OPTION bit 13=1):
  Bits 0-17:  BCD device name
                    or
              Bits 0-11 zero, 12-17 device code
              (see "expl mme gefsye")
                    or
              Zero
         18:  reserved
         19:  ABORT/ARCHIVE/ (if on)
         20:  RDERR/JOURNAL/ (if on)
         21:  reserved
         22:  INCRSAVE/NO/ (if on)
         23:  ABORT/LOCK/ (if on)
         24:  ACCESS/MONITOR/ (if on)
         25:  VERIFY/YES/ (if on)
         26:  ABORT/ROLLBACK/ (if on)
         27:  reserved
         28:  AUDIT/DENIED/ (if on)
         29:  AUDIT/ALL/ (if on)
      30-35:  # of sectors in page; if 0,
              default is 5
 
OPTION:
      Bit 0:  reserved
          1:  random file (if on), sequential
              file (if off)
        2-3:  reserved
          4:  size units will be llinks (if on),
              links (if off)
        5-6:  reserved
          7:  IDS/I attributes present (if on)
          8:  user-specified info present
              (if on)
          9:  new mode is specified (if on)
         10:  reserved
         11:  set file not busy specified (if on)
         12:  reset abort lock off specified
              (if on)
         13:  OPTION-1,-2 is present (if on)
         14:  duplicate device specified (if on)
      15-17:  reserved
         18:  if on, set primary file copy (COPYA)
              defective indicator (DUP option)
         19:  if on, set primary file copy (COPYA)
              not defective (DUP option)
         20:  if on, set secondary file copy (COPYB)
              defective indicator (DUP option)
         21:  if on, set secondary file copy (COPYB)
              not defective (DUP option)
      22-35:  reserved
Bits 11-12, 18-21 can only be on if .SACTY contains `FILSYS`; otherwise, MME GEFSYE will return error code 3 (permissions denied).
OPTION+1:
  Bits 0-17:  reserved
      18-35:  new maximum file size (llinks/links);
              0 => no change, -1 => unlimited
Beginning at OPTION+2, there are triplets of words indicating new specific permissions for the file being modified. The first two words of each triplet give the BCD userid receiving the permission. The last word has two possible formats. In the first, a general permissions code is in Bits 0-11 (see "expl mme gefsye"); Bit 17 should be on if this EXCLUDEs permission. In the second, bits 0-17 are zero; this removes all specific permissions for the associated userid. If bit 18 is 0, the userid itself is removed from the specific permissions list; if bit 18 is 1, specific permissions are removed, but the name is retained in the list, in anticipation of new permissions being granted.

In both formats, bits which are not used are reserved. The final triplet is followed by a word containing -1.

If OPTION bit 8 is on, a word of user-specified information (in Bits 1-35) comes next, followed by a word containing -1.

If OPTION bit 7 is on, five words of IDS/I attributes information comes next.

Word 0, Upper: first page number in range
        Lower: last page number in range
Word 1, Bit 1: MULTIUSER/YES/ (if on)
        12-17: COEXISTENCE/YES/ (if 1)
        Lower: number of words in page
Word 2: maximum number of lines per page
Word 3: BCD `%` or `NO` (inventory action)
Word 4, 6-11:  area number
        Lower: base size
Finally, the end of the OPTIONS block is indicated by a -1.
NEWNAME
points to a four-word block that may specify a new name and/or password for the file. If word 0 of this block is -1, there is no new name; otherwise, words 0 and 1 give the new name (1-12 BCD characters, left-justified, blank-filled). If word 2 of this block is -1, the password should not be modified; otherwise, words 2 and 3 give a new password (1-12 BCD characters, left-justified, blank-filled). If the two password words only contain BCD blanks, the existing password will be removed.

Words 2 and 3 may also be a special password block (described below).

Special Password Block

A special password block is two words long. It appears in the password part of the final chunk of a pathname. It has the form

zero    N,-1
zero    LIST,0
where LIST points to a list of password descriptors and N is the number of descriptors in the list. Each descriptor is four words long. The first two words give a password as 1-12 BCD characters, left-justified and padded with blanks. The next word gives a time when the password starts to apply, and the last gives a time when the password should stop applying. This lets you set passwords that are only in effect at certain times of the day. Times are given as a certain number of "ticks" after midnight, where each tick is 1/64,000 of a second.

See Also:

expl access

expl access permissions

expl mme gemore

Copyright © 2000, Thinkage Ltd.