Subject: lib/10279: Large File Summit API is not supported under NetBSD
To: None <gnats-bugs@gnats.netbsd.org>
From: None <dave@dtsp.co.nz>
List: netbsd-bugs
Date: 06/04/2000 18:54:17
>Number:         10279
>Category:       lib
>Synopsis:       Large File Summit API is not supported under NetBSD
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 04 18:55:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Dave Sainty
>Release:        NetBSD-current early June
>Organization:
Dynamic Technology Services and Products Ltd (NZ)
>Environment:
System: NetBSD tequila.dave.dtsp.co.nz 1.4R NetBSD 1.4R (TEQUILA) #3: Wed Feb 16 20:01:31 NZDT 2000 dave@tequila.dave.dtsp.co.nz:/vol/tequila/userB/u2/NetBSD-current/src/sys/arch/i386/compile/TEQUILA i386


>Description:
	http://ftp.sas.com/standards/large.file/x_open.20Mar96.txt
	http://ftp.sas.com/standards/large.file/x_open.20Mar96.addendum.html

	The Large File Summit API is (I'm told) supported by recent Solaris's,
	Irix, Linux and possibly others (given the list of companies in
	attendance).  One might question whether the LFS
	approach is correct.  But... not supporting it still
	generates a porting issue with programs that expect the API to be
	available.

	On NetBSD the effort required to support the API is fairly minimal.
	Possibly no kernel changes.

	As a sample, the API looks like (from the first URL above):

3.1.1.1.2 STDIO Interfaces

fgetpos64()            fopen64()
freopen64()            fseeko64()
fsetpos64()            ftello64()
tmpfile64()

3.1.1.1.3 Other Interfaces

creat64()             fstat64()
fstatvfs64()          ftruncate64()
ftw64()               getrlimit64()
lockf64()             lseek64()
lstat64()             mmap64()
nftw64()              open64()
readdir64()           setrlimit64()
stat64()              statvfs64()
truncate64()

	In our case, they can basically be wrappers for the existing
	functions.  The *64 functions take 'off64_t' instead of 'off_t'
	parameters, which in our case are also the same size.

	This is purely a compatibility issue, I wouldn't suggest encouraging
	the use of these API's inside NetBSD userland programs.

>How-To-Repeat:
	nm /usr/lib/libc.a | fgrep lseek64

>Fix:
	No fix as yet.
>Release-Note:
>Audit-Trail:
>Unformatted: