Aw

 view release on metacpan or  search on metacpan

xs/Aw.xs  view on Meta::CPAN

#include "messages.h"
#include <awlicense.h>

/* includes for Aw.xs */

#include <awxs.h>
#include <awxs.m>
#include <awxs.def>

#include "Av_CharPtrPtr.h"
#include "exttypes.h"
#include "HashToEvent.h"
#include "EventToHash.h"
#include "TypeDefToHash.h"
#include "Util.h"



BrokerBoolean BrokerCallbackFunc ( BrokerClient cbClient, BrokerEvent cbEvent, void * vcb );


/*  gErr is an internal err tracker, its value is always the last BrokerError
 *  created.  Since we can not throw exceptions and not all routines will
 *  return errors on failure (creation of a new object returns undef on failure
 *  and sometimes (clients) we want to know why) we on occasion need this.
 *
 *  We can check values of the last error thru calls to Aw::Error methods
 *  without any arguements:
 *
 *   if ( Aw::Error::getCode == AW_ERROR_CLIENT_EXISTS )
 *
 */
BrokerError gErr = AW_NO_ERROR;
char * gErrMsg   = NULL;
int gErrCode     = 0;
awaBool gWarn    = awaFalse;



/*  gHandle is an auxilarly AdapterHandle pointer to simple ALIASed code
 *  where both xsAdapter and xsAdapterUtil datatypes get used.  Using the
 *  "global handle" should reduce the code size overall as numerous local
 *  handle pointers need not be created.
 *
 */
awAdapterHandle * gHandle = NULL;


