X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f Date: Mon, 25 Feb 2008 09:54:02 -0500 Message-Id: <200802251454.m1PEs25a005733@envy.delorie.com> From: DJ Delorie To: djgpp-workers AT delorie DOT com In-reply-to: <200802251436.08936.juan.guerrero@gmx.de> (message from Juan Manuel Guerrero on Mon, 25 Feb 2008 14:36:08 +0100) Subject: Re: Documentation about header structure References: <200802251436 DOT 08936 DOT juan DOT guerrero AT gmx DOT de> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > I have found that they use functions declared in argz.h and > asprintf. I am aware that these are neither ANSI nor posix > functions and that the functions declared in argz.h may be provided > by gnulib. Neitherless this rises the question for interested > people how this can be implemented for djgpp and thus what the > structure of a header should looks like? > Is there some definitive documentation about how a header that may > declare ansi and/or posix and/or BSD functions should looks like? Start by copying the _ansi template. Fill in the blanks in the #-lines. The template defines three sections: ansi prototypes, posix prototypes, and everything else. In your case, only the "everything else" section has content. The whole issue with stubs and __ff functions happens when an ansi or posix function needs a non-ansi-non-posix function to do its work inside libc. For those, we need to restrict ourselves to namespace-clean names to preserve the ansi-clean or posix-clean status when the depending ansi/posix functions are used. For those cases, we use the __ff stubs. For plain old "extra stuff" we just add it in as-is.