Date: Fri, 6 Apr 2007 21:33:27 +0400 From: Andrey Chernov <ache@FreeBSD.org> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org, Bruce Evans <bde@zeta.org.au> Subject: Re: cvs commit: src/include stdio.h src/lib/libc/sys lseek.2 pathconf.2 src/sys/kern vfs_syscalls.c src/sys/sys filio.h unistd.h Message-ID: <20070406173327.GA94465@nagual.pp.ru> In-Reply-To: <20070406162711.GD3519@garage.freebsd.pl> References: <200704052110.l35LAsXH013966@repoman.freebsd.org> <20070406115326.A43678@delplex.bde.org> <20070406053934.GA84722@nagual.pp.ru> <20070406103519.GA1251@garage.freebsd.pl> <20070406131127.GA91320@nagual.pp.ru> <20070406162711.GD3519@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Fri, Apr 06, 2007 at 06:27:11PM +0200, Pawel Jakub Dawidek wrote: > > Feel free to invent any other __*_VISIBLE tag to exclude this addition > > from namespace for programs which may define their own SEEK_DATA etc > > which is allowed f.e. in POSIX namespace. Look like other __*_VISIBLE tags > > are implemented and what they does. Default is turn all on. > > Ok, can someone help me with this? The very basics are: application request particular namespace at compile time using -D_*_SOURCE define. According to choosed _*_SOURCE some of __*_VISIBLE macros are defined and some not (if no namespace choosed, all __*_VISIBLE are defined, default case). According to __*_VISIBLE macros defined some functions or definitions becomes hidden or visible. See the very end of /sys/sys/cdefs.h for live examples. __*_VISIBLE macros are in form __<standard or platform>_VISIBLE For example can be __CDDL_VISIBLE or __ZFS_VISIBLE (depends on exactly where those extensions was introduced). Lets take __ZFS_VISIBLE for the rest of explanation. You need to directly hide those extensions for every particular _*_SOURCE namespace, i.e. add #define __ZFS_VISIBLE 0 to all of them and enable extensions #define __ZFS_VISIBLE 1 only for the last (default) case (at the very end of /sys/sys/cdefs.h) Then use (for unistd.h) #if __ZFS_VISIBLE #define SEEK_DATA ... #endif Try to asking more help at standards@ or bde@ who notice it first and knows this thing apparenly better than me. > > In any case adding them to stdio.h is premature action - I not see yet > > corresponding fseek() code. > > I'm looking at removing it from stdio.h. Good. -- http://ache.pp.ru/ [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.3 (FreeBSD) iD8DBQFGFoRnVg5YK5ZEdN0RAqB9AJ4xsziu4vgl/QssaLizJ7z97yHCLwCfXB1P yetVBf+ORp9e+iYGtcAFWFQ= =wMlA -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070406173327.GA94465>
