Classes Files

mama/types.h

Classes

  Name
struct mamaVersion

Types

  Name
typedef int8_t mama_i8_t
typedef uint8_t mama_u8_t
typedef int16_t mama_i16_t
typedef uint16_t mama_u16_t
typedef int32_t mama_i32_t
typedef uint32_t mama_u32_t
typedef int64_t mama_i64_t
typedef uint64_t mama_u64_t
typedef int8_t mama_bool_t
typedef float mama_f32_t
typedef double mama_f64_t
typedef double mama_quantity_t
typedef uint16_t mama_fid_t
typedef size_t mama_size_t
typedef uint32_t mama_seqnum_t
typedef struct mamaBridgeImpl_ * mamaBridge
typedef struct mamaPayloadBridgeImpl_ * mamaPayloadBridge
typedef struct mamaPluginImpl_ * mamaPlugin
Container for holding a mama plugin object.
typedef void * mamaPluginInfo
Container for holding a mama plugin info.
typedef void * mamaDateTime
typedef void * mamaTimeZone
typedef void * mamaPrice
typedef struct mamaMsgImpl_ * mamaMsg
typedef struct mamaMsgFieldImpl_ * mamaMsgField
typedef struct mamaMsgIteratorImpl_ * mamaMsgIterator
typedef struct mamaTransportImpl_ * mamaTransport
typedef struct mamaSubscriptionImpl_ * mamaSubscription
typedef struct mamaManagedSubscriptionImpl_ * mamaManagedSubscription
typedef struct mamaSubscriptionManagerImpl_ * mamaSubscriptionManager
typedef struct mamaDictionaryImpl_ * mamaDictionary
typedef struct mamaPublisherImpl_ * mamaPublisher
typedef struct mamaDQPublisherImpl_ * mamaDQPublisher
typedef struct mamaDQPublisherManagerImpl_ * mamaDQPublisherManager
typedef struct mamaInboxImpl_ * mamaInbox
typedef struct mamaQueueImpl_ * mamaQueue
typedef struct mamaDispatcherImpl_ * mamaDispatcher
typedef struct mamaTimerImpl * mamaTimer
typedef struct mamaFieldDescriptorImpl_ * mamaFieldDescriptor
typedef struct mamaIoImpl * mamaIo
typedef struct mamaSymbolSourceFileImpl_ * mamaSymbolSourceFile
typedef struct mamaSymbolStoreImpl_ * mamaSymbolStore
typedef struct mamaMsgQualImpl_ * mamaMsgQual
typedef struct mamaSourceManagerImpl_ * mamaSourceManager
typedef struct mamaSourceImpl_ * mamaSource
typedef struct mamaSymbologyImpl_ * mamaSymbology
typedef struct mamaSymbologyManagerImpl_ * mamaSymbologyManager
typedef struct mamaSourceGroupCbHandleImpl_ * mamaSourceGroupCbHandle
typedef struct mamaConnectionImpl_ * mamaConnection
typedef struct mamaServerConnectionImpl_ * mamaServerConnection
typedef struct mamaConflationManager_ * mamaConflationManager
typedef struct mamaStatsLoggerImpl_ * mamaStatsLogger
typedef struct mamaStatImpl_ * mamaStat
typedef struct mamaStatsCollectorImpl_ * mamaStatsCollector
typedef struct mamaStatsGeneratorImpl_ * mamaStatsGenerator
typedef struct mamaMsgReplyImpl_ * mamaMsgReply
typedef struct mamaResourcePoolImpl_ * mamaResourcePool
typedef struct mamaQueueGroupImpl_ * mamaQueueGroup
typedef struct mamaRegexChannelFilter_ * mamaRegexChannelFilter
typedef struct mamaVersion mamaVersion

Defines

  Name
  MAMA_QUANTITY_EPSILON
  MAMA_BOOL_TRUE
  MAMA_BOOL_FALSE
  mama_isQuantityNone(q)
  mama_isQuantityEqual(lhs, rhs)

