hmm, so you mean that these are function call statements? or is it a function prototype? Yes, i was aware about the data type of the function prototype, but since I never tried OpenSSL before, so i just try and see the error is. Silly me :-)
I tried to put the statement in the main block, but then an error message displayed "undefined reference to 'OpenSSL_add_all_algorithm" and "undefined reference to 'SSL_load_error_strings' Is there any linkage i forgot to put? Anyway, thanks for the reply. Dave Thompson-4 wrote: > >> From: owner-openssl-...@openssl.org On Behalf Of omronz >> Sent: Monday, 03 August, 2009 00:41 > >> I am new in SSL. I start to play around OpenSSL by creating a >> simple server that uses openssl. So, I just intialize the >> openssl main library but my program returned the warning >> message "data definition has no type or storage class" What >> does this mean and how can i eliminate this warning message? >> Hope that anyone here can help me since I am really new in OpenSSL. >> My OpenSSL version is 0.9.8g 19 Oct 2007. >> > Apparently you are new to C programming also. > >> #include <openssl/bio.h> >> //#include <openssl/ssl.h> >> //#include <openssl/err.h> >> >> OpenSSL_add_all_algorithms(); //the warning message returned here >> SSL_load_error_strings(); //the warning message returned here >> > You cannot have executable statements outside of a function > body (more precisely, block) in C, so these are treated as > VERY OLD pre-"K&R1" (circa 1975) declarations with > no return type (implicit int) hence the warnings. > These should be calls (statements) INSIDE main(), > or in a larger program inside some function that is > executed at or sufficiently near program start. > >> int main() >> { >> return 0; >> } >> >> Another error i received is >> - "previous declaration of >> 'OPENSSL_add_all_algorithms_noconf' was here" >> - "conflicting types for 'SSL_load_error_strings' " >> >> These error message above only appeared if i cancel the >> comment tag at the #include <openssl/ssl.h> and #include >> <openssl/err.h> >> > Those files provide the correct declarations (prototypes) > which conflict with the incorrect ones you mistakenly wrote. > >> Hope that anyone can help me. I am now referring 3 basic >> manuals about openssl and these 3 gives different >> initialization library. Some uses >> OpenSSL_add_all_algorithms(); and there are some uses >> SSL_library_init(). I know that by using different library, >> they offer different encryption and hash function example >> like DES or any other encryption algo. Can both of them be >> used using my openssl version? Thanks a lot. > > SSL_library_init adds to an internal table, which > makes usable by name/id/EVP etc., the algorithms > (potentially) needed by SSL/TLS. This is sufficient > if your application uses OpenSSL to do SSL/TLS. > > OpenSSL_add_all_algorithms does this for all > algorithms (that were included at build time). > This can be needed if you want to do other crypto > functions instead of or in addition to SSL/TLS. > > > > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > Development Mailing List openssl-dev@openssl.org > Automated List Manager majord...@openssl.org > > -- View this message in context: http://www.nabble.com/warning%3A-data-definition-has-no-type-or-storage-class-tp24785280p24804511.html Sent from the OpenSSL - Dev mailing list archive at Nabble.com. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org