static double
constant(name, arg)
char *name;
int arg;
{
    errno = 0;
    switch (*name) {
    case 'A':
	if (strEQ(name, "AW_AUTO_SIZE"))
#ifdef AW_AUTO_SIZE
	    return AW_AUTO_SIZE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ACK_NONE"))
#ifdef AW_ACK_NONE
	    return AW_ACK_NONE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ACK_AUTOMATIC"))
#ifdef AW_ACK_AUTOMATIC
	    return AW_ACK_AUTOMATIC;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ACK_THROUGH"))
#ifdef AW_ACK_THROUGH
	    return AW_ACK_THROUGH;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ACK_SELECTIVE"))
#ifdef AW_ACK_SELECTIVE
	    return AW_ACK_SELECTIVE;
#else
	    goto not_there;
#endif
    switch (name[3]) {
    case 'C':
	if (strEQ(name, "AW_CONNECT_STATE_CONNECTED"))
#ifdef AW_CONNECT_STATE_CONNECTED
	    return AW_CONNECT_STATE_CONNECTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_CONNECT_STATE_DISCONNECTED"))
#ifdef AW_CONNECT_STATE_DISCONNECTED
	    return AW_CONNECT_STATE_DISCONNECTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_CONNECT_STATE_RECONNECTED"))
#ifdef AW_CONNECT_STATE_RECONNECTED
	    return AW_CONNECT_STATE_RECONNECTED;
#else
	    goto not_there;
#endif
	break;
    case 'E':
	if (strEQ(name, "AW_ENCRYPT_LEVEL_NO_ENCRYPTION"))
#ifdef AW_ENCRYPT_LEVEL_NO_ENCRYPTION
	    return AW_ENCRYPT_LEVEL_NO_ENCRYPTION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ENCRYPT_LEVEL_US_DOMESTIC"))
#ifdef AW_ENCRYPT_LEVEL_US_DOMESTIC
	    return AW_ENCRYPT_LEVEL_US_DOMESTIC;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ENCRYPT_LEVEL_US_EXPORT"))
#ifdef AW_ENCRYPT_LEVEL_US_EXPORT
	    return AW_ENCRYPT_LEVEL_US_EXPORT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ENTIRE_SEQUENCE"))
#ifdef AW_ENTIRE_SEQUENCE
	    return AW_ENTIRE_SEQUENCE;
#else
	    goto not_there;
#endif
    switch (name[9]) {
    case 'B':
	if (strEQ(name, "AW_ERROR_BAD_STATE"))
#ifdef AW_ERROR_BAD_STATE
	    return AW_ERROR_BAD_STATE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_BROKER_EXISTS"))
#ifdef AW_ERROR_BROKER_EXISTS
	    return AW_ERROR_BROKER_EXISTS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_BROKER_FAILURE"))
#ifdef AW_ERROR_BROKER_FAILURE
	    return AW_ERROR_BROKER_FAILURE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_BROKER_NOT_RUNNING"))
#ifdef AW_ERROR_BROKER_NOT_RUNNING
	    return AW_ERROR_BROKER_NOT_RUNNING;
#else
	    goto not_there;
#endif
	break;
    case 'C':
	if (strEQ(name, "AW_ERROR_CLIENT_CONTENTION"))
#ifdef AW_ERROR_CLIENT_CONTENTION
	    return AW_ERROR_CLIENT_CONTENTION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_CLIENT_EXISTS"))
#ifdef AW_ERROR_CLIENT_EXISTS
	    return AW_ERROR_CLIENT_EXISTS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_CLIENT_GROUP_EXISTS"))
#ifdef AW_ERROR_CLIENT_GROUP_EXISTS
	    return AW_ERROR_CLIENT_GROUP_EXISTS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_COMM_FAILURE"))
#ifdef AW_ERROR_COMM_FAILURE
	    return AW_ERROR_COMM_FAILURE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_CONNECTION_CLOSED"))
#ifdef AW_ERROR_CONNECTION_CLOSED
	    return AW_ERROR_CONNECTION_CLOSED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_CORRUPT"))
#ifdef AW_ERROR_CORRUPT
	    return AW_ERROR_CORRUPT;
#else
	    goto not_there;
#endif
	break;
    case 'D':
	if (strEQ(name, "AW_ERROR_DEPENDENCY"))
#ifdef AW_ERROR_DEPENDENCY
	    return AW_ERROR_DEPENDENCY;
#else
	    goto not_there;
#endif
	break;
    case 'F':
	if (strEQ(name, "AW_ERROR_FIELD_NOT_FOUND"))
#ifdef AW_ERROR_FIELD_NOT_FOUND
	    return AW_ERROR_FIELD_NOT_FOUND;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_FIELD_TYPE_MISMATCH"))
#ifdef AW_ERROR_FIELD_TYPE_MISMATCH
	    return AW_ERROR_FIELD_TYPE_MISMATCH;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_FILE_NOT_FOUND"))
#ifdef AW_ERROR_FILE_NOT_FOUND
	    return AW_ERROR_FILE_NOT_FOUND;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_FILTER_PARSE"))
#ifdef AW_ERROR_FILTER_PARSE
	    return AW_ERROR_FILTER_PARSE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_FILTER_RUNTIME"))
#ifdef AW_ERROR_FILTER_RUNTIME
	    return AW_ERROR_FILTER_RUNTIME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_FORMAT"))
#ifdef AW_ERROR_FORMAT
	    return AW_ERROR_FORMAT;
#else
	    goto not_there;
#endif
	break;
    case 'H':
	if (strEQ(name, "AW_ERROR_HOST_NOT_FOUND"))
#ifdef AW_ERROR_HOST_NOT_FOUND
	    return AW_ERROR_HOST_NOT_FOUND;
#else
	    goto not_there;
#endif
	break;
    case 'I':
	if (strEQ(name, "AW_ERROR_INCOMPATIBLE_VERSION"))
#ifdef AW_ERROR_INCOMPATIBLE_VERSION
	    return AW_ERROR_INCOMPATIBLE_VERSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INPUT_PARSE"))
#ifdef AW_ERROR_INPUT_PARSE
	    return AW_ERROR_INPUT_PARSE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INTERRUPTED"))
#ifdef AW_ERROR_INTERRUPTED
	    return AW_ERROR_INTERRUPTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_ACCESS_LIST"))
#ifdef AW_ERROR_INVALID_ACCESS_LIST
	    return AW_ERROR_INVALID_ACCESS_LIST;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_ACKNOWLEDGEMENT"))
#ifdef AW_ERROR_INVALID_ACKNOWLEDGEMENT
	    return AW_ERROR_INVALID_ACKNOWLEDGEMENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_BROKER_NAME"))
#ifdef AW_ERROR_INVALID_BROKER_NAME
	    return AW_ERROR_INVALID_BROKER_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_CLIENT"))
#ifdef AW_ERROR_INVALID_CLIENT
	    return AW_ERROR_INVALID_CLIENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_CLIENT_GROUP_NAME"))
#ifdef AW_ERROR_INVALID_CLIENT_GROUP_NAME
	    return AW_ERROR_INVALID_CLIENT_GROUP_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_CLIENT_ID"))
#ifdef AW_ERROR_INVALID_CLIENT_ID
	    return AW_ERROR_INVALID_CLIENT_ID;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_DESCRIPTOR"))
#ifdef AW_ERROR_INVALID_DESCRIPTOR
	    return AW_ERROR_INVALID_DESCRIPTOR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_EVENT"))
#ifdef AW_ERROR_INVALID_EVENT
	    return AW_ERROR_INVALID_EVENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_EVENT_TYPE_NAME"))
#ifdef AW_ERROR_INVALID_EVENT_TYPE_NAME
	    return AW_ERROR_INVALID_EVENT_TYPE_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_FIELD_NAME"))
#ifdef AW_ERROR_INVALID_FIELD_NAME
	    return AW_ERROR_INVALID_FIELD_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_FILTER"))
#ifdef AW_ERROR_INVALID_FILTER
	    return AW_ERROR_INVALID_FILTER;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_LICENSE"))
#ifdef AW_ERROR_INVALID_LICENSE
	    return AW_ERROR_INVALID_LICENSE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_LOG_CONFIG"))
#ifdef AW_ERROR_INVALID_LOG_CONFIG
	    return AW_ERROR_INVALID_LOG_CONFIG;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_NAME"))
#ifdef AW_ERROR_INVALID_NAME
	    return AW_ERROR_INVALID_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_PERMISSION"))
#ifdef AW_ERROR_INVALID_PERMISSION
	    return AW_ERROR_INVALID_PERMISSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_PLATFORM_KEY"))
#ifdef AW_ERROR_INVALID_PLATFORM_KEY
	    return AW_ERROR_INVALID_PLATFORM_KEY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_PORT"))
#ifdef AW_ERROR_INVALID_PORT
	    return AW_ERROR_INVALID_PORT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_SUBSCRIPTION"))
#ifdef AW_ERROR_INVALID_SUBSCRIPTION
	    return AW_ERROR_INVALID_SUBSCRIPTION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_TERRITORY_NAME"))
#ifdef AW_ERROR_INVALID_TERRITORY_NAME
	    return AW_ERROR_INVALID_TERRITORY_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_TYPE"))
#ifdef AW_ERROR_INVALID_TYPE
	    return AW_ERROR_INVALID_TYPE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_TYPECACHE"))
#ifdef AW_ERROR_INVALID_TYPECACHE
	    return AW_ERROR_INVALID_TYPECACHE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_INVALID_TYPEDEF"))
#ifdef AW_ERROR_INVALID_TYPEDEF
	    return AW_ERROR_INVALID_TYPEDEF;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_IN_TERRITORY"))
#ifdef AW_ERROR_IN_TERRITORY
	    return AW_ERROR_IN_TERRITORY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_NOT_IMPLEMENTED"))
#ifdef AW_ERROR_NOT_IMPLEMENTED
	    return AW_ERROR_NOT_IMPLEMENTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_NOT_IN_TERRITORY"))
#ifdef AW_ERROR_NOT_IN_TERRITORY
	    return AW_ERROR_NOT_IN_TERRITORY;
#else
	    goto not_there;
#endif
	break;
    case 'N':
	if (strEQ(name, "AW_ERROR_NO_MEMORY"))
#ifdef AW_ERROR_NO_MEMORY
	    return AW_ERROR_NO_MEMORY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_NO_PERMISSION"))
#ifdef AW_ERROR_NO_PERMISSION
	    return AW_ERROR_NO_PERMISSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_NULL_PARAM"))
#ifdef AW_ERROR_NULL_PARAM
	    return AW_ERROR_NULL_PARAM;
#else
	    goto not_there;
#endif
	break;
    case 'O':
	if (strEQ(name, "AW_ERROR_OUT_OF_RANGE"))
#ifdef AW_ERROR_OUT_OF_RANGE
	    return AW_ERROR_OUT_OF_RANGE;
#else
	    goto not_there;
#endif
	break;
    case 'P':
	if (strEQ(name, "AW_ERROR_PROTOCOL"))
#ifdef AW_ERROR_PROTOCOL
	    return AW_ERROR_PROTOCOL;
#else
	    goto not_there;
#endif
	break;
    case 'S':
	if (strEQ(name, "AW_ERROR_SECURITY"))
#ifdef AW_ERROR_SECURITY
	    return AW_ERROR_SECURITY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_SUBSCRIPTION_EXISTS"))
#ifdef AW_ERROR_SUBSCRIPTION_EXISTS
	    return AW_ERROR_SUBSCRIPTION_EXISTS;
#else
	    goto not_there;
#endif
	break;
    case 'T':
	if (strEQ(name, "AW_ERROR_TIMEOUT"))
#ifdef AW_ERROR_TIMEOUT
	    return AW_ERROR_TIMEOUT;
#else
	    goto not_there;
#endif
	break;
    case 'U':
	if (strEQ(name, "AW_ERROR_UNKNOWN"))
#ifdef AW_ERROR_UNKNOWN
	    return AW_ERROR_UNKNOWN;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_BROKER_NAME"))
#ifdef AW_ERROR_UNKNOWN_BROKER_NAME
	    return AW_ERROR_UNKNOWN_BROKER_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_CLIENT_GROUP"))
#ifdef AW_ERROR_UNKNOWN_CLIENT_GROUP
	    return AW_ERROR_UNKNOWN_CLIENT_GROUP;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_CLIENT_ID"))
#ifdef AW_ERROR_UNKNOWN_CLIENT_ID
	    return AW_ERROR_UNKNOWN_CLIENT_ID;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_EVENT_TYPE"))
#ifdef AW_ERROR_UNKNOWN_EVENT_TYPE
	    return AW_ERROR_UNKNOWN_EVENT_TYPE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_INFOSET"))
#ifdef AW_ERROR_UNKNOWN_INFOSET
	    return AW_ERROR_UNKNOWN_INFOSET;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_KEY"))
#ifdef AW_ERROR_UNKNOWN_KEY
	    return AW_ERROR_UNKNOWN_KEY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_NAME"))
#ifdef AW_ERROR_UNKNOWN_NAME
	    return AW_ERROR_UNKNOWN_NAME;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_SERVER"))
#ifdef AW_ERROR_UNKNOWN_SERVER
	    return AW_ERROR_UNKNOWN_SERVER;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_SESSION_ID"))
#ifdef AW_ERROR_UNKNOWN_SESSION_ID
	    return AW_ERROR_UNKNOWN_SESSION_ID;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_ERROR_UNKNOWN_TERRITORY"))
#ifdef AW_ERROR_UNKNOWN_TERRITORY
	    return AW_ERROR_UNKNOWN_TERRITORY;
#else
	    goto not_there;
#endif
	}
	break;
    case 'I':
	if (strEQ(name, "AW_INFINITE"))
#ifdef AW_INFINITE
	    return AW_INFINITE;
#else
	    goto not_there;
#endif
	break;
    case 'N':
	if (strEQ(name, "AW_NO_ERROR"))
#ifdef AW_NO_ERROR
	    return ((double)0x00000000);
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_NO_SHARE_LIMIT"))
#ifdef AW_NO_SHARE_LIMIT
	    return AW_NO_SHARE_LIMIT;
#else
	    goto not_there;
#endif
	break;
    case 'P':
	if (strEQ(name, "AW_PLATFORM_AIX"))
#ifdef AW_PLATFORM_AIX
	    return AW_PLATFORM_AIX;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_ANY"))
#ifdef AW_PLATFORM_ANY
	    return AW_PLATFORM_ANY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_DEC"))
#ifdef AW_PLATFORM_DEC
	    return AW_PLATFORM_DEC;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_HPUX"))
#ifdef AW_PLATFORM_HPUX
	    return AW_PLATFORM_HPUX;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_IRIX"))
#ifdef AW_PLATFORM_IRIX
	    return AW_PLATFORM_IRIX;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_SOLARIS"))
#ifdef AW_PLATFORM_SOLARIS
	    return AW_PLATFORM_SOLARIS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_PLATFORM_WINDOWS"))
#ifdef AW_PLATFORM_WINDOWS
	    return AW_PLATFORM_WINDOWS;
#else
	    goto not_there;
#endif
	break;
    case 'R':
	if (strEQ(name, "AW_REPLY_FLAG_CONTINUE"))
#ifdef AW_REPLY_FLAG_CONTINUE
	    return AW_REPLY_FLAG_CONTINUE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_REPLY_FLAG_END"))
#ifdef AW_REPLY_FLAG_END
	    return AW_REPLY_FLAG_END;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_REPLY_FLAG_START"))
#ifdef AW_REPLY_FLAG_START
	    return AW_REPLY_FLAG_START;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_REPLY_FLAG_START_AND_END"))
#ifdef AW_REPLY_FLAG_START_AND_END
	    return AW_REPLY_FLAG_START_AND_END;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_RETRIEVE_ALL"))
#ifdef AW_RETRIEVE_ALL
	    return AW_RETRIEVE_ALL;
#else
	    goto not_there;
#endif
	break;
    case 'S':
/*
	if (strEQ(name, "AW_SHARED_ORDER_NONE"))
#ifdef AW_SHARED_ORDER_NONE
	    return AW_SHARED_ORDER_NONE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_SHARED_ORDER_BY_PUBLISHER"))
#ifdef AW_SHARED_ORDER_BY_PUBLISHER
	    return AW_SHARED_ORDER_BY_PUBLISHER;
#else
	    goto not_there;
#endif
*/
	if (strEQ(name, "AW_STORAGE_GUARANTEED"))
#ifdef AW_STORAGE_GUARANTEED
	    return AW_STORAGE_GUARANTEED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_STORAGE_PERSISTENT"))
#ifdef AW_STORAGE_PERSISTENT
	    return AW_STORAGE_PERSISTENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_STORAGE_VOLATILE"))
#ifdef AW_STORAGE_VOLATILE
	    return AW_STORAGE_VOLATILE;
#else
	    goto not_there;
#endif
	break;
    case 'T':
	if (strEQ(name, "AW_TRANSACTION_LEVEL_ANY"))
#ifdef AW_TRANSACTION_LEVEL_ANY
	    return AW_TRANSACTION_LEVEL_ANY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_LEVEL_BASIC"))
#ifdef AW_TRANSACTION_LEVEL_BASIC
	    return AW_TRANSACTION_LEVEL_BASIC;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_LEVEL_CONVERSATIONAL"))
#ifdef AW_TRANSACTION_LEVEL_CONVERSATIONAL
	    return AW_TRANSACTION_LEVEL_CONVERSATIONAL;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_LEVEL_NONE"))
#ifdef AW_TRANSACTION_LEVEL_NONE
	    return AW_TRANSACTION_LEVEL_NONE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_LEVEL_PSEUDO"))
#ifdef AW_TRANSACTION_LEVEL_PSEUDO
	    return AW_TRANSACTION_LEVEL_PSEUDO;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_MODE_COMMIT"))
#ifdef AW_TRANSACTION_MODE_COMMIT
	    return AW_TRANSACTION_MODE_COMMIT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_MODE_ROLLBACK"))
#ifdef AW_TRANSACTION_MODE_ROLLBACK
	    return AW_TRANSACTION_MODE_ROLLBACK;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_TRANSACTION_MODE_SAVEPOINT"))
#ifdef AW_TRANSACTION_MODE_SAVEPOINT
	    return AW_TRANSACTION_MODE_SAVEPOINT;
#else
	    goto not_there;
#endif
	break;
    case 'U':
	break;
    case 'V':
	if (strEQ(name, "AW_VALIDATE_BAD_LICENSE"))
#ifdef AW_VALIDATE_BAD_LICENSE
	    return AW_VALIDATE_BAD_LICENSE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VALIDATE_BAD_PLATFORM"))
#ifdef AW_VALIDATE_BAD_PLATFORM
	    return AW_VALIDATE_BAD_PLATFORM;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VALIDATE_BAD_PRODUCT"))
#ifdef AW_VALIDATE_BAD_PRODUCT
	    return AW_VALIDATE_BAD_PRODUCT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VALIDATE_BAD_VERSION"))
#ifdef AW_VALIDATE_BAD_VERSION
	    return AW_VALIDATE_BAD_VERSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VALIDATE_EXPIRED"))
#ifdef AW_VALIDATE_EXPIRED
	    return AW_VALIDATE_EXPIRED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VALIDATE_OKAY"))
#ifdef AW_VALIDATE_OKAY
	    return AW_VALIDATE_OKAY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "AW_VERSION"))
#ifdef AW_VERSION
	    return AW_VERSION;
#else
	    goto not_there;
#endif
	break;
    }
	break;
    case 'B':
	break;
    case 'C':
	if (strEQ(name, "CAT_ADAPTER"))