Types Documentation

typedef mama_i8_t

typedef int8_t mama_i8_t;

typedef mama_u8_t

typedef uint8_t mama_u8_t;

typedef mama_i16_t

typedef int16_t mama_i16_t;

typedef mama_u16_t

typedef uint16_t mama_u16_t;

typedef mama_i32_t

typedef int32_t mama_i32_t;

typedef mama_u32_t

typedef uint32_t mama_u32_t;

typedef mama_i64_t

typedef int64_t mama_i64_t;

typedef mama_u64_t

typedef uint64_t mama_u64_t;

typedef mama_bool_t

typedef int8_t mama_bool_t;

typedef mama_f32_t

typedef float mama_f32_t;

typedef mama_f64_t

typedef double mama_f64_t;

typedef mama_quantity_t

typedef double mama_quantity_t;

typedef mama_fid_t

typedef uint16_t mama_fid_t;

typedef mama_size_t

typedef size_t mama_size_t;

typedef mama_seqnum_t

typedef uint32_t mama_seqnum_t;

typedef mamaBridge

typedef struct mamaBridgeImpl_* mamaBridge;

typedef mamaPayloadBridge

typedef struct mamaPayloadBridgeImpl_* mamaPayloadBridge;

typedef mamaPlugin

typedef struct mamaPluginImpl_* mamaPlugin;

Container for holding a mama plugin object.

typedef mamaPluginInfo

typedef void* mamaPluginInfo;

Container for holding a mama plugin info.

typedef mamaDateTime

typedef void* mamaDateTime;

Flexible date/time format

typedef mamaTimeZone

typedef void* mamaTimeZone;

Time zone utility type

typedef mamaPrice

typedef void* mamaPrice;

Flexible price format (contains display hints as well as value)

typedef mamaMsg

typedef struct mamaMsgImpl_* mamaMsg;

Opaque definitions for all major MAMA data types. Must be allocated through corresponding functions from the API.

typedef mamaMsgField

typedef struct mamaMsgFieldImpl_* mamaMsgField;

typedef mamaMsgIterator

typedef struct mamaMsgIteratorImpl_* mamaMsgIterator;

typedef mamaTransport

typedef struct mamaTransportImpl_* mamaTransport;

typedef mamaSubscription

typedef struct mamaSubscriptionImpl_* mamaSubscription;

typedef mamaManagedSubscription

typedef struct mamaManagedSubscriptionImpl_* mamaManagedSubscription;

typedef mamaSubscriptionManager

typedef struct mamaSubscriptionManagerImpl_* mamaSubscriptionManager;

typedef mamaDictionary

typedef struct mamaDictionaryImpl_* mamaDictionary;

typedef mamaPublisher

typedef struct mamaPublisherImpl_* mamaPublisher;

typedef mamaDQPublisher

typedef struct mamaDQPublisherImpl_* mamaDQPublisher;

typedef mamaDQPublisherManager

typedef struct mamaDQPublisherManagerImpl_* mamaDQPublisherManager;

typedef mamaInbox

typedef struct mamaInboxImpl_* mamaInbox;

typedef mamaQueue

typedef struct mamaQueueImpl_* mamaQueue;

typedef mamaDispatcher

typedef struct mamaDispatcherImpl_* mamaDispatcher;

typedef mamaTimer

typedef struct mamaTimerImpl* mamaTimer;

typedef mamaFieldDescriptor

typedef struct mamaFieldDescriptorImpl_* mamaFieldDescriptor;

typedef mamaIo

typedef struct mamaIoImpl* mamaIo;

typedef mamaSymbolSourceFile

typedef struct mamaSymbolSourceFileImpl_* mamaSymbolSourceFile;

typedef mamaSymbolStore

typedef struct mamaSymbolStoreImpl_* mamaSymbolStore;

typedef mamaMsgQual

