?RCS: $Id: lseektype.U,v 3.0.1.1 1994/08/29 16:30:10 ram Exp $
?RCS:
?RCS: Copyright (c) 1991-1993, Raphael Manfredi
?RCS:
?RCS: You may redistribute only under the terms of the Artistic License,
?RCS: as specified in the README file that comes with the distribution.
?RCS: You may reuse parts of this distribution only within the terms of
?RCS: that same Artistic License; a copy of which may be found at the root
?RCS: of the source tree for dist 3.0.
?RCS:
?RCS: $Log: lseektype.U,v $
?RCS: Revision 3.0.1.1  1994/08/29  16:30:10  ram
?RCS: patch32: now uses new Typedef unit to compute type information
?RCS:
?RCS: Revision 3.0  1993/08/18  12:09:08  ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
?MAKE:lseektype lseeksize: Myread Typedef cat Compile rm_try longsize run
?MAKE:	-pick add $@ %<
?S:lseektype:
?S:	This variable defines lseektype to be something like off_t, long,
?S:	or whatever type is used to declare lseek offset's type in the
?S:	kernel (which also appears to be lseek's return type).
?S:.
?S:lseeksize:
?S:	This variable defines lseektype to be something like off_t, long,
?S:	or whatever type is used to declare lseek offset's type in the
?S:	kernel (which also appears to be lseek's return type).
?S:.
?C:Off_t (LSEEKTYPE):
?C:	This symbol holds the type used to declare offsets in the kernel.
?C:	It can be int, long, off_t, etc... It may be necessary to include
?C:	<sys/types.h> to get any typedef'ed information.
?C:.
?C:LSEEKSIZE:
?C:	This symbol holds the number of bytes used by the Off_t.
?C:.
?C:Off_t_size:
?C:	This symbol holds the number of bytes used by the Off_t.
?C:.
?H:#define Off_t $lseektype		/* <offset> type */
?H:#define LSEEKSIZE $lseeksize		/* <offset> size */
?H:#define Off_t_size $lseeksize	/* <offset> size */
?H:.
?F:!try
?LINT:set lseektype
: see what type lseek is declared as in the kernel
rp="What is the type used for lseek's offset on this system?"
set off_t lseektype long stdio.h sys/types.h
eval $typedef_ask

echo " "
echo "Checking to see how big your file offsets are..." >&4
$cat >try.c <<EOCP
#include <sys/types.h>
#include <stdio.h>
int main()
{
    printf("%d\n", (int)sizeof($lseektype));
    return(0);
}
EOCP
set try
if eval $compile_ok; then
	lseeksize=`$run ./try`
	echo "Your file offsets are $lseeksize bytes long."
else
	dflt=$longsize
	echo " "
	echo "(I can't seem to compile the test program.  Guessing...)"
	rp="What is the size of your file offsets (in bytes)?"
	. ./myread
	lseeksize="$ans"
fi
$rm_try

