Topics

[PATCH 27/30] Changes for Windows


Michael Schonberg <mschonberg@...>
 

This needs to be split into several patches. The changes include correct
calling conventions for dynamic linking, and other minor issues that arose
building for WDF, and NYSE commercial componenets.

Signed-off-by: Mike Schonberg <mschonberg@...>
---
common/c_cpp/src/c/linux/port.h | 10 +++-
mama/c_cpp/src/c/mama/mama.h | 2 +-
mama/c_cpp/src/c/timezone.c | 4 +-
mama/c_cpp/src/examples/c/mamainboxc.c | 15 +++---
mama/c_cpp/src/examples/c/mamaio.c | 9 +--
mama/c_cpp/src/examples/c/mamalistenc.c | 56 ++++++++++----------
mama/c_cpp/src/examples/c/mamaproxyc.c | 46 ++++++++--------
mama/c_cpp/src/examples/c/mamapublisherc.c | 19 ++++---
mama/c_cpp/src/examples/c/mamasubscriberc.c | 20 ++++----
.../src/examples/c/mamasymbollistsubscriberc.c | 44 ++++++++--------
10 files changed, 115 insertions(+), 110 deletions(-)

diff --git a/common/c_cpp/src/c/linux/port.h b/common/c_cpp/src/c/linux/port.h
index 4e69c7c..83a7a82 100644
--- a/common/c_cpp/src/c/linux/port.h
+++ b/common/c_cpp/src/c/linux/port.h
@@ -166,7 +166,15 @@ int wsem_timedwait (wsem_t* sem, unsigned int ts);

/* timegm() and nanosleep not available on Windows */
#define wtimegm timegm
-#define wnanosleep nanosleep
+
+struct wtimespec
+{
+ time_t tv_sec;
+ long tv_nsec;
+};
+
+#define wnanosleep (ts, remain) nanosleep(((struct timespec)(ts)),(remain))
+

/* net work utility functions */
const char* getIpAddress (void);
diff --git a/mama/c_cpp/src/c/mama/mama.h b/mama/c_cpp/src/c/mama/mama.h
index 0bffcbe..c6cbe1c 100644
--- a/mama/c_cpp/src/c/mama/mama.h
+++ b/mama/c_cpp/src/c/mama/mama.h
@@ -366,7 +366,7 @@ extern "C"
* when mama_startBackground() exits normally in which case status will be
* MAMA_STATUS_OK.
*/
- typedef void (*mamaStartCB) (mama_status status);
+ typedef void (MAMACALLTYPE *mamaStartCB) (mama_status status);

/**
* Start Mama in the background. This method invokes mama_start() in a
diff --git a/mama/c_cpp/src/c/timezone.c b/mama/c_cpp/src/c/timezone.c
index e086758..a18a7ad 100644
--- a/mama/c_cpp/src/c/timezone.c
+++ b/mama/c_cpp/src/c/timezone.c
@@ -401,8 +401,8 @@ checkTzIter (wList list, void* element, void* closure)
static void* updateTimeZones (void* ptr)
{

- struct timespec delay;
- struct timespec initialDelay;
+ struct wtimespec delay;
+ struct wtimespec initialDelay;
wList timeZones;

initialDelay.tv_sec = 10;
diff --git a/mama/c_cpp/src/examples/c/mamainboxc.c b/mama/c_cpp/src/examples/c/mamainboxc.c
index e7da732..9f528b8 100644
--- a/mama/c_cpp/src/examples/c/mamainboxc.c
+++ b/mama/c_cpp/src/examples/c/mamainboxc.c
@@ -19,10 +19,9 @@
* 02110-1301 USA
*/

-
+#include "port.h"
#include "mama/mama.h"
#include "string.h"
-#include <unistd.h>

static mamaTransport gTransport = NULL;
static mamaInbox gInbox = NULL;
@@ -59,14 +58,14 @@ static void createInbox (void);
static void createPublisher (void);
static void sendRequest (void);

-static void
+static void MAMACALLTYPE
msgCB (mamaMsg msg, void* closure);