typedef struct mamaMsgQualImpl_* mamaMsgQual;

typedef mamaSourceManager

typedef struct mamaSourceManagerImpl_* mamaSourceManager;

typedef mamaSource

typedef struct mamaSourceImpl_* mamaSource;

typedef mamaSymbology

typedef struct mamaSymbologyImpl_* mamaSymbology;

typedef mamaSymbologyManager

typedef struct mamaSymbologyManagerImpl_* mamaSymbologyManager;

typedef mamaSourceGroupCbHandle

typedef struct mamaSourceGroupCbHandleImpl_* mamaSourceGroupCbHandle;

typedef mamaConnection

typedef struct mamaConnectionImpl_* mamaConnection;

typedef mamaServerConnection

typedef struct mamaServerConnectionImpl_* mamaServerConnection;

typedef mamaConflationManager

typedef struct mamaConflationManager_* mamaConflationManager;

typedef mamaStatsLogger

typedef struct mamaStatsLoggerImpl_* mamaStatsLogger;

typedef mamaStat

typedef struct mamaStatImpl_* mamaStat;

typedef mamaStatsCollector

typedef struct mamaStatsCollectorImpl_* mamaStatsCollector;

typedef mamaStatsGenerator

typedef struct mamaStatsGeneratorImpl_* mamaStatsGenerator;

typedef mamaMsgReply

typedef struct mamaMsgReplyImpl_* mamaMsgReply;

typedef mamaResourcePool

typedef struct mamaResourcePoolImpl_* mamaResourcePool;

typedef mamaQueueGroup

typedef struct mamaQueueGroupImpl_* mamaQueueGroup;

typedef mamaRegexChannelFilter

typedef struct mamaRegexChannelFilter_* mamaRegexChannelFilter;

typedef mamaVersion

typedef struct mamaVersion mamaVersion;

Macros Documentation

define MAMA_QUANTITY_EPSILON

#define MAMA_QUANTITY_EPSILON ((mama_f64_t)0.00000000001)

define MAMA_BOOL_TRUE

#define MAMA_BOOL_TRUE 1

define MAMA_BOOL_FALSE

#define MAMA_BOOL_FALSE 0

define mama_isQuantityNone

#define mama_isQuantityNone(
    q
)
        ((q) < MAMA_QUANTITY_EPSILON)

Macro to determine if a quantity is zero

define mama_isQuantityEqual

#define mama_isQuantityEqual(
    lhs,
    rhs
)
        ((lhs) < (rhs) ? (rhs) - (lhs) < MAMA_QUANTITY_EPSILON : \
                         (lhs) - (rhs) < MAMA_QUANTITY_EPSILON)

Macro to determine if a quantity equality

Source code

/* $Id$
 *
 * OpenMAMA: The open middleware agnostic messaging API
 * Copyright (C) 2011 NYSE Technologies, Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA
 */

#include "wombat/port.h"
#include <stdlib.h>
#include <string.h>

#ifndef MamaTypesH__
#define MamaTypesH__

