Subject: | |
From: | |
Reply To: | |
Date: | Mon, 22 Jul 1996 14:14:51 -0700 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
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
|
|
|