#ifdef CAT_ADAPTER
	    return CAT_ADAPTER;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_APPLICATION"))
#ifdef CAT_APPLICATION
	    return CAT_APPLICATION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_BROKER"))
#ifdef CAT_BROKER
	    return CAT_BROKER;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_DEBUG"))
#ifdef CAT_DEBUG
	    return CAT_DEBUG;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_FILLER10"))
#ifdef CAT_FILLER10
	    return CAT_FILLER10;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_FILLER9"))
#ifdef CAT_FILLER9
	    return CAT_FILLER9;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_KERNEL"))
#ifdef CAT_KERNEL
	    return CAT_KERNEL;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_MONITOR"))
#ifdef CAT_MONITOR
	    return CAT_MONITOR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_SYSTEM"))
#ifdef CAT_SYSTEM
	    return CAT_SYSTEM;
#else
	    goto not_there;
#endif
	if (strEQ(name, "CAT_TIMEOUT"))
#ifdef CAT_TIMEOUT
	    return CAT_TIMEOUT;
#else
	    goto not_there;
#endif
	break;
    case 'D':
	if (strEQ(name, "DEFAULT_TRANSACTION_TIMEOUT"))
#ifdef DEFAULT_TRANSACTION_TIMEOUT
	    return DEFAULT_TRANSACTION_TIMEOUT;