-static void
+static void MAMACALLTYPE
errorCB (mama_status status, void* closure);


-static void
+static void MAMACALLTYPE
timerCallback (mamaTimer timer, void *closure)
{
sendRequest ();
@@ -156,7 +155,7 @@ void initializeMama (void)
}

/* Used to destroy messages sent on the throttle */
-static void
+static void MAMACALLTYPE
sendCompleteCb (mamaPublisher publisher,
mamaMsg msg,
mama_status status,
@@ -230,13 +229,13 @@ static void createInbox (void)
}
}

-static void
+static void MAMACALLTYPE
msgCB (mamaMsg msg, void *closure)
{
printf ("Received reply: %s\n", mamaMsg_toString (msg));
}

-static void
+static void MAMACALLTYPE
errorCB (mama_status status, void *closure)
{
printf ("Error creating inbox: %s\n",
diff --git a/mama/c_cpp/src/examples/c/mamaio.c b/mama/c_cpp/src/examples/c/mamaio.c
index 4e0a9aa..4066ca9 100644
--- a/mama/c_cpp/src/examples/c/mamaio.c
+++ b/mama/c_cpp/src/examples/c/mamaio.c
@@ -30,11 +30,8 @@
* [-q] Quiet mode. Suppress output.
*---------------------------------------------------------------------------*/

+#include "port.h"
#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <unistd.h>
#include <errno.h>
#include <string.h>

@@ -55,7 +52,7 @@ static void initializeMama (void);
static void waitForConection (void);
static void createIOHandlers (void);

-static void
+static void MAMACALLTYPE
ioCallback (mamaIo io, mamaIoType ioType, void *closure);

int main (int argc, const char **argv)
@@ -152,7 +149,7 @@ static void waitForConection (void)
strlen ("Type \"quit\" to stop server.\n"), 0 );
}

-static void
+static void MAMACALLTYPE
ioCallback (mamaIo io, mamaIoType ioType, void *closure)
{
char buffer[1024];
diff --git a/mama/c_cpp/src/examples/c/mamalistenc.c b/mama/c_cpp/src/examples/c/mamalistenc.c
index 5c472db..b57ce87 100644
--- a/mama/c_cpp/src/examples/c/mamalistenc.c
+++ b/mama/c_cpp/src/examples/c/mamalistenc.c
@@ -58,13 +58,12 @@
*
*/

+#include "port.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
-#include <pthread.h>
-
-#include <unistd.h>

#include <mama/mama.h>
#include <mama/marketdata.h>
@@ -239,12 +238,12 @@ static void mamashutdown (void);
static void setQueueMonitors (mamaQueue queue, int queueIndex);
static FILE* gLogFile = NULL;

-static void
+static void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void* closure,
void* itemClosure);
-static void
+static void MAMACALLTYPE
subscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
@@ -252,13 +251,13 @@ subscriptionOnQuality (mamaSubscription subsc,
const void* platformInfo,
void* closure);

-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
const char* subject,
void* closure);
-static void
+static void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription,
void* closure);

@@ -273,38 +272,38 @@ static void displayAllFields (mamaMsg msg,
mamaSubscription subscription,
int indentLevel);

-static void
+static void MAMACALLTYPE
rateReporterCallback (mamaTimer timer,
void * closure);

-static void
+static void MAMACALLTYPE
timeoutCb (mamaDictionary dict,
void * closure);
-static void
+static void MAMACALLTYPE
errorCb (mamaDictionary dict,
const char * errMsg,
void * closure);
-static void
+static void MAMACALLTYPE
completeCb (mamaDictionary dict,
void * closure);
-static void
+static void MAMACALLTYPE
displayCb (const mamaMsg msg,
const mamaMsgField field,
void * closure);

/*Callback for event queue high watermark monitoring.*/
-static void
+static void MAMACALLTYPE
highWaterMarkCallback (mamaQueue queue,
size_t size,
void* closure);

/*Callback for event queue low watermark monitoring.*/
-static void
+static void MAMACALLTYPE
lowWaterMarkCallback (mamaQueue queue,
size_t size,
void* closure);

