HP3000-L Archives

July 1996, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Mon, 22 Jul 1996 14:14:51 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (73 lines)
Steve writes:
 
> The "32K at a time" issue is definitely in need of correction. However,
> since we're looking at "future compatibility" here, why constrain the
> values of "bytes" and "recnum" to 32-bit integers? The suggested
> implementation of HPFREADDIR gives "4GB and GREATER"-but only to a
> maximum of 8GB for a byte-stream or 1-byte-record file.
 
I agree, and modify my proposal to be:
 
  type
     int64 = longint;        {signed 64-bit integer}
 
  function HPFREAD (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     buffer  : globalanyptr;     {64-bit address}
                     bytes   : int64)            {64-bit value}
         : int64;
 
   function HPFWRITE (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     buffer  : globalanyptr;     {64-bit address}
                     bytes   : int64;            {64-bit value}
                     cctl    : integer)          {32-bit value}
         : int64;
 
 function HPFREADDIR (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     buffer  : globalanyptr;     {64-bit address}
                     bytes   : int64;            {64-bit value}
                     recnum  : longint)          {64-bit value}
         : int64;
 
> In the same spirit, maybe we also need "HPFPOINT" and "HPFSPACE"
> intrinsics that take 64-bit parameters. How about "HPFREADSEEK' with a
> 64-bit record number? And others.
 
and add:
 
   Procedure HPFPOINT (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     recnum  : longint);         {64-bit value}
 
 
   Procedure HPFSPACE (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     displacement : longint);    {64-bit value}
      {displacement: # records to move forward (postive)          }
      {   or backwards (negative).                                }
      {Cannot be used on variable-record disk files.              }
 
   Procedure HPFREADSEEK (
                 var status  : hpe_status;       {32-bit output parameter)
                     filenum : integer;          {32-bit value}
                     recnum  : longint);         {64-bit value}
 
> 64-bit record number? And others.
 
EFS
 
> Of course, current HP language products don't support 64-bit integers
 
Pascal/iX supports 64-bit integers ("longint").
 
--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2