#else
	    goto not_there;
#endif
	break;
    case 'E':
	if (strEQ(name, "ERR_ADAPTER_SUBS"))
#ifdef ERR_ADAPTER_SUBS
	    return ERR_ADAPTER_SUBS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_BAD_LICENSE"))
#ifdef ERR_BAD_LICENSE
	    return ERR_BAD_LICENSE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_CREATE_CLIENT"))
#ifdef ERR_CREATE_CLIENT
	    return ERR_CREATE_CLIENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_GET_ADAPTER_INFO"))
#ifdef ERR_GET_ADAPTER_INFO
	    return ERR_GET_ADAPTER_INFO;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_GET_EVENTS"))
#ifdef ERR_GET_EVENTS
	    return ERR_GET_EVENTS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_LICENSE_BAD_PLATFORM"))
#ifdef ERR_LICENSE_BAD_PLATFORM
	    return ERR_LICENSE_BAD_PLATFORM;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_LICENSE_BAD_PRODUCT"))
#ifdef ERR_LICENSE_BAD_PRODUCT
	    return ERR_LICENSE_BAD_PRODUCT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_LICENSE_BAD_VERSION"))
#ifdef ERR_LICENSE_BAD_VERSION
	    return ERR_LICENSE_BAD_VERSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_LICENSE_EXPIRED"))