-static void
+static void MAMACALLTYPE
shutdownTimerCallback(mamaTimer timer, void *closure)
{
/* Stop dispatching messages. */
@@ -586,21 +585,21 @@ static void dumpDataDictionary (void)
}
}

-void
+void MAMACALLTYPE
timeoutCb (mamaDictionary dict, void *closure)
{
printf ("Timed out waiting for dictionary\n" );
mama_stop(gMamaBridge);
}

-void
+void MAMACALLTYPE
errorCb (mamaDictionary dict, const char *errMsg, void *closure)
{
fprintf (stderr, "Error getting dictionary: %s\n", errMsg );
mama_stop(gMamaBridge);
}

-void
+void MAMACALLTYPE
completeCb (mamaDictionary dict, void *closure)
{
gDictionaryComplete = 1;
@@ -750,7 +749,7 @@ static void mamashutdown (void)
mama_close ();
}

-static void
+static void MAMACALLTYPE
transportCb (mamaTransport tport,
mamaTransportEvent ev,
short cause,
@@ -763,7 +762,8 @@ transportCb (mamaTransport tport,
/*Steps required for initializing the API*/
void initializeMama (void)
{
- mama_status status = MAMA_STATUS_OK;
+ mama_status status = MAMA_STATUS_OK;
+ mamaPayloadBridge payBridge = NULL;

/*
mama_setApplicationName should be called before mama_open().
@@ -1234,7 +1234,7 @@ static void parseCommandLine (int argc, const char** argv)
where most of the processing within a MAMA based application will occur.
This callback is invoked for each message received by the API.
*/
-void
+void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void *closure,
@@ -1303,7 +1303,7 @@ subscriptionOnMsg (mamaSubscription subscription,
The onQuality callback is invoked when the quality of a subscription
changes state. E.g. From OK to STALE and vise versa.
*/
-void
+void MAMACALLTYPE
subscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
@@ -1676,7 +1676,7 @@ void displayField (mamaMsgField field, const mamaMsg msg, int indentLevel)
}/*End switch*/
}

-void
+void MAMACALLTYPE
displayCb (const mamaMsg msg,
const mamaMsgField field,
void* closure)
@@ -1752,7 +1752,7 @@ void displayAllFields (mamaMsg msg, mamaSubscription subscription, int
is invoked whenther the subscription request is sent from the throttle
queue.
*/
-void
+void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription, void* closure)
{
const char* source = NULL;
@@ -1773,7 +1773,7 @@ subscriptionOnCreate (mamaSubscription subscription, void* closure)
}
}

-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -1786,7 +1786,7 @@ subscriptionOnError (mamaSubscription subscription,
mamaStatus_stringForStatus (status));
}

-static void
+static void MAMACALLTYPE
rateReporterCallback (mamaTimer timer, void* closure)
{
int msgInterval = gNumMsg - gNumMsgLast;
@@ -1811,7 +1811,7 @@ void usage (int exitStatus)
exit (exitStatus);
}

-static void
+static void MAMACALLTYPE
highWaterMarkCallback (mamaQueue queue,
size_t size,
void* closure)
@@ -1837,7 +1837,7 @@ highWaterMarkCallback (mamaQueue queue,
queueName == NULL ? "" : queueName, (unsigned int)size);
}

-static void
+static void MAMACALLTYPE
lowWaterMarkCallback (mamaQueue queue,
size_t size,
void* closure)
diff --git a/mama/c_cpp/src/examples/c/mamaproxyc.c b/mama/c_cpp/src/examples/c/mamaproxyc.c
index 795d1f4..993e140 100644
--- a/mama/c_cpp/src/examples/c/mamaproxyc.c
+++ b/mama/c_cpp/src/examples/c/mamaproxyc.c
@@ -19,6 +19,7 @@
* 02110-1301 USA
*/

+#include "port.h"
#include "mama/mama.h"
#include "mama/log.h"
#include "mama/msgtype.h"
@@ -27,7 +28,6 @@
#include "mama/dqpublisher.h"
#include "mama/dqpublishermanager.h"
#include "string.h"
-#include "unistd.h"

