Marking of Records

All records have a special mark status. This status is the same for all buffers which have access to that record, and can have a value between zero and 255. If a mark status is zero, we say it is cleared.


Get MaRK status

Sbasic
    value = GETmark(#bufferid)
Assembler
    GMRK
    bufferid
    return byte value
C
    long DDgetmark(long bufferid, char *result);
  
errors, code,   meaning
itnf    -7      invalid bufferid

Set MaRK status

The mark status will only be changed in the file after implementing !!

The mark status is an unsigned byte, so a value between 0-255, and is called clear when it is zero.

Sbasic
    SETmark(#bufferid, value)
    value : short
Assembler
    SMRK
    bufferid
    byte value
C
    long DDsetmark(long bufferid, char value);
  
errors, code,   meaning
itnf    -7      invalid bufferid

Clear all MaRK statusses

You can also clear the mark status for all records in the file. Note that locked records may not be affected when they are re-implemented.

Sbasic
    CLEARmark(#bufferid)
Assembler
    CMRK
    bufferid
C
    long DDclearmark(long bufferid);
  
errors, code,   meaning
itnf    -7      invalid bufferid
isyn    -21     internal file structure corrupted (should not occur)
...             any file i/o error (should not occur)

PROGS, Professional & Graphical Software
last edited September 6, 1996