#ifdef ERR_LICENSE_EXPIRED
	    return ERR_LICENSE_EXPIRED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_LICENSE_WILL_EXPIRE"))
#ifdef ERR_LICENSE_WILL_EXPIRE
	    return ERR_LICENSE_WILL_EXPIRE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_PANIC"))
#ifdef ERR_PANIC
	    return ERR_PANIC;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_PUBLISH_ADAPTER_ERROR"))
#ifdef ERR_PUBLISH_ADAPTER_ERROR
	    return ERR_PUBLISH_ADAPTER_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_PUBLISH_STATUS"))
#ifdef ERR_PUBLISH_STATUS
	    return ERR_PUBLISH_STATUS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_SSL_DESCRIPTOR"))
#ifdef ERR_SSL_DESCRIPTOR
	    return ERR_SSL_DESCRIPTOR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "ERR_SUBSCRIPTION_ERROR"))
#ifdef ERR_SUBSCRIPTION_ERROR
	    return ERR_SUBSCRIPTION_ERROR;
#else
	    goto not_there;
#endif
	break;
    case 'F':
	if (strEQ(name, "FIELD_TYPE_BOOLEAN"))
#ifdef FIELD_TYPE_BOOLEAN
	    return FIELD_TYPE_BOOLEAN;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_BYTE"))