static const char * gUsageString[] =
{
@@ -95,59 +95,59 @@ static MamaLogLevel gSubscLogLevel;
static mamaTimer gSyncTimer;
static void parseCommandLine (int argc, const char** argv);

-static void
+static void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void* closure,
void* itemClosure);
-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
const char* subject,
void* closure);
-static void
+static void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription,
void* closure);

-static void
+static void MAMACALLTYPE
syncCallback (mamaTimer timer,
void * closure);

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnCreateCb (mamaDQPublisherManager manager);

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnNewRequestCb(mamaDQPublisherManager manager,
const char* symbol,
short subType,
short msgType,
mamaMsg msg);

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnRequestCb(mamaDQPublisherManager manager,
mamaPublishTopic* info,
short subType,
short msgType,
mamaMsg msg);

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnRefreshCb(mamaDQPublisherManager manager,
mamaPublishTopic* info,
short subType,
short msgType,
mamaMsg msg);

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnErrorCb(mamaDQPublisherManager manager,
mama_status status,
const char* errortxt,
mamaMsg msg);

-static void
+static void MAMACALLTYPE
sendRecap (mamaQueue queue, void* closure);

-static void
+static void MAMACALLTYPE
startCB ( mama_status status );

static void createPublisher (void);
@@ -188,7 +188,7 @@ static void createPublisher ()
}
}

-void startCB ( mama_status status )
+void MAMACALLTYPE startCB ( mama_status status )
{}

static void start ()
@@ -271,7 +271,7 @@ static void initializeMama ()

}

-static void
+static void MAMACALLTYPE
syncCallback (mamaTimer timer, void* closure)
{
mamaTimer_destroy (timer);
@@ -299,13 +299,13 @@ int main (int argc, const char **argv)
return 0;
}

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnCreateCb (mamaDQPublisherManager manager)
{
printf ("Created publisher subscription.\n");
}

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnErrorCb (mamaDQPublisherManager manager,
mama_status status,
const char* errortxt,
@@ -326,7 +326,7 @@ subscriptionHandlerOnErrorCb (mamaDQPublisherManager manager,
}
}

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnNewRequestCb (mamaDQPublisherManager manager,
const char* symbol,
short subType,
@@ -378,7 +378,7 @@ subscriptionHandlerOnNewRequestCb (mamaDQPublisherManager manager,

}

-static void
+static void MAMACALLTYPE
sendRecap (mamaQueue queue, void* closure)
{
recapInfo* info = (recapInfo*) closure;
@@ -399,7 +399,7 @@ sendRecap (mamaQueue queue, void* closure)
free (info);
}

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnRequestCb (mamaDQPublisherManager manager,
mamaPublishTopic* publishTopicInfo,
short subType,
@@ -446,7 +446,7 @@ subscriptionHandlerOnRequestCb (mamaDQPublisherManager manager,
}
}

-static void
+static void MAMACALLTYPE
subscriptionHandlerOnRefreshCb (mamaDQPublisherManager publisherManager,
mamaPublishTopic* publishTopicInfo,
short subType,
@@ -607,13 +607,13 @@ usage (int exitStatus)
}


-void
+void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription, void* closure)
{

}

-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -626,7 +626,7 @@ subscriptionOnError (mamaSubscription subscription,
mamaStatus_stringForStatus (status));
}

-void
+void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void *closure,
diff --git a/mama/c_cpp/src/examples/c/mamapublisherc.c b/mama/c_cpp/src/examples/c/mamapublisherc.c
index 964de7c..0ed845c 100644
--- a/mama/c_cpp/src/examples/c/mamapublisherc.c
+++ b/mama/c_cpp/src/examples/c/mamapublisherc.c
@@ -19,7 +19,7 @@
* 02110-1301 USA
*/

-#include <unistd.h>
+#include "port.h"

