HP 3000 Manuals

FUPDATE [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation


MPE/iX Intrinsics Reference Manual

FUPDATE 

NM and CM callable.

Updates (writes) a logical record in a disk file.

Syntax 
______________________________________
|                                    |
|               I16V   UDS   I16V    |
|     FUPDATE(filenum,buffer,length);|
______________________________________

            

Parameters 

filenum               16-bit signed integer by value (required) 

                      Passes the file number of the file to be updated.

buffer                user-defined structure (required) 

                      Passes the record to be written in the update.

length                16-bit signed integer by value (required) 

                      Passes the number of half words or bytes to be
                      written to the file.  A positive value is in half
                      words; a negative value is in bytes.

                      For files opened BUF:

                         *   If length <= record size, the length is
                             transferred in half words or bytes and
                             remaining portions of the record are padded
                             with fill characters.

                         *   If length = 0, no transfer occurs, and the
                             record address is overwritten with default
                             fill characters (blanks for ASCII files and
                             null characters for binary files).

                         *   If length > record size, CCL (1) is returned
                             and no transfer occurs.

                      For files opened NOBUF:

                         *   If length <= block size, the length is
                             transferred in half words or bytes and
                             remaining portions of the record are padded
                             with fill characters.

                         *   If length > block size, CCL (1) is returned
                             and no transfer occurs.

Condition Codes 

CCE (2)               Request granted.

CCG (0)               Request denied.  An end-of-file condition was
                      encountered during updating.

CCL (1)               Request denied.  An error occurred; the file is not
                      residing on disk, or length exceeds the size of the
                      block when multirecord mode is not in effect.

Operation Notes 

This intrinsic affects the logical record (or block for NOBUF files) of
the file last referenced by any intrinsic call, except an FPOINT call,
which affects the record prior to the last record referenced.  FUPDATE
moves the specified information from the stack into this record.  The
file containing this record must be opened with the update aoption 
specified in the FOPEN/HPFOPEN call and the file cannot have
variable-length records.  If RIO access is used, the modified record is
set to the ACTIVE state.

FUPDATE intrinsic fails with a CCL condition:

   *   If filenum references a byte stream file.

   *   If FCHECK intrinsic is called to obtain the error code associated
       with a CCL condition code.

The FUPDATE intrinsic is not applicable to message files.

Related Information 

Intrinsics            None

Commands              None

Manuals               Accessing Files Programmer's Guide (32650-90017)



MPE/iX 5.0 Documentation