#ifdef FIELD_TYPE_BYTE
	    return FIELD_TYPE_BYTE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_CHAR"))
#ifdef FIELD_TYPE_CHAR
	    return FIELD_TYPE_CHAR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_DATE"))
#ifdef FIELD_TYPE_DATE
	    return FIELD_TYPE_DATE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_DOUBLE"))
#ifdef FIELD_TYPE_DOUBLE
	    return FIELD_TYPE_DOUBLE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_EVENT"))
#ifdef FIELD_TYPE_EVENT
	    return FIELD_TYPE_EVENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_FLOAT"))
#ifdef FIELD_TYPE_FLOAT
	    return FIELD_TYPE_FLOAT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_INT"))
#ifdef FIELD_TYPE_INT
	    return FIELD_TYPE_INT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_LONG"))
#ifdef FIELD_TYPE_LONG
	    return FIELD_TYPE_LONG;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_SEQUENCE"))
#ifdef FIELD_TYPE_SEQUENCE
	    return FIELD_TYPE_SEQUENCE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_SHORT"))
#ifdef FIELD_TYPE_SHORT
	    return FIELD_TYPE_SHORT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_STRING"))
#ifdef FIELD_TYPE_STRING
	    return FIELD_TYPE_STRING;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_STRUCT"))
#ifdef FIELD_TYPE_STRUCT
	    return FIELD_TYPE_STRUCT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_UNICODE_CHAR"))
#ifdef FIELD_TYPE_UNICODE_CHAR
	    return FIELD_TYPE_UNICODE_CHAR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_UNICODE_STRING"))
#ifdef FIELD_TYPE_UNICODE_STRING
	    return FIELD_TYPE_UNICODE_STRING;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FIELD_TYPE_UNKNOWN"))
#ifdef FIELD_TYPE_UNKNOWN
	    return FIELD_TYPE_UNKNOWN;
#else
	    goto not_there;
#endif
	if (strEQ(name, "FORWARD_ERROR_REQUEST"))
#ifdef FORWARD_ERROR_REQUEST
	    return FORWARD_ERROR_REQUEST;
#else
	    goto not_there;
#endif
	break;
    case 'G':
	if (strEQ(name, "GENERIC_ALERT"))
#ifdef GENERIC_ALERT
	    return GENERIC_ALERT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "GENERIC_INFO"))
#ifdef GENERIC_INFO
	    return GENERIC_INFO;
#else
	    goto not_there;
#endif
	if (strEQ(name, "GENERIC_WARNING"))
#ifdef GENERIC_WARNING
	    return GENERIC_WARNING;
#else
	    goto not_there;
#endif
	break;
    case 'H':
	break;
    case 'I':
	if (strEQ(name, "INFO_ADD_NOTIFY_EVENT"))
#ifdef INFO_ADD_NOTIFY_EVENT
	    return INFO_ADD_NOTIFY_EVENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_ADD_REQUEST_EVENT"))
#ifdef INFO_ADD_REQUEST_EVENT
	    return INFO_ADD_REQUEST_EVENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_CLEANUP_EVENTTYPE"))
#ifdef INFO_CLEANUP_EVENTTYPE
	    return INFO_CLEANUP_EVENTTYPE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_FORWARD_REQUEST"))
#ifdef INFO_FORWARD_REQUEST
	    return INFO_FORWARD_REQUEST;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_PROCESS_PUBLICATION"))
#ifdef INFO_PROCESS_PUBLICATION
	    return INFO_PROCESS_PUBLICATION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_RECEIVED_REQUEST"))
#ifdef INFO_RECEIVED_REQUEST
	    return INFO_RECEIVED_REQUEST;
#else
	    goto not_there;
#endif
	if (strEQ(name, "INFO_TEST_BROKER"))
#ifdef INFO_TEST_BROKER
	    return INFO_TEST_BROKER;
#else
	    goto not_there;
#endif
	break;
    case 'J':
	break;
    case 'K':
	break;
    case 'L':
	break;
    case 'M':
	if (strEQ(name, "MSG_CREATE_EVENT"))