#include "mama/mama.h"
#include "string.h"
@@ -62,18 +62,19 @@ NULL
static void parseCommandLine (int argc, const char **argv);
static void initializeMama (void);
static void createIntervalTimer (void);
-static void timerCallback (mamaTimer timer, void *closure);
static void createInboundSubscription (void);
-static void inboundCreateCb (mamaSubscription subscription, void *closure);

-static void
+static void MAMACALLTYPE timerCallback (mamaTimer timer, void *closure);
+static void MAMACALLTYPE inboundCreateCb (mamaSubscription subscription, void *closure);
+
+static void MAMACALLTYPE
inboundErrorCb (mamaSubscription subscription,
mama_status status,
void* platformError,
const char *subject,
void *closure);

-static void
+static void MAMACALLTYPE
inboundMsgCb (mamaSubscription subscription,
mamaMsg msg,
void *closure,
@@ -274,7 +275,7 @@ static void createInboundSubscription (void)
}
}

-static void
+static void MAMACALLTYPE
inboundCreateCb (mamaSubscription subscription, void *closure)
{
if (gQuietLevel < 2)
@@ -283,7 +284,7 @@ inboundCreateCb (mamaSubscription subscription, void *closure)
}
}

-static void
+static void MAMACALLTYPE
inboundErrorCb (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -295,7 +296,7 @@ inboundErrorCb (mamaSubscription subscription,
exit (status);
}

-static void
+static void MAMACALLTYPE
inboundMsgCb (mamaSubscription subscription,
mamaMsg msg,
void* closure,
@@ -335,7 +336,7 @@ static void createIntervalTimer (void)
}


-static void
+static void MAMACALLTYPE
timerCallback (mamaTimer timer, void *closure)
{
publishMessage (NULL);
diff --git a/mama/c_cpp/src/examples/c/mamasubscriberc.c b/mama/c_cpp/src/examples/c/mamasubscriberc.c
index f2745a1..635defc 100644
--- a/mama/c_cpp/src/examples/c/mamasubscriberc.c
+++ b/mama/c_cpp/src/examples/c/mamasubscriberc.c
@@ -62,29 +62,29 @@ static void createSubscriber (void);
static void createWildCardSubscriber (void);
static void displayMsg (mamaMsg msg);

-static void
+static void MAMACALLTYPE
displayCb (const mamaMsg msg,
const mamaMsgField field,
void * closure);

-static void
+static void MAMACALLTYPE
createCb (mamaSubscription subscription,
void * closure);

-static void
+static void MAMACALLTYPE
errorCb (mamaSubscription subscription,
mama_status status,
void* platformError,
const char* subject,
void* closure);

-static void
+static void MAMACALLTYPE
msgCb (mamaSubscription subscription,
mamaMsg msg,
void * closure,
void * itemClosure);

-static void
+static void MAMACALLTYPE
wildCardMsgCb (mamaSubscription subscription,
mamaMsg msg,
const char* topic,
@@ -220,7 +220,7 @@ static void createSubscriber (void)
}
}

-static void
+static void MAMACALLTYPE
createCb (mamaSubscription subscription, void *closure)
{
if (gQuietLevel < 2)
@@ -229,7 +229,7 @@ createCb (mamaSubscription subscription, void *closure)
}
}

