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]

Reply via email to