Thank you for your help!
Since I am running on a proprietary, non-Unix, non-Posix
kernel, I am trying to see if I can write a psuedo
stdio library that would allow me to compile and link
without having to define NO_STDIO.
Should I pretend that I am Posix compliant? Or is
there some other operating system I should pretend
to be?
I am using gnu gcc to cross-compile on a sun to run
on a mips platform.
Thanks,
John
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Bodo Moeller
> Sent: Tuesday, July 27, 1999 7:02 PM
> To: [EMAIL PROTECTED]
> Subject: Re: I am confused about NO_STDIO flag
>
>
> "John W. Murray" <[EMAIL PROTECTED]>:
>
> > I am trying to understand the NO_STDIO flag. I would like
> > to build with it defined. However, if I do that, bio.h
> > does not compile properly:
> >
> > Looking at the following piece of code from bio.h,
> > If I define NO_STDIO, then NO_FP_API gets defined.
> > However, WIN16 and _WINDLL are not defined so I still
> > get the wrong half of the #if statement.
>
> Possibly the NO_FP_API flag was only meant to be set by e_os.h. It's
> not at all clear (to me, anyway) what the difference between NO_FP_API
> and NO_STDIO is meant to be -- if you don't have FILE *, you cannot
> have stdin/out/err, and on the other hand we have
> #ifdef NO_STDIO
> # define NO_FP_API
> #endif
> (in e_os.h and in bio.h, possibly elsewhere too), so it looks that
> having only one of these flags would be enough, i.e. change all
> occurences of #if... NO_STDIO to #if... NO_FP_API.
>
> CHANGES.SSLeay tells us only the following:
> 19-Sep-97
> - NO_FP_API and NO_STDIO added.
> without revealing why they are separate flags.
>
> > Is anyone using the NO_STDIO flag?
>
> I asked the same question some time ago ...
>
> > I would like to rearrange
> > these defines, but hesitate to do that if someone has a
> > philosophy that works for these two flags.
>
> ... and also asked for that. If anyone does have a philosophy on all
> that, they certainly were not reading openssl-cvs in April.
> A particularly strange thing about bio.h is that FILE * is used in
> both cases of
>
> # if defined(WIN16) && defined(_WINDLL)
> BIO_METHOD *BIO_s_file_internal(void);
> BIO *BIO_new_file_internal(char *filename, char *mode);
> BIO *BIO_new_fp_internal(FILE *stream, int close_flag);
> # define BIO_s_file BIO_s_file_internal
> # define BIO_new_file BIO_new_file_internal
> # define BIO_new_fp BIO_new_fp_internal
> # else /* FP_API */
> BIO_METHOD *BIO_s_file(void );
> BIO *BIO_new_file(const char *filename, const char *mode);
> BIO *BIO_new_fp(FILE *stream, int close_flag);
> # define BIO_s_file_internal BIO_s_file
> # define BIO_new_file_internal BIO_new_file
> # define BIO_new_fp_internal BIO_s_file
> # endif /* FP_API */
>
> That last define should probably be
> # define BIO_new_fp_internal BIO_new_fp,
> but I don't really have an idea of what all this is good for, given
> that BIO_new_fp_internal occurs nowhere else in the library except in
> the above section of bio.h. The idea seems to be that you have those
> three ..._internal functions if you want to use the library on a 16-bit
> Windows, but it's all rather weird. If you don't want to use stdio
> at all, then maybe the above (both cases of it!) should be
> put inside an #ifndef NO_STDIO (or #ifndef NO_FP_API, who knows).
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List [EMAIL PROTECTED]
> Automated List Manager [EMAIL PROTECTED]
>
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]