Accessing OpenSSL functions from CFM Carbon under Tiger
Accessing OpenSSL functions from CFM Carbon under Tiger
- Subject: Accessing OpenSSL functions from CFM Carbon under Tiger
- From: Eric Arlotti <email@hidden>
- Date: Mon, 4 Jul 2005 10:08:02 +0200
I have a Carbon CFM shared library that uses BSD native sockets and
OpenSSL functions available in Mac OS X (for several reasons, I can't
still switch to Mach-O and I don't want to use CFStream to keep my code
compatible with the Windows version of my software).
To access these functions, I load the "ApplicationServices.framework"
bundle using the "LoadFrameworkBundle" function (found on the Web and
in carbon-dev mailing list), then, for every function needed, I get the
pointer using CFBundleGetFunctionPointerForName. For example, here is
what I do to get the "SSL_library_init" pointer :
typedef int (*SSL_library_initPP)(void);
CFBundleRef bundleRef;
SSL_library_initPP __SSL_library_init;
LoadFrameworkBundle(CFSTR("ApplicationServices.framework"), &bundleRef);
__SSL_library_init = (SSL_library_initPP)
CFBundleGetFunctionPointerForName(bundleRef,
CFSTR("SSL_library_init"));
This works great under Panther but it fails under Tiger :
CFBundleGetFunctionPointerForName returns NULL for some OpenSSL
functions (all those that begin with "SSL_") but not for BSD sockets
functions. I thought that something had changed with Tiger, so I tried
to load "System.framework" or "Security.framework" instead of
''ApplicationServices.framework'" but this gave the same result.
Does anyone know what has changed in Tiger regarding this issue ? Is it
still possible to access OpenSSL functions from a Carbon CFM
application ?
Thanks for your help.
Eric Arlotti
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden