diff options
author | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-06-05 10:17:55 +0000 |
---|---|---|
committer | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-06-05 10:17:55 +0000 |
commit | a20801bf5800d4e0bf3553674fb9e6d3702d9292 (patch) | |
tree | 3003994e6954be293cd894c94c16cfd808964a5e /common | |
parent | 3fa859b50cac44d98c3062bcfc421bf2a96001a7 (diff) | |
download | jack2-a20801bf5800d4e0bf3553674fb9e6d3702d9292.tar.gz |
Better control of exported symbols.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2456 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'common')
30 files changed, 134 insertions, 149 deletions
diff --git a/common/JackDriverLoader.cpp b/common/JackDriverLoader.cpp index b89d2157..5a33819c 100644 --- a/common/JackDriverLoader.cpp +++ b/common/JackDriverLoader.cpp @@ -88,7 +88,7 @@ jack_print_driver_param_usage (jack_driver_desc_t * desc, unsigned long param, F fprintf (file, "%s\n", desc->params[param].long_desc); } -EXPORT int +int jack_parse_driver_params (jack_driver_desc_t * desc, int argc, char* argv[], JSList ** param_ptr) { struct option * long_options; @@ -369,7 +369,7 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) return 0; } -EXPORT jack_driver_desc_t * +jack_driver_desc_t * jack_find_driver_descriptor (JSList * drivers, const char * name) { jack_driver_desc_t * desc = 0; @@ -486,7 +486,7 @@ jack_drivers_get_descriptor (JSList * drivers, const char * sofile) #ifdef WIN32 -EXPORT JSList * +JSList * jack_drivers_load (JSList * drivers) { char * driver_dir; char driver_dir_storage[512]; diff --git a/common/JackDriverLoader.h b/common/JackDriverLoader.h index 05f5fa8a..57311012 100644 --- a/common/JackDriverLoader.h +++ b/common/JackDriverLoader.h @@ -54,13 +54,11 @@ typedef struct _jack_driver_info } jack_driver_info_t; -EXPORT jack_driver_desc_t * jack_find_driver_descriptor (JSList * drivers, const char * name); +jack_driver_desc_t * jack_find_driver_descriptor (JSList * drivers, const char * name); jack_driver_desc_t * jack_drivers_get_descriptor (JSList * drivers, const char * sofile); - -EXPORT JSList * jack_drivers_load (JSList * drivers); +JSList * jack_drivers_load (JSList * drivers); jack_driver_info_t * jack_load_driver (jack_driver_desc_t * driver_desc); - -EXPORT int jack_parse_driver_params (jack_driver_desc_t * desc, int argc, char* argv[], JSList ** param_ptr); +int jack_parse_driver_params (jack_driver_desc_t * desc, int argc, char* argv[], JSList ** param_ptr); EXPORT int jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]); #endif diff --git a/common/JackDummyDriver.cpp b/common/JackDummyDriver.cpp index ee0fe11d..a2e08cbe 100644 --- a/common/JackDummyDriver.cpp +++ b/common/JackDummyDriver.cpp @@ -27,6 +27,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackGraphManager.h" #include "JackDriverLoader.h" #include "JackThreadedDriver.h" +#include "JackExports.h" #include <iostream> #include <unistd.h> @@ -77,7 +78,7 @@ extern "C" { #endif - jack_driver_desc_t * driver_get_descriptor () { + EXPORT jack_driver_desc_t * driver_get_descriptor () { jack_driver_desc_t * desc; unsigned int i; @@ -138,7 +139,7 @@ extern "C" return desc; } - Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) { + EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) { jack_nframes_t sample_rate = 48000; jack_nframes_t period_size = 1024; unsigned int capture_ports = 2; diff --git a/common/JackEngine.h b/common/JackEngine.h index 47360861..36a45276 100644 --- a/common/JackEngine.h +++ b/common/JackEngine.h @@ -38,7 +38,7 @@ class JackExternalClient; \brief Engine description. */ -class JackEngine +class EXPORT JackEngine { private: diff --git a/common/JackEngineControl.h b/common/JackEngineControl.h index ced24488..f67b5408 100644 --- a/common/JackEngineControl.h +++ b/common/JackEngineControl.h @@ -65,7 +65,7 @@ struct JackTimingMeasure \brief Engine control in shared memory. */ -struct JackEngineControl : public JackShmMem +struct EXPORT JackEngineControl : public JackShmMem { // Shared state jack_nframes_t fBufferSize; diff --git a/common/JackError.cpp b/common/JackError.cpp index a3bf1349..82c29220 100644 --- a/common/JackError.cpp +++ b/common/JackError.cpp @@ -132,5 +132,5 @@ static void default_jack_info_callback (const char *desc) fflush(stdout); } -void (*jack_error_callback)(const char *desc) = &default_jack_error_callback; -void (*jack_info_callback)(const char *desc) = &default_jack_info_callback; +EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback; +EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback; diff --git a/common/JackError.h b/common/JackError.h index 04642947..68dd88dd 100644 --- a/common/JackError.h +++ b/common/JackError.h @@ -44,8 +44,8 @@ extern "C" // like jack_info() but only if verbose mode is enabled EXPORT void jack_log(const char *fmt, ...); - extern void (*jack_error_callback)(const char *desc); - extern void (*jack_info_callback)(const char *desc); + EXPORT extern void (*jack_error_callback)(const char *desc); + EXPORT extern void (*jack_info_callback)(const char *desc); typedef void (* jack_log_function_t)(int level, const char *message); diff --git a/common/JackExports.h b/common/JackExports.h index 613a2b14..6cb6dc81 100644 --- a/common/JackExports.h +++ b/common/JackExports.h @@ -23,7 +23,7 @@ This program is free software; you can redistribute it and/or modify #ifdef WIN32 #define EXPORT __declspec(dllexport) #else -#define EXPORT +#define EXPORT __attribute__ ((visibility("default"))) #endif #endif diff --git a/common/JackFifo.h b/common/JackFifo.h index da5913ec..315ef71a 100644 --- a/common/JackFifo.h +++ b/common/JackFifo.h @@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define __JackFifo__ #include "JackSynchro.h" +#include "JackExports.h" #include <assert.h> #include <stdio.h> #include <poll.h> @@ -32,7 +33,7 @@ namespace Jack \brief Inter process synchronization using Fifo. */ -class JackFifo : public detail::JackSynchro +class EXPORT JackFifo : public detail::JackSynchro { private: diff --git a/common/JackFrameTimer.h b/common/JackFrameTimer.h index bd5ab80c..78fb9a74 100644 --- a/common/JackFrameTimer.h +++ b/common/JackFrameTimer.h @@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define __JackFrameTimer__ #include "JackAtomicState.h" +#include "JackExports.h" #include "types.h" namespace Jack @@ -31,7 +32,7 @@ namespace Jack \brief A structure used for time management. */ -struct JackTimer +struct EXPORT JackTimer { jack_nframes_t fFrames; jack_time_t fCurrentWakeup; diff --git a/common/JackGlobals.cpp b/common/JackGlobals.cpp index cf45b98b..bf0c7b70 100644 --- a/common/JackGlobals.cpp +++ b/common/JackGlobals.cpp @@ -22,7 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #endif #include "JackGlobals.h" -#include "JackError.h" static bool gKeyRealtimeInitialized = false; static bool g_key_log_function_initialized = false; @@ -30,7 +29,8 @@ static bool g_key_log_function_initialized = false; jack_tls_key gRealTime; jack_tls_key g_key_log_function; -void jack_init() +__attribute__ ((constructor)) +static void jack_init() { if (!gKeyRealtimeInitialized) { gKeyRealtimeInitialized = jack_tls_allocate_key(&gRealTime); @@ -40,7 +40,8 @@ void jack_init() g_key_log_function_initialized = jack_tls_allocate_key(&g_key_log_function); } -void jack_uninit() +__attribute__ ((destructor)) +static void jack_uninit() { if (gKeyRealtimeInitialized) { jack_tls_free_key(gRealTime); @@ -57,6 +58,11 @@ void jack_uninit() #ifdef WIN32 +#ifdef __cplusplus +extern "C" +{ +#endif + BOOL WINAPI DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { @@ -70,4 +76,8 @@ BOOL WINAPI DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserv return TRUE; } +#ifdef __cplusplus +} +#endif + #endif diff --git a/common/JackGlobals.h b/common/JackGlobals.h index da8810ae..9e1a16ff 100644 --- a/common/JackGlobals.h +++ b/common/JackGlobals.h @@ -20,36 +20,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #ifndef __JackGlobals__ #define __JackGlobals__ -#include "JackError.h" -#include "JackExports.h" - -#include "JackPlatformSynchro.h" -#include "JackPlatformProcessSync.h" #include "JackPlatformThread.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - extern jack_tls_key gRealTime; extern jack_tls_key g_key_log_function; -#ifdef WIN32 - -EXPORT void jack_init(); -EXPORT void jack_uninit(); - -#else - -void __attribute__ ((constructor)) jack_init(); -void __attribute__ ((destructor)) jack_uninit(); - -#endif - -#ifdef __cplusplus -} -#endif - #endif diff --git a/common/JackGraphManager.h b/common/JackGraphManager.h index 17c4c203..76441777 100644 --- a/common/JackGraphManager.h +++ b/common/JackGraphManager.h @@ -35,7 +35,7 @@ namespace Jack \brief Graph manager: contains the connection manager and the port array. */ -class JackGraphManager : public JackShmMem, public JackAtomicState<JackConnectionManager> +class EXPORT JackGraphManager : public JackShmMem, public JackAtomicState<JackConnectionManager> { private: diff --git a/common/JackLibAPI.cpp b/common/JackLibAPI.cpp index 8597c368..b7802186 100644 --- a/common/JackLibAPI.cpp +++ b/common/JackLibAPI.cpp @@ -28,16 +28,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackLibGlobals.h" #include "JackGlobals.h" #include "JackServerLaunch.h" +#include "JackExports.h" #include "JackTools.h" using namespace Jack; -#ifdef WIN32 -#define EXPORT __declspec(dllexport) -#else -#define EXPORT -#endif - #ifdef __cplusplus extern "C" { diff --git a/common/JackLockedEngine.h b/common/JackLockedEngine.h index af134c7b..52395e36 100644 --- a/common/JackLockedEngine.h +++ b/common/JackLockedEngine.h @@ -30,7 +30,7 @@ namespace Jack \brief Locked Engine. */ -class JackLockedEngine : public JackLockAble +class EXPORT JackLockedEngine : public JackLockAble { private: diff --git a/common/JackNetDriver.cpp b/common/JackNetDriver.cpp index edeba782..4778db38 100644 --- a/common/JackNetDriver.cpp +++ b/common/JackNetDriver.cpp @@ -26,6 +26,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackDriverLoader.h" #include "JackThreadedDriver.h" #include "JackException.h" +#include "JackExports.h" #define DEFAULT_MULTICAST_IP "225.3.19.154" #define DEFAULT_PORT 19000 @@ -571,7 +572,7 @@ namespace Jack extern "C" { #endif - jack_driver_desc_t* driver_get_descriptor () + EXPORT jack_driver_desc_t* driver_get_descriptor () { jack_driver_desc_t* desc = ( jack_driver_desc_t* ) calloc ( 1, sizeof ( jack_driver_desc_t ) ); strcpy ( desc->name, "net" ); @@ -637,7 +638,7 @@ namespace Jack return desc; } - Jack::JackDriverClientInterface* driver_initialize ( Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params ) + EXPORT Jack::JackDriverClientInterface* driver_initialize ( Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params ) { const char* multicast_ip = DEFAULT_MULTICAST_IP; char name[JACK_CLIENT_NAME_SIZE]; diff --git a/common/JackNetTool.cpp b/common/JackNetTool.cpp index 0d5351d8..4b4628ad 100644 --- a/common/JackNetTool.cpp +++ b/common/JackNetTool.cpp @@ -127,7 +127,7 @@ namespace Jack // SessionParams ************************************************************************************ - void SessionParamsHToN ( session_params_t* params ) + EXPORT void SessionParamsHToN ( session_params_t* params ) { params->fPacketID = htonl ( params->fPacketID ); params->fMtu = htonl ( params->fMtu ); @@ -142,7 +142,7 @@ namespace Jack params->fBitdepth = htonl ( params->fBitdepth ); } - void SessionParamsNToH ( session_params_t* params ) + EXPORT void SessionParamsNToH ( session_params_t* params ) { params->fPacketID = ntohl ( params->fPacketID ); params->fMtu = ntohl ( params->fMtu ); @@ -157,7 +157,7 @@ namespace Jack params->fBitdepth = ntohl ( params->fBitdepth ); } - void SessionParamsDisplay ( session_params_t* params ) + EXPORT void SessionParamsDisplay ( session_params_t* params ) { jack_info ( "********************Params********************" ); jack_info ( "Protocol revision : %c", params->fProtocolVersion ); @@ -176,7 +176,7 @@ namespace Jack jack_info ( "**********************************************" ); } - sync_packet_type_t GetPacketType ( session_params_t* params ) + EXPORT sync_packet_type_t GetPacketType ( session_params_t* params ) { switch ( params->fPacketID ) { @@ -194,7 +194,7 @@ namespace Jack return INVALID; } - int SetPacketType ( session_params_t* params, sync_packet_type_t packet_type ) + EXPORT int SetPacketType ( session_params_t* params, sync_packet_type_t packet_type ) { switch ( packet_type ) { @@ -220,7 +220,7 @@ namespace Jack // Packet header ********************************************************************************** - void PacketHeaderHToN ( packet_header_t* header ) + EXPORT void PacketHeaderHToN ( packet_header_t* header ) { header->fID = htonl ( header->fID ); header->fMidiDataSize = htonl ( header->fMidiDataSize ); @@ -230,7 +230,7 @@ namespace Jack header->fSubCycle = htonl ( header->fSubCycle ); } - void PacketHeaderNToH ( packet_header_t* header ) + EXPORT void PacketHeaderNToH ( packet_header_t* header ) { header->fID = ntohl ( header->fID ); header->fMidiDataSize = ntohl ( header->fMidiDataSize ); @@ -240,7 +240,7 @@ namespace Jack header->fSubCycle = ntohl ( header->fSubCycle ); } - void PacketHeaderDisplay ( packet_header_t* header ) + EXPORT void PacketHeaderDisplay ( packet_header_t* header ) { jack_info ( "********************Header********************" ); jack_info ( "Data type : %c", header->fDataType ); @@ -257,7 +257,7 @@ namespace Jack // Utility ******************************************************************************************************* - size_t SetFramesPerPacket ( session_params_t* params ) + EXPORT size_t SetFramesPerPacket ( session_params_t* params ) { if ( !params->fSendAudioChannels && !params->fReturnAudioChannels ) return ( params->fFramesPerPacket = params->fPeriodSize ); @@ -267,7 +267,7 @@ namespace Jack return params->fFramesPerPacket; } - size_t GetNMidiPckt ( session_params_t* params, size_t data_size ) + EXPORT size_t GetNMidiPckt ( session_params_t* params, size_t data_size ) { //even if there is no midi data, jack need an empty buffer to know there is no event to read //99% of the cases : all data in one packet @@ -280,7 +280,7 @@ namespace Jack return npckt; } - int SetRxTimeout ( int* sockfd, session_params_t* params ) + EXPORT int SetRxTimeout ( int* sockfd, session_params_t* params ) { int ret; struct timeval timeout; @@ -295,7 +295,7 @@ namespace Jack // Packet ******************************************************************************************************* - bool IsNextPacket ( packet_header_t* previous, packet_header_t* next, size_t subcycles ) + EXPORT bool IsNextPacket ( packet_header_t* previous, packet_header_t* next, size_t subcycles ) { //ignore first cycle if ( previous->fCycle <= 1 ) diff --git a/common/JackNetTool.h b/common/JackNetTool.h index d9537032..e7537090 100644 --- a/common/JackNetTool.h +++ b/common/JackNetTool.h @@ -2,6 +2,7 @@ #include "types.h" #include "JackConstants.h" #include "JackMidiPort.h" +#include "JackExports.h" #include <string> #include <algorithm> @@ -101,7 +102,7 @@ namespace Jack //midi data *********************************************************************************** - class NetMidiBuffer + class EXPORT NetMidiBuffer { private: int fNPorts; @@ -130,7 +131,7 @@ namespace Jack // audio data ********************************************************************************* - class NetAudioBuffer + class EXPORT NetAudioBuffer { private: int fNPorts; @@ -153,24 +154,24 @@ namespace Jack //utility ************************************************************************************* //n<-->h functions - void SessionParamsHToN ( session_params_t* params ); - void SessionParamsNToH ( session_params_t* params ); - void PacketHeaderHToN ( packet_header_t* header ); - void PacketHeaderNToH ( packet_header_t* header ); + EXPORT void SessionParamsHToN ( session_params_t* params ); + EXPORT void SessionParamsNToH ( session_params_t* params ); + EXPORT void PacketHeaderHToN ( packet_header_t* header ); + EXPORT void PacketHeaderNToH ( packet_header_t* header ); //display session parameters - void SessionParamsDisplay ( session_params_t* params ); + EXPORT void SessionParamsDisplay ( session_params_t* params ); //display packet header - void PacketHeaderDisplay ( packet_header_t* header ); + EXPORT void PacketHeaderDisplay ( packet_header_t* header ); //get the packet type from a sesion parameters - sync_packet_type_t GetPacketType ( session_params_t* params ); + EXPORT sync_packet_type_t GetPacketType ( session_params_t* params ); //set the packet type in a session parameters - int SetPacketType ( session_params_t* params, sync_packet_type_t packet_type ); + EXPORT int SetPacketType ( session_params_t* params, sync_packet_type_t packet_type ); //step of network initialization - size_t SetFramesPerPacket ( session_params_t* params ); + EXPORT size_t SetFramesPerPacket ( session_params_t* params ); //get the midi packet number for a given cycle - size_t GetNMidiPckt ( session_params_t* params, size_t data_size ); + EXPORT size_t GetNMidiPckt ( session_params_t* params, size_t data_size ); //set the recv timeout on a socket - int SetRxTimeout ( int* sockfd, session_params_t* params ); + EXPORT int SetRxTimeout ( int* sockfd, session_params_t* params ); //check if 'next' packet is really the next after 'previous' - bool IsNextPacket ( packet_header_t* previous, packet_header_t* next, size_t subcycles ); + EXPORT bool IsNextPacket ( packet_header_t* previous, packet_header_t* next, size_t subcycles ); } diff --git a/common/JackPort.h b/common/JackPort.h index 21828d61..ad37be62 100644 --- a/common/JackPort.h +++ b/common/JackPort.h @@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "types.h" #include "JackConstants.h" +#include "JackExports.h" namespace Jack { @@ -34,7 +35,7 @@ namespace Jack \brief Base class for port. */ -class JackPort +class EXPORT JackPort { friend class JackGraphManager; diff --git a/common/JackPosixSemaphore.h b/common/JackPosixSemaphore.h index b3a66599..4110c308 100644 --- a/common/JackPosixSemaphore.h +++ b/common/JackPosixSemaphore.h @@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define __JackPosixSemaphore__ #include "JackSynchro.h" +#include "JackExports.h" #include <semaphore.h> #include <time.h> #include <stdio.h> @@ -33,7 +34,7 @@ namespace Jack \brief Inter process synchronization using POSIX semaphore. */ -class JackPosixSemaphore : public detail::JackSynchro +class EXPORT JackPosixSemaphore : public detail::JackSynchro { private: diff --git a/common/JackPosixThread.cpp b/common/JackPosixThread.cpp index a44f2b14..59584720 100644 --- a/common/JackPosixThread.cpp +++ b/common/JackPosixThread.cpp @@ -237,7 +237,7 @@ void JackPosixThread::Terminate() } // end of namespace -bool jack_tls_allocate_key(jack_tls_key *key_ptr) +EXPORT bool jack_tls_allocate_key(jack_tls_key *key_ptr) { int ret; @@ -251,7 +251,7 @@ bool jack_tls_allocate_key(jack_tls_key *key_ptr) return true; } -bool jack_tls_free_key(jack_tls_key key) +EXPORT bool jack_tls_free_key(jack_tls_key key) { int ret; @@ -265,7 +265,7 @@ bool jack_tls_free_key(jack_tls_key key) return true; } -bool jack_tls_set(jack_tls_key key, void *data_ptr) +EXPORT bool jack_tls_set(jack_tls_key key, void *data_ptr) { int ret; @@ -279,7 +279,7 @@ bool jack_tls_set(jack_tls_key key, void *data_ptr) return true; } -void *jack_tls_get(jack_tls_key key) +EXPORT void *jack_tls_get(jack_tls_key key) { return pthread_getspecific(key); } diff --git a/common/JackPosixThread.h b/common/JackPosixThread.h index 76fd8799..515f83bd 100644 --- a/common/JackPosixThread.h +++ b/common/JackPosixThread.h @@ -35,7 +35,7 @@ namespace Jack \brief The POSIX thread base class. */ -class JackPosixThread : public detail::JackThread +class EXPORT JackPosixThread : public detail::JackThread { protected: diff --git a/common/JackSocketClientChannel.h b/common/JackSocketClientChannel.h index feea18c7..90436abc 100644 --- a/common/JackSocketClientChannel.h +++ b/common/JackSocketClientChannel.h @@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackSocket.h" #include "JackPlatformThread.h" #include "JackRequest.h" +#include "JackError.h" namespace Jack { diff --git a/common/JackThread.h b/common/JackThread.h index f24d70e5..0fb5bc5d 100644 --- a/common/JackThread.h +++ b/common/JackThread.h @@ -21,6 +21,8 @@ #ifndef __JackThread__ #define __JackThread__ +#include "JackExports.h" + #ifdef WIN32 #include <windows.h> typedef HANDLE pthread_t; @@ -106,10 +108,10 @@ typedef DWORD jack_tls_key; typedef pthread_key_t jack_tls_key; #endif -bool jack_tls_allocate_key(jack_tls_key *key_ptr); -bool jack_tls_free_key(jack_tls_key key); +EXPORT bool jack_tls_allocate_key(jack_tls_key *key_ptr); +EXPORT bool jack_tls_free_key(jack_tls_key key); -bool jack_tls_set(jack_tls_key key, void *data_ptr); -void *jack_tls_get(jack_tls_key key); +EXPORT bool jack_tls_set(jack_tls_key key, void *data_ptr); +EXPORT void *jack_tls_get(jack_tls_key key); #endif diff --git a/common/JackThreadedDriver.h b/common/JackThreadedDriver.h index 5e1bd7db..d1136c92 100644 --- a/common/JackThreadedDriver.h +++ b/common/JackThreadedDriver.h @@ -31,7 +31,7 @@ namespace Jack \brief The base class for threaded drivers. Threaded drivers are used with blocking devices. */ -class JackThreadedDriver : public JackDriverClientInterface, public JackRunnableInterface +class EXPORT JackThreadedDriver : public JackDriverClientInterface, public JackRunnableInterface { protected: @@ -148,7 +148,7 @@ class JackThreadedDriver : public JackDriverClientInterface, public JackRunnable }; -class JackRestartThreadedDriver : public JackThreadedDriver +class EXPORT JackRestartThreadedDriver : public JackThreadedDriver { public: diff --git a/common/JackTime.h b/common/JackTime.h index e0709183..3ff3a6e8 100644 --- a/common/JackTime.h +++ b/common/JackTime.h @@ -35,7 +35,7 @@ extern "C" #include <mach/mach_time.h> #include <unistd.h> - extern double __jack_time_ratio; + extern EXPORT double __jack_time_ratio; static inline jack_time_t GetMicroSeconds(void) { return (jack_time_t) (mach_absolute_time () * __jack_time_ratio); diff --git a/common/jack/ringbuffer.h b/common/jack/ringbuffer.h index b91eeb17..cdb93c88 100644 --- a/common/jack/ringbuffer.h +++ b/common/jack/ringbuffer.h @@ -21,6 +21,8 @@ #ifndef _RINGBUFFER_H #define _RINGBUFFER_H +#include "JackExports.h" + #ifdef __cplusplus extern "C" { @@ -68,7 +70,7 @@ extern "C" * @return a pointer to a new jack_ringbuffer_t, if successful; NULL * otherwise. */ - jack_ringbuffer_t *jack_ringbuffer_create(size_t sz); + EXPORT jack_ringbuffer_t *jack_ringbuffer_create(size_t sz); /** * Frees the ringbuffer data structure allocated by an earlier call to @@ -76,7 +78,7 @@ extern "C" * * @param rb a pointer to the ringbuffer structure. */ - void jack_ringbuffer_free(jack_ringbuffer_t *rb); + EXPORT void jack_ringbuffer_free(jack_ringbuffer_t *rb); /** * Fill a data structure with a description of the current readable @@ -98,7 +100,7 @@ extern "C" * @param vec a pointer to a 2 element array of jack_ringbuffer_data_t. * */ - void jack_ringbuffer_get_read_vector(const jack_ringbuffer_t *rb, + EXPORT void jack_ringbuffer_get_read_vector(const jack_ringbuffer_t *rb, jack_ringbuffer_data_t *vec); /** @@ -120,7 +122,7 @@ extern "C" * @param rb a pointer to the ringbuffer structure. * @param vec a pointer to a 2 element array of jack_ringbuffer_data_t. */ - void jack_ringbuffer_get_write_vector(const jack_ringbuffer_t *rb, + EXPORT void jack_ringbuffer_get_write_vector(const jack_ringbuffer_t *rb, jack_ringbuffer_data_t *vec); /** @@ -133,7 +135,7 @@ extern "C" * * @return the number of bytes read, which may range from 0 to cnt. */ - size_t jack_ringbuffer_read(jack_ringbuffer_t *rb, char *dest, size_t cnt); + EXPORT size_t jack_ringbuffer_read(jack_ringbuffer_t *rb, char *dest, size_t cnt); /** * Read data from the ringbuffer. Opposed to jack_ringbuffer_read() @@ -150,7 +152,7 @@ extern "C" * * @return the number of bytes read, which may range from 0 to cnt. */ - size_t jack_ringbuffer_peek(jack_ringbuffer_t *rb, char *dest, size_t cnt); + EXPORT size_t jack_ringbuffer_peek(jack_ringbuffer_t *rb, char *dest, size_t cnt); /** * Advance the read pointer. @@ -163,7 +165,7 @@ extern "C" * @param rb a pointer to the ringbuffer structure. * @param cnt the number of bytes read. */ - void jack_ringbuffer_read_advance(jack_ringbuffer_t *rb, size_t cnt); + EXPORT void jack_ringbuffer_read_advance(jack_ringbuffer_t *rb, size_t cnt); /** * Return the number of bytes available for reading. @@ -172,7 +174,7 @@ extern "C" * * @return the number of bytes available to read. */ - size_t jack_ringbuffer_read_space(const jack_ringbuffer_t *rb); + EXPORT size_t jack_ringbuffer_read_space(const jack_ringbuffer_t *rb); /** * Lock a ringbuffer data block into memory. @@ -181,7 +183,7 @@ extern "C" * * @param rb a pointer to the ringbuffer structure. */ - int jack_ringbuffer_mlock(jack_ringbuffer_t *rb); + EXPORT int jack_ringbuffer_mlock(jack_ringbuffer_t *rb); /** * Reset the read and write pointers, making an empty buffer. @@ -190,7 +192,7 @@ extern "C" * * @param rb a pointer to the ringbuffer structure. */ - void jack_ringbuffer_reset(jack_ringbuffer_t *rb); + EXPORT void jack_ringbuffer_reset(jack_ringbuffer_t *rb); /** * Write data into the ringbuffer. @@ -201,7 +203,7 @@ extern "C" * * @return the number of bytes write, which may range from 0 to cnt */ - size_t jack_ringbuffer_write(jack_ringbuffer_t *rb, const char *src, + EXPORT size_t jack_ringbuffer_write(jack_ringbuffer_t *rb, const char *src, size_t cnt); /** @@ -215,7 +217,7 @@ extern "C" * @param rb a pointer to the ringbuffer structure. * @param cnt the number of bytes written. */ - void jack_ringbuffer_write_advance(jack_ringbuffer_t *rb, size_t cnt); + EXPORT void jack_ringbuffer_write_advance(jack_ringbuffer_t *rb, size_t cnt); /** * Return the number of bytes available for writing. @@ -224,8 +226,7 @@ extern "C" * * @return the amount of free space (in bytes) available for writing. */ - size_t jack_ringbuffer_write_space(const jack_ringbuffer_t *rb); - + EXPORT size_t jack_ringbuffer_write_space(const jack_ringbuffer_t *rb); #ifdef __cplusplus } diff --git a/common/ringbuffer.c b/common/ringbuffer.c index 67680b9c..4caf2042 100644 --- a/common/ringbuffer.c +++ b/common/ringbuffer.c @@ -34,7 +34,7 @@ /* Create a new ringbuffer to hold at least `sz' bytes of data. The actual buffer size is rounded up to the next power of two. */ -jack_ringbuffer_t * +EXPORT jack_ringbuffer_t * jack_ringbuffer_create (size_t sz) { int power_of_two; @@ -58,7 +58,7 @@ jack_ringbuffer_create (size_t sz) /* Free all data associated with the ringbuffer `rb'. */ -void +EXPORT void jack_ringbuffer_free (jack_ringbuffer_t * rb) { #ifdef USE_MLOCK @@ -72,7 +72,7 @@ jack_ringbuffer_free (jack_ringbuffer_t * rb) /* Lock the data block of `rb' using the system call 'mlock'. */ -int +EXPORT int jack_ringbuffer_mlock (jack_ringbuffer_t * rb) { #ifdef USE_MLOCK @@ -87,7 +87,7 @@ jack_ringbuffer_mlock (jack_ringbuffer_t * rb) /* Reset the read and write pointers to zero. This is not thread safe. */ -void +EXPORT void jack_ringbuffer_reset (jack_ringbuffer_t * rb) { rb->read_ptr = 0; @@ -98,7 +98,7 @@ jack_ringbuffer_reset (jack_ringbuffer_t * rb) number of bytes in front of the read pointer and behind the write pointer. */ -size_t +EXPORT size_t jack_ringbuffer_read_space (const jack_ringbuffer_t * rb) { size_t w, r; @@ -117,7 +117,7 @@ jack_ringbuffer_read_space (const jack_ringbuffer_t * rb) number of bytes in front of the write pointer and behind the read pointer. */ -size_t +EXPORT size_t jack_ringbuffer_write_space (const jack_ringbuffer_t * rb) { size_t w, r; @@ -137,7 +137,7 @@ jack_ringbuffer_write_space (const jack_ringbuffer_t * rb) /* The copying data reader. Copy at most `cnt' bytes from `rb' to `dest'. Returns the actual number of bytes copied. */ -size_t +EXPORT size_t jack_ringbuffer_read (jack_ringbuffer_t * rb, char *dest, size_t cnt) { size_t free_cnt; @@ -178,7 +178,7 @@ jack_ringbuffer_read (jack_ringbuffer_t * rb, char *dest, size_t cnt) `cnt' bytes from `rb' to `dest'. Returns the actual number of bytes copied. */ -size_t +EXPORT size_t jack_ringbuffer_peek (jack_ringbuffer_t * rb, char *dest, size_t cnt) { size_t free_cnt; @@ -221,7 +221,7 @@ jack_ringbuffer_peek (jack_ringbuffer_t * rb, char *dest, size_t cnt) /* The copying data writer. Copy at most `cnt' bytes to `rb' from `src'. Returns the actual number of bytes copied. */ -size_t +EXPORT size_t jack_ringbuffer_write (jack_ringbuffer_t * rb, const char *src, size_t cnt) { size_t free_cnt; @@ -260,7 +260,7 @@ jack_ringbuffer_write (jack_ringbuffer_t * rb, const char *src, size_t cnt) /* Advance the read pointer `cnt' places. */ -void +EXPORT void jack_ringbuffer_read_advance (jack_ringbuffer_t * rb, size_t cnt) { rb->read_ptr += cnt; @@ -269,7 +269,7 @@ jack_ringbuffer_read_advance (jack_ringbuffer_t * rb, size_t cnt) /* Advance the write pointer `cnt' places. */ -void +EXPORT void jack_ringbuffer_write_advance (jack_ringbuffer_t * rb, size_t cnt) { rb->write_ptr += cnt; @@ -281,7 +281,7 @@ jack_ringbuffer_write_advance (jack_ringbuffer_t * rb, size_t cnt) the readable data is in one segment the second segment has zero length. */ -void +EXPORT void jack_ringbuffer_get_read_vector (const jack_ringbuffer_t * rb, jack_ringbuffer_data_t * vec) { @@ -325,7 +325,7 @@ jack_ringbuffer_get_read_vector (const jack_ringbuffer_t * rb, the writeable data is in one segment the second segment has zero length. */ -void +EXPORT void jack_ringbuffer_get_write_vector (const jack_ringbuffer_t * rb, jack_ringbuffer_data_t * vec) { diff --git a/common/shm.c b/common/shm.c index 6742acfa..6ef81dd3 100644 --- a/common/shm.c +++ b/common/shm.c @@ -426,7 +426,7 @@ jack_release_shm_info (jack_shm_registry_index_t index) * ENOSPC if server registration limit reached * ENOMEM if unable to access shared memory registry */ -EXPORT int +int jack_register_server (const char *server_name, int new_registry) { int i, res = 0; @@ -496,7 +496,7 @@ jack_register_server (const char *server_name, int new_registry) } /* release server_name registration */ -EXPORT void +void jack_unregister_server (const char *server_name /* unused */) { int i; @@ -520,7 +520,7 @@ jack_unregister_server (const char *server_name /* unused */) } /* called for server startup and termination */ -EXPORT int +int jack_cleanup_shm () { int i; diff --git a/common/shm.h b/common/shm.h index f3bd1138..e2bac1cf 100644 --- a/common/shm.h +++ b/common/shm.h @@ -123,32 +123,30 @@ extern "C" jack_shm_info_t; /* utility functions used only within JACK */ - - extern void jack_shm_copy_from_registry (jack_shm_info_t*, + + void jack_shm_copy_from_registry (jack_shm_info_t*, jack_shm_registry_index_t); - extern void jack_shm_copy_to_registry (jack_shm_info_t*, + void jack_shm_copy_to_registry (jack_shm_info_t*, jack_shm_registry_index_t*); - extern void jack_release_shm_info (jack_shm_registry_index_t); - - extern char* jack_shm_addr (jack_shm_info_t* si); // steph - - /* here beginneth the API */ + void jack_release_shm_info (jack_shm_registry_index_t); + char* jack_shm_addr (jack_shm_info_t* si); // steph - EXPORT extern int jack_register_server (const char *server_name, int new_registry); - EXPORT extern void jack_unregister_server (const char *server_name); + // here begin the API + int jack_register_server (const char *server_name, int new_registry); + void jack_unregister_server (const char *server_name); - extern int jack_initialize_shm (const char *server_name); - extern int jack_initialize_shm_server (void); // steph - extern int jack_initialize_shm_client (void); // steph - EXPORT extern int jack_cleanup_shm (void); + int jack_initialize_shm (const char *server_name); + int jack_initialize_shm_server (void); // steph + int jack_initialize_shm_client (void); // steph + int jack_cleanup_shm (void); - extern int jack_shmalloc (const char *shm_name, jack_shmsize_t size, + int jack_shmalloc (const char *shm_name, jack_shmsize_t size, jack_shm_info_t* result); - extern void jack_release_shm (jack_shm_info_t*); - extern void jack_destroy_shm (jack_shm_info_t*); - extern int jack_attach_shm (jack_shm_info_t*); - extern int jack_attach_shm_read (jack_shm_info_t*); // steph - extern int jack_resize_shm (jack_shm_info_t*, jack_shmsize_t size); + void jack_release_shm (jack_shm_info_t*); + void jack_destroy_shm (jack_shm_info_t*); + int jack_attach_shm (jack_shm_info_t*); + int jack_attach_shm_read (jack_shm_info_t*); // steph + int jack_resize_shm (jack_shm_info_t*, jack_shmsize_t size); #ifdef __cplusplus } |