#ifdef MSG_CREATE_EVENT
	    return MSG_CREATE_EVENT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_DELIVER_ERROR"))
#ifdef MSG_DELIVER_ERROR
	    return MSG_DELIVER_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_DELIVER_REPLY_ERROR"))
#ifdef MSG_DELIVER_REPLY_ERROR
	    return MSG_DELIVER_REPLY_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_DELIVER_STATUS"))
#ifdef MSG_DELIVER_STATUS
	    return MSG_DELIVER_STATUS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FIELD_SET_ERROR"))
#ifdef MSG_FIELD_SET_ERROR
	    return MSG_FIELD_SET_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FIELD_SET_NOT_SUPPORTED"))
#ifdef MSG_FIELD_SET_NOT_SUPPORTED
	    return MSG_FIELD_SET_NOT_SUPPORTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FIELD_SET_NO_FORMAT"))
#ifdef MSG_FIELD_SET_NO_FORMAT
	    return MSG_FIELD_SET_NO_FORMAT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FORMAT_ERROR"))
#ifdef MSG_FORMAT_ERROR
	    return MSG_FORMAT_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FORWARD_SET_FIELDS"))
#ifdef MSG_FORWARD_SET_FIELDS
	    return MSG_FORWARD_SET_FIELDS;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_FORWARD_TO_SESSION"))
#ifdef MSG_FORWARD_TO_SESSION
	    return MSG_FORWARD_TO_SESSION;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_GET_EVENT_FIELD"))
#ifdef MSG_GET_EVENT_FIELD
	    return MSG_GET_EVENT_FIELD;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_GET_FAMILY_NAMES"))
#ifdef MSG_GET_FAMILY_NAMES
	    return MSG_GET_FAMILY_NAMES;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_INFOSET_ENTRY_ERROR"))
#ifdef MSG_INFOSET_ENTRY_ERROR
	    return MSG_INFOSET_ENTRY_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_INFOSET_ENTRY_MISSING"))
#ifdef MSG_INFOSET_ENTRY_MISSING
	    return MSG_INFOSET_ENTRY_MISSING;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NOTIFICATION_NOT_SUPPORTED"))
#ifdef MSG_NOTIFICATION_NOT_SUPPORTED
	    return MSG_NOTIFICATION_NOT_SUPPORTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_CAN_PUBLISH"))
#ifdef MSG_NO_CAN_PUBLISH
	    return MSG_NO_CAN_PUBLISH;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_CAN_PUBLISH_REPLY"))
#ifdef MSG_NO_CAN_PUBLISH_REPLY
	    return MSG_NO_CAN_PUBLISH_REPLY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_CAN_SUBSCRIBE"))
#ifdef MSG_NO_CAN_SUBSCRIBE
	    return MSG_NO_CAN_SUBSCRIBE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_CAN_SUBSCRIBE_REPLY"))
#ifdef MSG_NO_CAN_SUBSCRIBE_REPLY
	    return MSG_NO_CAN_SUBSCRIBE_REPLY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_REFRESH_FAMILY"))
#ifdef MSG_NO_REFRESH_FAMILY
	    return MSG_NO_REFRESH_FAMILY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_TRANS_ID"))
#ifdef MSG_NO_TRANS_ID
	    return MSG_NO_TRANS_ID;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_TRANS_MODE"))
#ifdef MSG_NO_TRANS_MODE
	    return MSG_NO_TRANS_MODE;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_TYPE_DEF"))
#ifdef MSG_NO_TYPE_DEF
	    return MSG_NO_TYPE_DEF;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_NO_TYPE_DEF_REPLY"))
#ifdef MSG_NO_TYPE_DEF_REPLY
	    return MSG_NO_TYPE_DEF_REPLY;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_PUBLISH_ERROR"))
#ifdef MSG_PUBLISH_ERROR
	    return MSG_PUBLISH_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_PUBLISH_REPLY_ERROR"))
#ifdef MSG_PUBLISH_REPLY_ERROR
	    return MSG_PUBLISH_REPLY_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_RETRIEVE_EVENT_TYPES"))
#ifdef MSG_RETRIEVE_EVENT_TYPES
	    return MSG_RETRIEVE_EVENT_TYPES;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_SET_EVENT_FIELD"))
#ifdef MSG_SET_EVENT_FIELD
	    return MSG_SET_EVENT_FIELD;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_SUBSCRIPTION_ERROR"))
#ifdef MSG_SUBSCRIPTION_ERROR
	    return MSG_SUBSCRIPTION_ERROR;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANSACTION_COMMIT_MISSING"))
#ifdef MSG_TRANSACTION_COMMIT_MISSING
	    return MSG_TRANSACTION_COMMIT_MISSING;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANSACTION_MODIFIED"))
#ifdef MSG_TRANSACTION_MODIFIED
	    return MSG_TRANSACTION_MODIFIED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANSACTION_NOACK"))