-static void
+static void MAMACALLTYPE
errorCb (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -241,7 +241,7 @@ errorCb (mamaSubscription subscription,
exit (status);
}

-static void
+static void MAMACALLTYPE
msgCb (mamaSubscription subscription,
mamaMsg msg,
void* closure,
@@ -254,7 +254,7 @@ msgCb (mamaSubscription subscription,
displayMsg (msg);
}

-static void
+static void MAMACALLTYPE
wildCardMsgCb (mamaSubscription subscription,
mamaMsg msg,
const char* topic,
@@ -287,7 +287,7 @@ wildCardMsgCb (mamaSubscription subscription,
displayMsg (msg);
}

-void
+void MAMACALLTYPE
displayCb (const mamaMsg msg,
const mamaMsgField field,
void* closure)
diff --git a/mama/c_cpp/src/examples/c/mamasymbollistsubscriberc.c b/mama/c_cpp/src/examples/c/mamasymbollistsubscriberc.c
index 0160df7..a0422ca 100644
--- a/mama/c_cpp/src/examples/c/mamasymbollistsubscriberc.c
+++ b/mama/c_cpp/src/examples/c/mamasymbollistsubscriberc.c
@@ -82,13 +82,13 @@ static void parseCommandLine (int argc, const char* argv[]);
static void initializeMama (void);
static void buildDataDictionary (void);

-static void
+static void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void* closure,
void* itemClosure);

-static void
+static void MAMACALLTYPE
subscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
@@ -96,23 +96,23 @@ subscriptionOnQuality (mamaSubscription subsc,
const void* platformInfo,
void* closure);

-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
const char* subject,
void* closure);
-static void
+static void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription,
void* closure);

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void* closure,
void* itemClosure);

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
@@ -120,26 +120,26 @@ symbolListSubscriptionOnQuality (mamaSubscription subsc,
const void* platformInfo,
void* closure);

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
const char* subject,
void* closure);

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnCreate (mamaSubscription subscription,
void* closure);

-static void
+static void MAMACALLTYPE
timeoutCb (mamaDictionary dict,
void * closure);
-static void
+static void MAMACALLTYPE
errorCb (mamaDictionary dict,
const char * errMsg,
void * closure);

-static void
+static void MAMACALLTYPE
completeCb (mamaDictionary dict,
void * closure);

@@ -202,21 +202,21 @@ int main (int argc, const char **argv)
return 0;
}

-void
+void MAMACALLTYPE
timeoutCb (mamaDictionary dict, void *closure)
{
printf ("Timed out waiting for dictionary\n" );
mama_stop(gMamaBridge);
}

-void
+void MAMACALLTYPE
errorCb (mamaDictionary dict, const char *errMsg, void *closure)
{
fprintf (stderr, "Error getting dictionary: %s\n", errMsg );
mama_stop(gMamaBridge);
}

-void
+void MAMACALLTYPE
completeCb (mamaDictionary dict, void *closure)
{
gDictionaryComplete = 1;
@@ -537,7 +537,7 @@ static void subscribeToSymbols (void)
}


-void
+void MAMACALLTYPE
symbolListSubscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void *closure,
@@ -570,7 +570,7 @@ symbolListSubscriptionOnMsg (mamaSubscription subscription,
}
}

-void
+void MAMACALLTYPE
symbolListSubscriptionOnCreate (mamaSubscription subscription, void* closure)
{
const char* source = NULL;
@@ -582,7 +582,7 @@ symbolListSubscriptionOnCreate (mamaSubscription subscription, void* closure)
source);
}

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -594,7 +594,7 @@ symbolListSubscriptionOnError (mamaSubscription subscription,
mamaStatus_stringForStatus (status));
}

-static void
+static void MAMACALLTYPE
symbolListSubscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
@@ -607,7 +607,7 @@ symbolListSubscriptionOnQuality (mamaSubscription subsc,
platformInfo ? (char*)platformInfo: "");
}

-void
+void MAMACALLTYPE
subscriptionOnMsg (mamaSubscription subscription,
mamaMsg msg,
void *closure,
@@ -625,7 +625,7 @@ subscriptionOnMsg (mamaSubscription subscription,

}

-void
+void MAMACALLTYPE
subscriptionOnCreate (mamaSubscription subscription, void* closure)
{
const char* source = NULL;
@@ -639,7 +639,7 @@ subscriptionOnCreate (mamaSubscription subscription, void* closure)
source, symbol);
}

-static void
+static void MAMACALLTYPE
subscriptionOnError (mamaSubscription subscription,
mama_status status,
void* platformError,
@@ -652,7 +652,7 @@ subscriptionOnError (mamaSubscription subscription,
mamaStatus_stringForStatus (status));
}

-static void
+static void MAMACALLTYPE
subscriptionOnQuality (mamaSubscription subsc,
mamaQuality quality,
const char* symbol,
--
1.7.7.6