いいじまです。

> > FreeBSD:
> > http://www.jp.freebsd.org/www.FreeBSD.org/ja/platforms/amd64.html
> > NetBSD:
> > http://www.NetBSD.org/Ports/amd64/
> > Linux:
> > http://www.amd64.org/
> 
> 結局、これらの OS は、64 ビットなんですか? llseek() とかありますか。

手元の FreeBSD 環境で試してみました。

% uname -a
FreeBSD sodans.usata.org 4.10-RELEASE FreeBSD 4.10-RELEASE #3: Mon Jun 14 20:22:42 JST 2004     root@sodans.usata.org:/var/obj/usr/src/sys/SODANS  i386

% cd /usr/include
% grep lseek *.h
stdio.h:_BSD_OFF_T_ lseek __P((int, _BSD_OFF_T_, int));
unistd.h:off_t   lseek __P((int, off_t, int));

% grep '_BSD_OFF_T' */*.h
machine/ansi.h:#define  _BSD_OFF_T_     __int64_t               /* file offset */
sys/types.h:typedef     _BSD_OFF_T_     off_t;          /* file offset */

というわけで、すでに lseek() が 64 ビット化されています。
llseek() や lseek64() はありません。

ちなみに
% grep fseek *.h
stdio.h:int      fseek __P((FILE *, long, int));
stdio.h:int      fseeko __P((FILE *, _BSD_OFF_T_, int));
です。

Linux の場合、http://www.freebsd.org/cgi/man.cgi で調べた限りでは、
_llseek() と fseeko() があるようです。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@ht.sakura.ne.jp