#ifdef MSG_TRANSACTION_NOACK
	    return MSG_TRANSACTION_NOACK;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANSACTION_TIMEOUT"))
#ifdef MSG_TRANSACTION_TIMEOUT
	    return MSG_TRANSACTION_TIMEOUT;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANS_LEVEL_MISMATCH"))
#ifdef MSG_TRANS_LEVEL_MISMATCH
	    return MSG_TRANS_LEVEL_MISMATCH;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANS_MODE_NOT_SUPPORTED"))
#ifdef MSG_TRANS_MODE_NOT_SUPPORTED
	    return MSG_TRANS_MODE_NOT_SUPPORTED;
#else
	    goto not_there;
#endif
	if (strEQ(name, "MSG_TRANS_NOT_ACTIVE"))
#ifdef MSG_TRANS_NOT_ACTIVE
	    return MSG_TRANS_NOT_ACTIVE;
#else
	    goto not_there;
#endif
	break;
    case 'N':
	break;
    case 'O':
	break;
    case 'P':
	if (strEQ(name, "PLACE_HOLDER1"))
#ifdef PLACE_HOLDER1
	    return PLACE_HOLDER1;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER10"))
#ifdef PLACE_HOLDER10
	    return PLACE_HOLDER10;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER11"))
#ifdef PLACE_HOLDER11
	    return PLACE_HOLDER11;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER12"))
#ifdef PLACE_HOLDER12
	    return PLACE_HOLDER12;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER13"))
#ifdef PLACE_HOLDER13
	    return PLACE_HOLDER13;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER14"))
#ifdef PLACE_HOLDER14
	    return PLACE_HOLDER14;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER15"))
#ifdef PLACE_HOLDER15
	    return PLACE_HOLDER15;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER16"))
#ifdef PLACE_HOLDER16
	    return PLACE_HOLDER16;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER2"))
#ifdef PLACE_HOLDER2
	    return PLACE_HOLDER2;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER3"))
#ifdef PLACE_HOLDER3
	    return PLACE_HOLDER3;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER34"))
#ifdef PLACE_HOLDER34
	    return PLACE_HOLDER34;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER35"))
#ifdef PLACE_HOLDER35
	    return PLACE_HOLDER35;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER36"))
#ifdef PLACE_HOLDER36
	    return PLACE_HOLDER36;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER37"))
#ifdef PLACE_HOLDER37
	    return PLACE_HOLDER37;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER38"))
#ifdef PLACE_HOLDER38
	    return PLACE_HOLDER38;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER4"))
#ifdef PLACE_HOLDER4
	    return PLACE_HOLDER4;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER5"))
#ifdef PLACE_HOLDER5
	    return PLACE_HOLDER5;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER6"))
#ifdef PLACE_HOLDER6
	    return PLACE_HOLDER6;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER7"))
#ifdef PLACE_HOLDER7
	    return PLACE_HOLDER7;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER8"))
#ifdef PLACE_HOLDER8
	    return PLACE_HOLDER8;
#else
	    goto not_there;
#endif
	if (strEQ(name, "PLACE_HOLDER9"))
#ifdef PLACE_HOLDER9
	    return PLACE_HOLDER9;
#else
	    goto not_there;
#endif
	break;
    case 'Q':
	break;
    case 'R':
	break;
    case 'S':
	break;
    case 'T':
	break;
    case 'U':
	break;
    case 'V':
	break;
    case 'W':
	break;
    case 'X':
	break;
    case 'Y':
	break;
    case 'Z':
	break;
   }
    errno = EINVAL;
    return 0;

not_there:
    errno = ENOENT;
    return 0;
}


char **
unshiftAndAvCharPtrPtr ( AV * strings, char * element )
{
char ** returnString;
int i = 0;
SV ** sv;
char * string;


	int count       = av_len ( strings ) + 2;
	returnString    = (char **)safemalloc ( count * sizeof( char * ) );

	returnString[0] = strdup ( element );

	for ( i=1; i<count; i++ ) {
		sv = av_fetch ( strings, i-1, 0 );  /* non mortal sv, so no leak */
		string = (char *)SvPV(*sv, PL_na);
		returnString[i] = strdup ( string );
	}

	return ( returnString );

}



#ifdef  NO_STRDUP
char *
strdup ( char * source )
{
char * target;

	target = (char *)safemalloc ( sizeof(char) * ( strlen(source) + 1 ) );

	strcpy ( target, source );

	return ( target );
}
#endif /* NO_STRDUP */



awAdapterProperties *
awxsHashToProperties ( HV * hv )
{
awAdapterProperties * props = awNewAdapterProperties ();
char *key;
HE *entry;
SV *sv;
int i, n;


	hv_iterinit ( hv );
	n = HvKEYS( hv );



( run in 1.362 second using v1.01-cache-2.11-cpan-40ba7b3775d )