system/base/1.7.5/src/dataspace

Raw file
Back to index

(* ------------------- VERSION 3     22.04.86 ------------------- *)
PACKET dataspace DEFINES 

    := ,
    nilspace ,
    forget ,
    type ,
    heap size ,
    storage ,
    ds pages ,
    next ds page ,
    blockout ,
    blockin ,
    ALIGN :


LET myself id field   = 9 ,
    lowest ds number  = 4 ,
    highest ds number = 255 ;

TYPE ALIGN = ROW 252 INT ;

OP := (DATASPACE VAR dest, DATASPACE CONST source ) : 
  EXTERNAL 70
ENDOP := ;
 
DATASPACE PROC nilspace : 
  EXTERNAL 69
ENDPROC nilspace ;
 
PROC forget (DATASPACE CONST dataspace ) :
  EXTERNAL 71
ENDPROC forget ;
 
PROC type (DATASPACE CONST ds, INT CONST type) :
  EXTERNAL 72
ENDPROC type ;
 
INT PROC type (DATASPACE CONST ds) :
  EXTERNAL 73
ENDPROC type ;
 
INT PROC heap size (DATASPACE CONST ds) :
  EXTERNAL 74
ENDPROC heap size ;

INT PROC storage (DATASPACE CONST ds) :
  (ds pages (ds) + 1) DIV 2
ENDPROC storage ;

INT PROC ds pages (DATASPACE CONST ds) :
  pages (ds, pcb (myself id field))
ENDPROC ds pages ;

INT PROC pages (DATASPACE CONST ds, INT CONST task nr) :
  EXTERNAL 88
ENDPROC pages ;

INT PROC next ds page (DATASPACE CONST ds, INT CONST page nr) :
  EXTERNAL 87
ENDPROC next ds page ;

PROC blockout (DATASPACE CONST ds, INT CONST page nr, code1, code2,
               INT VAR return code) :
  EXTERNAL 85
ENDPROC blockout ;

PROC blockin (DATASPACE VAR ds, INT CONST page nr, code1, code2,
              INT VAR return code) :
  EXTERNAL 86
ENDPROC blockin ;

ENDPACKET dataspace ;