#if defined(__cplusplus)
extern "C" {
#endif

typedef int8_t          mama_i8_t;
typedef uint8_t         mama_u8_t;
typedef int16_t         mama_i16_t;
typedef uint16_t        mama_u16_t;
typedef int32_t         mama_i32_t;
typedef uint32_t        mama_u32_t;
typedef int64_t         mama_i64_t;
typedef uint64_t        mama_u64_t;
typedef int8_t          mama_bool_t;
typedef float           mama_f32_t;
typedef double          mama_f64_t;
typedef double          mama_quantity_t;
typedef uint16_t        mama_fid_t;
typedef size_t          mama_size_t;
typedef uint32_t        mama_seqnum_t;

#define MAMA_QUANTITY_EPSILON   ((mama_f64_t)0.00000000001)

#define MAMA_BOOL_TRUE 1
#define MAMA_BOOL_FALSE 0

#define mama_isQuantityNone(q)                      \
        ((q) < MAMA_QUANTITY_EPSILON)

#define mama_isQuantityEqual(lhs, rhs)              \
        ((lhs) < (rhs) ? (rhs) - (lhs) < MAMA_QUANTITY_EPSILON : \
                         (lhs) - (rhs) < MAMA_QUANTITY_EPSILON)

/*
 * The bridge implementation required when creating many of the core
 * MAMA objects.
 */
typedef struct mamaBridgeImpl_* mamaBridge;

/*
 * The payload bridge implementation required for accessing messages
 */
typedef struct mamaPayloadBridgeImpl_* mamaPayloadBridge;

typedef struct mamaPluginImpl_*     mamaPlugin;

typedef void*       mamaPluginInfo;

typedef   void*         mamaDateTime;

typedef   void*         mamaTimeZone;

typedef   void*         mamaPrice;

typedef struct mamaMsgImpl_*                    mamaMsg;
typedef struct mamaMsgFieldImpl_*               mamaMsgField;
typedef struct mamaMsgIteratorImpl_*            mamaMsgIterator;
typedef struct mamaTransportImpl_*              mamaTransport;
typedef struct mamaSubscriptionImpl_*           mamaSubscription;
typedef struct mamaManagedSubscriptionImpl_*    mamaManagedSubscription;
typedef struct mamaSubscriptionManagerImpl_*    mamaSubscriptionManager;
typedef struct mamaDictionaryImpl_*             mamaDictionary;
typedef struct mamaPublisherImpl_*              mamaPublisher;
typedef struct mamaDQPublisherImpl_*            mamaDQPublisher;
typedef struct mamaDQPublisherManagerImpl_*     mamaDQPublisherManager;
typedef struct mamaInboxImpl_*                  mamaInbox;
typedef struct mamaQueueImpl_*                  mamaQueue;
typedef struct mamaDispatcherImpl_*             mamaDispatcher;
typedef struct mamaTimerImpl*                   mamaTimer;
typedef struct mamaFieldDescriptorImpl_*        mamaFieldDescriptor;
typedef struct mamaIoImpl*                      mamaIo;
typedef struct mamaSymbolSourceFileImpl_*       mamaSymbolSourceFile;
typedef struct mamaSymbolStoreImpl_*            mamaSymbolStore;
typedef struct mamaMsgQualImpl_*                mamaMsgQual;
typedef struct mamaSourceManagerImpl_*          mamaSourceManager;
typedef struct mamaSourceImpl_*                 mamaSource;
typedef struct mamaSymbologyImpl_*              mamaSymbology;
typedef struct mamaSymbologyManagerImpl_*       mamaSymbologyManager;
typedef struct mamaSourceGroupCbHandleImpl_*    mamaSourceGroupCbHandle;
typedef struct mamaConnectionImpl_*             mamaConnection;
typedef struct mamaServerConnectionImpl_*       mamaServerConnection;
typedef struct mamaConflationManager_*          mamaConflationManager;
typedef struct mamaStatsLoggerImpl_*            mamaStatsLogger;
typedef struct mamaStatImpl_*                   mamaStat;
typedef struct mamaStatsCollectorImpl_*         mamaStatsCollector;
typedef struct mamaStatsGeneratorImpl_*         mamaStatsGenerator;
typedef struct mamaMsgReplyImpl_*               mamaMsgReply;
typedef struct mamaResourcePoolImpl_*           mamaResourcePool;
typedef struct mamaQueueGroupImpl_*             mamaQueueGroup;
typedef struct mamaRegexChannelFilter_*         mamaRegexChannelFilter;

typedef struct mamaVersion {
    int     mMajor;
    int     mMinor;
    int     mRelease;
    char*   mExtra;
} mamaVersion;

#if defined(__cplusplus)
}
#endif

#endif /* MamaTypesH__ */

Updated on 2023-03-31 at 15:29:17 +0100