ARSperl
view release on metacpan or search on metacpan
StructDef.pl view on Meta::CPAN
%CURRENT_API_VERSION = (
'4.5.1' => '7',
'4.5.2' => '7',
'5.0.0' => '8',
'5.0.1' => '8',
'5.1.0' => '9',
'5.1.1' => '9',
'5.1.2' => '9',
'6.0.0' => '10',
'6.0.1' => '10',
'6.3.0' => '11',
'7.0.0' => '12',
'7.0.1' => '12',
'7.1.0' => '13',
'7.5.0' => '14',
'7.6.3' => '17',
'7.6.4' => '18',
);
$CTRL_PREFIX = '_';
$INVD_PREFIX = '#';
%CONVERT = (
ARFieldLimitList => {
_num => 'p->numItems',
_list => 'p->fieldLimitList',
_type => 'ARFieldLimitStruct',
},
ARFieldLimitStruct => {
# _typeparam => 1,
_switch => 'p->dataType',
# _map => 'DataTypeMap',
# _switch => 'p->dataType',
_map => 'dataType',
_case => {
AR_DATA_TYPE_INTEGER => {
_type => 'ARIntegerLimitsStruct',
_data => 'p->u.intLimits',
},
AR_DATA_TYPE_REAL => {
_type => 'ARRealLimitsStruct',
_data => 'p->u.realLimits',
},
AR_DATA_TYPE_CHAR => {
_type => 'ARCharLimitsStruct',
_data => 'p->u.charLimits',
},
AR_DATA_TYPE_DIARY => {
_type => 'ARDiaryLimitsStruct',
_data => 'p->u.diaryLimits',
},
AR_DATA_TYPE_ENUM => {
_min_version => '5.0.0',
_type => 'AREnumLimitsStruct',
_data => 'p->u.enumLimits',
},
AR_DATA_TYPE_DECIMAL => {
_type => 'ARDecimalLimitsStruct',
_data => 'p->u.decimalLimits',
},
AR_DATA_TYPE_ATTACH => {
_type => 'ARAttachLimitsStruct',
_data => 'p->u.attachLimits',
},
AR_DATA_TYPE_CURRENCY => {
_min_version => '5.1.0',
_type => 'ARCurrencyLimitsStruct',
_data => 'p->u.currencyLimits',
},
AR_DATA_TYPE_DATE => {
_min_version => '5.1.0',
_type => 'ARDateLimitsStruct',
_data => 'p->u.dateLimits',
},
AR_DATA_TYPE_TABLE => {
_type => 'ARTableLimitsStruct',
_data => 'p->u.tableLimits',
},
AR_DATA_TYPE_COLUMN => {
_type => 'ARColumnLimitsStruct',
_data => 'p->u.columnLimits',
},
AR_DATA_TYPE_VIEW => {
_min_version => '5.0.0',
_type => 'ARViewLimits',
_data => 'p->u.viewLimits',
},
AR_DATA_TYPE_DISPLAY => {
_min_version => '5.0.0',
_type => 'ARDisplayLimits',
_data => 'p->u.displayLimits',
},
},
},
ARIntegerLimitsStruct => {
min => {
_type => 'long',
_data => 'p->rangeLow',
},
max => {
_type => 'long',
_data => 'p->rangeHigh',
},
},
ARRealLimitsStruct => {
min => {
_type => 'double',
_data => 'p->rangeLow',
},
max => {
_type => 'double',
_data => 'p->rangeHigh',
},
precision => {
_type => 'int',
_data => 'p->precision',
},
},
ARCharLimitsStruct => {
maxLength => {
_type => 'unsigned int',
_data => 'p->maxLength',
},
menuStyle => {
_type => 'unsigned int',
_data => 'p->menuStyle',
_map => {
AR_MENU_APPEND => 'append',
AR_MENU_OVERWRITE => 'overwrite',
},
},
match => {
_type => 'unsigned int',
_data => 'p->qbeMatchOperation',
_map => {
AR_QBE_MATCH_ANYWHERE => 'anywhere',
AR_QBE_MATCH_LEADING => 'leading',
AR_QBE_MATCH_EQUAL => 'equal',
},
},
charMenu => {
_type => 'ARNameType',
_data => 'p->charMenu',
},
pattern => {
_type => 'char*',
_data => 'p->pattern',
},
fullTextOptions => {
_type => 'unsigned int',
_data => 'p->fullTextOptions',
_map => {
AR_FULLTEXT_OPTIONS_NONE => 'none',
AR_FULLTEXT_OPTIONS_INDEXED => 'indexed',
},
},
lengthUnits => {
_min_version => '7.5.0',
_type => 'unsigned int',
_data => 'p->lengthUnits',
_map => {
AR_LENGTH_UNIT_BYTE => 'byte',
AR_LENGTH_UNIT_CHAR => 'char',
},
},
storageOptionForCLOB => {
_min_version => '7.5.0',
_type => 'unsigned int',
_data => 'p->storageOptionForCLOB',
_map => {
AR_STORE_OPT_DEF => 'default',
AR_STORE_OPT_INROW => 'inrow',
AR_STORE_OPT_OUTROW => 'outrow',
},
},
},
ARDiaryLimitsStruct => {
fullTextOptions => {
_type => 'unsigned int',
_data => 'p->fullTextOptions',
_map => {
AR_FULLTEXT_OPTIONS_NONE => 'none',
AR_FULLTEXT_OPTIONS_INDEXED => 'indexed',
},
},
},
AREnumLimitsStruct => {
_min_version => '5.0.0',
enumLimits => {
_switch => 'p->listStyle',
_case => {
AR_ENUM_STYLE_REGULAR => {
regularList => {
_type => 'ARNameList',
_data => 'p->u.regularList',
},
},
AR_ENUM_STYLE_CUSTOM => {
customList => {
_type => 'AREnumItemList',
_data => 'p->u.customList',
},
},
AR_ENUM_STYLE_QUERY => {
queryList => {
_type => 'AREnumQueryStruct',
_data => 'p->u.queryList',
},
},
},
},
},
ARAttachLimitsStruct => {
maxSize => {
_type => 'unsigned long',
_data => 'p->maxSize',
},
attachType => {
_type => 'unsigned int',
_data => 'p->attachType',
},
},
ARTableLimitsStruct => {
numColumns => {
_type => 'unsigned int',
_data => 'p->numColumns',
},
qualifier => {
_type => 'ARQualifierStruct',
_data => 'p->qualifier',
},
maxRetrieve => {
_type => 'unsigned int',
_data => 'p->maxRetrieve',
},
schema => {
_type => 'ARNameType',
_data => 'p->schema',
},
server => {
_type => 'ARServerNameType',
_data => 'p->server',
},
sampleSchema => {
_min_version => '6.0.0',
_type => 'ARNameType',
_data => 'p->sampleSchema',
},
sampleServer => {
_min_version => '6.0.0',
_type => 'ARServerNameType',
_data => 'p->sampleServer',
},
},
ARColumnLimitsStruct => {
parent => {
_type => 'ARInternalId',
_data => 'p->parent',
},
dataField => {
_type => 'ARInternalId',
_data => 'p->dataField',
},
dataSource => {
_type => 'unsigned int',
_data => 'p->dataSource',
},
colLength => {
_type => 'unsigned int',
_data => 'p->colLength',
},
},
ARDecimalLimitsStruct => {
rangeLow => {
_type => 'char*',
_data => 'p->rangeLow',
},
rangeHigh => {
_type => 'char*',
_data => 'p->rangeHigh',
},
precision => {
_type => 'int',
_data => 'p->precision',
},
},
ARViewLimits => {
_min_version => '5.0.0',
maxLength => {
_type => 'unsigned int',
_data => 'p->maxLength',
},
},
ARDisplayLimits => {
_min_version => '5.0.0',
maxLength => {
_type => 'unsigned int',
_data => 'p->maxLength',
},
lengthUnits => {
_min_version => '7.5.0',
_type => 'unsigned int',
_data => 'p->lengthUnits',
_map => {
AR_LENGTH_UNIT_BYTE => 'byte',
AR_LENGTH_UNIT_CHAR => 'char',
},
},
},
ARDateLimitsStruct => {
_min_version => '5.1.0',
minDate => {
_type => 'int',
_data => 'p->minDate',
},
maxDate => {
_type => 'int',
_data => 'p->maxDate',
},
},
ARCurrencyLimitsStruct => {
_min_version => '5.1.0',
rangeLow => {
_type => 'char*',
_data => 'p->rangeLow',
},
rangeHigh => {
_type => 'char*',
_data => 'p->rangeHigh',
},
precision => {
_type => 'int',
_data => 'p->precision',
},
functionalCurrencies => {
_type => 'ARCurrencyDetailList',
_data => 'p->functionalCurrencies',
},
allowableCurrencies => {
_type => 'ARCurrencyDetailList',
_data => 'p->allowableCurrencies',
},
},
ARNameList => {
_num => 'p->numItems',
_list => 'p->nameList',
_type => 'ARNameType',
},
ARCurrencyDetailList => {
_min_version => '5.1.0',
_num => 'p->numItems',
_list => 'p->currencyDetailList',
_type => 'ARCurrencyDetailStruct',
},
ARCurrencyDetailStruct => {
_min_version => '5.1.0',
currencyCode => {
_type => 'ARCurrencyCodeType',
_data => 'p->currencyCode',
},
precision => {
_type => 'int',
_data => 'p->precision',
},
},
AREnumItemList => {
_min_version => '5.0.0',
_num => 'p->numItems',
_list => 'p->enumItemList',
_type => 'AREnumItemStruct',
},
AREnumQueryStruct => {
_min_version => '5.0.0',
schema => {
_type => 'ARNameType',
_data => 'p->schema',
},
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
qualifier => {
_type => 'ARQualifierStruct',
_data => 'p->qualifier',
},
nameField => {
_type => 'ARInternalId',
_data => 'p->nameField',
},
numberField => {
_type => 'ARInternalId',
_data => 'p->numberField',
},
},
AREnumItemStruct => {
_min_version => '5.0.0',
itemName => {
_type => 'ARNameType',
_data => 'p->itemName',
},
itemNumber => {
_type => 'unsigned long',
_data => 'p->itemNumber',
},
},
ARInternalId => {
_typedef => 'unsigned long',
},
ARNameType => {
_typedef => 'char[AR_MAX_NAME_SIZE+1]',
},
ARServerNameType => {
_typedef => 'char[AR_MAX_SERVER_SIZE+1]',
},
ARCurrencyCodeType => {
_min_version => '5.1.0',
_typedef => 'char[AR_MAX_CURRENCY_CODE_SIZE+1]',
},
ARFieldMappingList => {
_num => 'p->numItems',
_list => 'p->mappingList',
_type => 'ARFieldMappingStruct',
},
ARFieldMappingStruct => {
_switch => 'p->fieldType',
# _default => 'AR_FIELD_REGULAR',
_map => [ 'fieldType', {
AR_FIELD_NONE => 0,
AR_FIELD_REGULAR => 1,
AR_FIELD_JOIN => 2,
AR_FIELD_VIEW => 3,
AR_FIELD_VENDOR => 4,
AR_FIELD_INHERITANCE => 5,
} ],
_case => {
AR_FIELD_NONE => {
_nodata => 1,
},
AR_FIELD_REGULAR => {
_nodata => 1,
},
AR_FIELD_JOIN => {
'join' => {
_type => 'ARJoinMappingStruct',
_data => 'p->u.join',
},
},
AR_FIELD_VIEW => {
view => {
_type => 'ARViewMappingStruct',
_data => 'p->u.view',
},
},
AR_FIELD_VENDOR => {
_min_version => '5.0.0',
vendor => {
_type => 'ARVendorMappingStruct',
_data => 'p->u.vendor',
},
},
AR_FIELD_INHERITANCE => {
_min_version => '6.0.0',
inheritance => {
_type => 'ARInheritanceMappingStruct',
_data => 'p->u.inheritance',
},
},
},
},
ARJoinMappingStruct => {
schemaIndex => {
_type => 'unsigned int',
_data => 'p->schemaIndex',
},
realId => {
_type => 'ARInternalId',
_data => 'p->realId',
},
},
ARViewMappingStruct => {
fieldName => {
_type => 'ARNameType',
_data => 'p->fieldName',
},
},
ARVendorMappingStruct => {
_min_version => '5.0.0',
fieldName => {
_type => 'ARNameType',
_data => 'p->fieldName',
},
},
ARInheritanceMappingStruct => {
_min_version => '6.0.0',
srcSchema => {
_type => 'ARNameType',
_data => 'p->srcSchema',
},
referenceMask => {
_type => 'unsigned int',
_data => 'p->referenceMask',
},
dataMappingId => {
_type => 'unsigned int',
_data => 'p->dataMappingId',
},
},
ARQualifierStruct => {
_switch => 'p->operation',
_map => [ 'oper', {
AR_COND_OP_AND => 'and',
AR_COND_OP_OR => 'or',
AR_COND_OP_NOT => 'not',
AR_COND_OP_REL_OP => 'rel_op',
AR_COND_OP_FROM_FIELD => 'external',
} ],
_case => {
AR_COND_OP_NONE => {
_default => 1,
},
AR_COND_OP_AND => {
left => {
_type => 'ARQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_OR => {
left => {
_type => 'ARQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_NOT => {
'not' => {
_type => 'ARQualifierStruct*',
_data => 'p->u.not',
},
},
AR_COND_OP_REL_OP => {
rel_op => {
_type => 'ARRelOpStruct*',
_data => 'p->u.relOp',
}
},
AR_COND_OP_FROM_FIELD => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
},
},
},
},
ARRelOpStruct => {
oper => {
_type => 'unsigned int',
_data => 'p->operation',
_map => {
AR_REL_OP_EQUAL => '==',
AR_REL_OP_GREATER => '>',
AR_REL_OP_GREATER_EQUAL => '>=',
AR_REL_OP_LESS => '<',
AR_REL_OP_LESS_EQUAL => '<=',
AR_REL_OP_NOT_EQUAL => '!=',
AR_REL_OP_LIKE => 'like',
AR_REL_OP_IN => 'in',
},
},
left => {
_type => 'ARFieldValueOrArithStruct',
_data => 'p->operandLeft',
},
right => {
_type => 'ARFieldValueOrArithStruct',
_data => 'p->operandRight',
},
},
ARFieldValueOrArithStruct => {
_switch => 'p->tag',
_case => {
AR_FIELD => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
},
},
AR_VALUE => {
value => {
_type => 'ARValueStruct',
_data => 'p->u.value',
},
},
AR_ARITHMETIC => {
arith => {
_type => 'ARArithOpStruct*',
_data => 'p->u.arithOp',
},
},
AR_STAT_HISTORY => {
statHistory => {
_type => 'ARStatHistoryValue',
_data => 'p->u.statHistory',
},
},
AR_VALUE_SET => {
valueSet => {
_type => 'ARValueList',
_data => 'p->u.valueSet',
},
},
AR_CURRENCY_FLD => {
_min_version => '5.1.0',
currencyField => {
_type => 'ARCurrencyPartStruct*',
_data => 'p->u.currencyField',
},
},
AR_FIELD_TRAN => {
TR_fieldId => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
},
},
AR_FIELD_DB => {
DB_fieldId => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
},
},
AR_LOCAL_VARIABLE => {
variable => {
_type => 'unsigned int',
_data => 'p->u.variable',
},
},
AR_QUERY => {
queryValue => {
_type => 'ARQueryValueStruct*',
_data => 'p->u.queryValue',
},
},
AR_FIELD_CURRENT => {
queryCurrent => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
},
},
},
},
#ARArithOpStruct => {
# oper => {
# _type => 'unsigned int',
# _data => 'p->operation',
# _map => {
# AR_ARITH_OP_ADD => '+',
# AR_ARITH_OP_SUBTRACT => '-',
# AR_ARITH_OP_MULTIPLY => '*',
# AR_ARITH_OP_DIVIDE => '/',
# AR_ARITH_OP_MODULO => '%',
# AR_ARITH_OP_NEGATE => '-',
# },
# },
# left => {
# _type => 'ARFieldValueOrArithStruct',
# _data => 'p->operandLeft',
# },
# right => {
# _type => 'ARFieldValueOrArithStruct',
# _data => 'p->operandRight',
# },
#},
ARStatHistoryValue => {
_header_only => 1,
enumVal => {
_type => 'unsigned long',
_data => 'p->enumVal',
},
userOrTime => {
_type => 'unsigned int',
_data => 'p->userOrTime',
},
},
ARQueryValueStruct => {
schema => {
_type => 'ARNameType',
_data => 'p->schema',
},
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
qualifier => {
_type => 'ARQualifierStruct*',
_data => 'p->qualifier',
},
valueField => {
_type => 'ARInternalId',
_data => 'p->valueField',
},
multi => {
_type => 'unsigned int',
_data => 'p->multiMatchCode',
_map => {
AR_QUERY_VALUE_MULTI_ERROR => 'error',
AR_QUERY_VALUE_MULTI_FIRST => 'first',
AR_QUERY_VALUE_MULTI_SET => 'set',
},
},
},
ARValueList => {
_num => 'p->numItems',
_list => 'p->valueList',
_type => 'ARValueStruct',
},
ARValueStruct => {
_typeparam => 1,
_header_only => 1,
},
ARCompoundSchemaList => {
_num => 'p->numItems',
_list => 'p->compoundSchema',
_type => 'ARCompoundSchema',
},
ARCompoundSchema => {
_switch => 'p->schemaType',
_map => [ 'schemaType', {
AR_SCHEMA_REGULAR => 'regular',
AR_SCHEMA_JOIN => 'join',
AR_SCHEMA_VIEW => 'view',
AR_SCHEMA_DIALOG => 'dialog',
AR_SCHEMA_VENDOR => 'vendor',
} ],
_case => {
AR_SCHEMA_REGULAR => {
_nodata => 1,
},
AR_SCHEMA_DIALOG => {
_nodata => 1,
},
AR_SCHEMA_JOIN => {
'join' => {
_type => 'ARJoinSchema',
_data => 'p->u.join',
},
},
AR_SCHEMA_VIEW => {
view => {
_type => 'ARViewSchema',
_data => 'p->u.view',
},
},
AR_SCHEMA_VENDOR => {
_min_version => '5.0.0',
vendor => {
_type => 'ARVendorSchema',
_data => 'p->u.vendor',
},
},
},
},
ARJoinSchema => {
memberA => {
_type => 'ARNameType',
_data => 'p->memberA',
},
memberB => {
_type => 'ARNameType',
_data => 'p->memberB',
},
joinQual => {
_type => 'ARQualifierStruct',
_data => 'p->joinQual',
},
option => {
_type => 'unsigned int',
_data => 'p->option',
},
},
ARViewSchema => {
tableName => {
_type => 'char[AR_MAX_TABLENAME_SIZE+1]',
_data => 'p->tableName',
},
keyField => {
_type => 'ARNameType',
_data => 'p->keyField',
},
},
ARVendorSchema => {
_min_version => '5.0.0',
vendorName => {
_type => 'ARNameType',
_data => 'p->vendorName',
},
tableName => {
_type => 'char[AR_MAX_TABLENAME_SIZE+1]',
_data => 'p->tableName',
},
},
AREntryListFieldList => {
_num => 'p->numItems',
_list => 'p->fieldsList',
_type => 'AREntryListFieldStruct',
},
AREntryListFieldStruct => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->fieldId',
},
columnWidth => {
_type => 'unsigned int',
_data => 'p->columnWidth',
},
separator => {
_type => 'char[10]',
_data => 'p->separator',
},
},
ARSortList => {
_num => 'p->numItems',
_list => 'p->sortList',
_type => 'ARSortStruct',
},
ARSortStruct => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->fieldId',
},
sortOrder => {
_type => 'unsigned int',
_data => 'p->sortOrder',
},
},
ARIndexList => {
_num => 'p->numItems',
_list => 'p->indexList',
_type => 'ARIndexStruct',
},
ARIndexStruct => {
fieldIds => {
_num => 'p->numFields',
_list => 'p->fieldIds',
_type => 'ARInternalId[]',
},
unique => {
_type => 'ARBoolean',
_data => 'p->unique',
_default => 'FALSE',
},
# indexName => {
# _type => 'ARNameType',
# _data => 'p->indexName',
# },
# dataMappingUsageCnt => {
# _type => 'unsigned int',
# _data => 'p->dataMappingUsageCnt',
# },
},
ARBoolean => {
_typedef => 'unsigned char',
},
ARDayStruct => {
monthday => {
_type => 'long',
_data => 'p->monthday',
},
weekday => {
_type => 'long',
_data => 'p->weekday',
},
hourmask => {
_type => 'long',
_data => 'p->hourmask',
},
minute => {
_type => 'unsigned int',
_data => 'p->minute',
},
},
ARContainerOwnerObjList => {
_num => 'p->numItems',
_list => 'p->ownerObjList',
_type => 'ARContainerOwnerObj',
},
ARReferenceList => {
_num => 'p->numItems',
_list => 'p->referenceList',
_type => 'ARReferenceStruct',
},
ARContainerOwnerObj => {
type => {
_type => 'unsigned int',
_data => 'p->type',
_map => {
ARCONOWNER_NONE => 'none',
ARCONOWNER_ALL => 'all',
ARCONOWNER_SCHEMA => 'schema',
},
},
ownerName => {
_type => 'ARNameType',
_data => 'p->ownerName',
},
},
ARPushFieldsActionStruct => {
_min_version => '6.0.0',
pushFieldsList => {
_type => 'ARPushFieldsList',
_data => 'p->pushFieldsList',
},
sampleServer => {
_type => 'ARServerNameType',
_data => 'p->sampleServer',
},
sampleSchema => {
_type => 'ARNameType',
_data => 'p->sampleSchema',
},
},
AROpenDlgStruct => {
serverName => {
_type => 'ARServerNameType',
_data => 'p->serverName',
},
schemaName => {
_type => 'ARNameType',
_data => 'p->schemaName',
},
vuiLabel => {
_type => 'ARNameType',
_data => 'p->vuiLabel',
},
closeBox => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->closeBox',
},
inputValueFieldPairs => {
_type => 'ARFieldAssignList',
_data => 'p->inputValueFieldPairs',
},
outputValueFieldPairs => {
_type => 'ARFieldAssignList',
_data => 'p->outputValueFieldPairs',
},
windowMode => {
_max_version => '5.1.2',
_map => {
AR_ACTIVE_LINK_ACTION_OPEN_DLG => "open_dlg",
AR_ACTIVE_LINK_ACTION_OPEN_SEARCH => "open_search",
AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT => "open_submit",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_LST => "open_modify_lst",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DETAIL => "open_modify_detail",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_SPLIT => "open_modify_split",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_LST => "open_dsply_lst",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_DETAIL => "open_dsply_detail",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_SPLIT => "open_dsply_split",
AR_ACTIVE_LINK_ACTION_OPEN_REPORT => "open_report",
},
_type => 'int',
_data => 'p->windowMode',
},
'windowMode+' => {
_min_version => '6.0.0',
_map => {
AR_ACTIVE_LINK_ACTION_OPEN_DLG => "open_dlg",
AR_ACTIVE_LINK_ACTION_OPEN_SEARCH => "open_search",
AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT => "open_submit",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_LST => "open_modify_lst",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DETAIL => "open_modify_detail",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_SPLIT => "open_modify_split",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_LST => "open_dsply_lst",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_DETAIL => "open_dsply_detail",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_SPLIT => "open_dsply_split",
AR_ACTIVE_LINK_ACTION_OPEN_REPORT => "open_report",
AR_ACTIVE_LINK_ACTION_OPEN_MODIFY => "open_modify",
AR_ACTIVE_LINK_ACTION_OPEN_DSPLY => "open_dsply",
},
_type => 'int',
_data => 'p->windowMode',
},
targetLocation => {
_type => 'char *',
_data => 'p->targetLocation',
},
query => {
_type => 'ARQualifierStruct',
_data => 'p->query',
},
noMatchContinue => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->noMatchContinue',
},
suppressEmptyList => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->suppressEmptyLst',
},
message => {
_type => 'ARMessageStruct',
_data => 'p->msg',
},
pollinginterval => {
_type => 'ARULong32',
_data => 'p->pollinginterval',
},
reportString => {
_type => 'char *',
_data => 'p->reportString',
},
sortOrderList => {
_type => 'ARSortList',
_data => 'p->sortOrderList',
},
},
ARCloseWndStruct => {
closeAll => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->closeAll',
},
},
ARCommitChangesStruct => {
schemaName => {
_type => 'ARNameType',
_data => 'p->schemaName',
},
},
ARCallGuideStruct => {
serverName => {
_type => 'ARServerNameType',
_data => 'p->serverName',
},
guideName => {
_type => 'ARNameType',
_data => 'p->guideName',
},
guideMode => {
_type => 'int',
_data => 'p->guideMode',
},
loopTable => {
_type => 'ARInternalId',
_data => 'p->guideTableId',
},
inputValueFieldPairs => {
_min_version => '6.0.0',
_type => 'ARFieldAssignList',
_data => 'p->inputValueFieldPairs',
},
outputValueFieldPairs => {
_min_version => '6.0.0',
_type => 'ARFieldAssignList',
_data => 'p->outputValueFieldPairs',
},
sampleServer => {
_min_version => '6.0.0',
_type => 'ARServerNameType',
_data => 'p->sampleServer',
},
sampleGuide => {
_min_version => '6.0.0',
_type => 'ARNameType',
_data => 'p->sampleGuide',
},
},
ARExitGuideStruct => {
closeAll => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->closeAll',
},
},
ARGotoGuideLabelStruct => {
label => {
_type => 'char *',
_data => 'p->label',
},
},
ARGotoActionStruct => {
tag => {
_type => 'unsigned int',
_data => 'p->tag',
},
fieldIdOrValue => {
_type => 'ARULong32',
_data => 'p->fieldIdOrValue',
},
},
ARWaitStruct => {
continueButtonTitle => {
_type => 'char *',
_data => 'p->continueButtonTitle',
},
},
ARDDEStruct => {
serviceName => {
_type => 'char *',
_data => 'p->serviceName',
},
topic => {
_type => 'char *',
_data => 'p->topic',
},
action => {
_type => 'unsigned int',
_data => 'p->action',
},
pathToProgram => {
_type => 'char *',
_data => 'p->pathToProgram',
},
command => {
_type => 'char *',
_data => 'p->command',
},
item => {
_type => 'char *',
_data => 'p->item',
},
},
ARAutomationStruct => {
autoServerName => {
_type => 'char *',
_data => 'p->autoServerName',
},
clsId => {
_type => 'char *',
_data => 'p->clsId',
},
action => {
_type => 'char *',
_data => 'p->action',
},
isVisible => {
_map => {
FALSE => 'false',
TRUE => 'true',
},
_type => 'ARBoolean',
_data => 'p->isVisible',
},
methodList => {
_type => 'ARCOMMethodList',
_data => 'p->methodList',
},
},
ARCOMMethodList => {
_num => 'p->numItems',
_list => 'p->methodList',
_type => 'ARCOMMethodStruct',
},
ARCOMMethodStruct => {
methodName => {
_type => 'char *',
_data => 'p->methodName',
},
methodIId => {
_type => 'char *',
_data => 'p->methodIId',
},
methodType => {
_type => 'unsigned int',
_data => 'p->methodType',
},
methodValue => {
_type => 'ARCOMValueStruct',
_data => 'p->methodValue',
},
parameterList => {
_type => 'ARCOMMethodParmList',
_data => 'p->parameterList',
},
},
ARCOMValueStruct => {
valueIId => {
_type => 'char *',
_data => 'p->valueIId',
},
transId => {
_type => 'ARInternalId',
_data => 'p->transId',
},
valueType => {
_type => 'unsigned int',
_data => 'p->valueType',
},
_switch => 'p->valueType',
_map => {
AR_COM_PARM_NULL => 'null',
AR_COM_PARM_FIELDID => 'fieldid',
AR_COM_PARM_VALUE => 'value',
},
_case => {
AR_COM_PARM_NULL => {
_default => 1,
},
AR_COM_PARM_FIELDID => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->u.fieldId',
}
},
AR_COM_PARM_VALUE => {
value => {
_type => 'ARValueStruct',
_data => 'p->u.value',
},
},
},
},
ARCOMMethodParmList => {
_num => 'p->numItems',
_list => 'p->parameterList',
_type => 'ARCOMMethodParmStruct',
},
ARCOMMethodParmStruct => {
parmName => {
_type => 'char *',
_data => 'p->parmName',
},
parmType => {
_type => 'unsigned int',
_data => 'p->parmType',
},
parmValue => {
_type => 'ARCOMValueStruct',
_data => 'p->parmValue',
},
},
ARULong32 => {
_typedef => 'unsigned long',
},
ARLong32 => {
_typedef => 'long',
},
ARPushFieldsList => {
_num => 'p->numItems',
_list => 'p->pushFieldsList',
_type => 'ARPushFieldsStruct',
},
ARPushFieldsStruct => {
field => {
_type => 'ARAssignFieldStruct',
_data => 'p->field',
},
assign => {
_type => 'ARAssignStruct',
_data => 'p->assign',
},
},
ARCurrencyPartStruct => {
_min_version => '5.1.0',
fieldId => {
_type => 'ARInternalId',
_data => 'p->fieldId',
},
partTag => {
_type => 'unsigned int',
_data => 'p->partTag',
},
currencyCode => {
_type => 'ARCurrencyCodeType',
_data => 'p->currencyCode',
},
},
ARFilterActionList => {
_num => 'p->numItems',
_list => 'p->actionList',
_type => 'ARFilterActionStruct',
},
ARFilterActionStruct => {
_switch => 'p->action',
_map => {
AR_FILTER_ACTION_NONE => 'none',
AR_FILTER_ACTION_NOTIFY => 'notify',
AR_FILTER_ACTION_MESSAGE => 'message',
AR_FILTER_ACTION_LOG => 'log',
AR_FILTER_ACTION_FIELDS => 'assign_fields',
AR_FILTER_ACTION_PROCESS => 'process',
AR_FILTER_ACTION_FIELDP => 'fieldp',
AR_FILTER_ACTION_SQL => 'sqlCommand',
AR_FILTER_ACTION_GOTOACTION => 'gotoAction',
AR_FILTER_ACTION_CALLGUIDE => 'callGuide',
AR_FILTER_ACTION_EXITGUIDE => 'exitGuide',
AR_FILTER_ACTION_GOTOGUIDELABEL => 'gotoGuide',
},
_case => {
AR_FILTER_ACTION_NONE => {
_default => 1,
},
AR_FILTER_ACTION_NOTIFY => {
notify => {
_type => 'ARFilterActionNotify',
_data => 'p->u.notify',
},
},
AR_FILTER_ACTION_MESSAGE => {
message => {
_type => 'ARFilterStatusStruct',
_data => 'p->u.message',
},
},
AR_FILTER_ACTION_LOG => {
log => {
_type => 'char*',
_data => 'p->u.logFile',
},
},
AR_FILTER_ACTION_FIELDS => {
_min_version => '6.0.0',
assign_fields => {
_type => 'ARSetFieldsActionStruct',
_data => 'p->u.setFields',
},
},
'AR_FILTER_ACTION_FIELDS+' => {
_max_version => '5.1.2',
assign_fields => {
_type => 'ARFieldAssignList',
_data => 'p->u.fieldList',
},
},
AR_FILTER_ACTION_PROCESS => {
process => {
_type => 'char*',
_data => 'p->u.process',
},
},
AR_FILTER_ACTION_FIELDP => {
_min_version => '6.0.0',
fieldp => {
_type => 'ARPushFieldsActionStruct',
_data => 'p->u.pushFields',
},
},
'AR_FILTER_ACTION_FIELDP+' => {
_max_version => '5.1.2',
fieldp => {
_type => 'ARPushFieldsList',
_data => 'p->u.pushFieldsList',
},
},
AR_FILTER_ACTION_SQL => {
sqlCommand => {
_type => 'ARSQLStruct',
_data => 'p->u.sqlCommand',
},
},
AR_FILTER_ACTION_GOTOACTION => {
gotoAction => {
_type => 'ARGotoActionStruct',
_data => 'p->u.gotoAction',
},
},
AR_FILTER_ACTION_CALLGUIDE => {
callGuide => {
_type => 'ARCallGuideStruct',
_data => 'p->u.callGuide',
},
},
AR_FILTER_ACTION_EXITGUIDE => {
exitGuide => {
_type => 'ARExitGuideStruct',
_data => 'p->u.exitGuide',
},
},
AR_FILTER_ACTION_GOTOGUIDELABEL => {
gotoGuide => {
_type => 'char*',
_data => 'p->u.gotoGuide.label',
},
},
},
},
ARFilterActionNotify => {
user => {
_type => 'char *',
_data => 'p->user',
},
notifyText => {
_type => 'char *',
_data => 'p->notifyText',
},
notifyPriority => {
_type => 'unsigned int',
_data => 'p->notifyPriority',
},
notifyMechanism => {
_type => 'unsigned int',
_data => 'p->notifyMechanism',
},
notifyMechanismXRef => {
_type => 'ARInternalId',
_data => 'p->notifyMechanismXRef',
},
subjectText => {
_type => 'char *',
_data => 'p->subjectText',
},
fieldIdListType => {
_type => 'unsigned int',
_data => 'p->fieldIdListType',
},
fieldList => {
_type => 'ARInternalIdList',
_data => 'p->fieldIdList',
},
notifyBehavior => {
_min_version => '5.1.0',
_type => 'unsigned int',
_data => 'p->notifyBehavior',
},
notifyPermission => {
_min_version => '5.1.0',
_type => 'unsigned int',
_data => 'p->notifyPermission',
},
notifyAdvanced => {
_min_version => '5.1.0',
_type => 'ARFilterActionNotifyAdvanced*',
_data => 'p->notifyAdvanced',
_default => 'NULL',
},
},
ARSetFieldsActionStruct => {
_min_version => '6.0.0',
fieldList => {
_type => 'ARFieldAssignList',
_data => 'p->fieldList',
},
sampleServer => {
_type => 'ARServerNameType',
_data => 'p->sampleServer',
},
sampleSchema => {
_type => 'ARNameType',
_data => 'p->sampleSchema',
},
},
ARSQLStruct => {
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
command => {
_type => 'char *',
_data => 'p->command',
},
},
ARFilterActionNotifyAdvanced => {
_min_version => '5.1.0',
from => {
_type => 'char *',
_data => 'p->from',
},
replyTo => {
_type => 'char *',
_data => 'p->replyTo',
},
cc => {
_type => 'char *',
_data => 'p->cc',
},
bcc => {
_type => 'char *',
_data => 'p->bcc',
},
organization => {
_type => 'char *',
_data => 'p->organization',
},
mailboxName => {
_type => 'char *',
_data => 'p->mailboxName',
},
headerTemplate => {
_type => 'char *',
_data => 'p->headerTemplate',
},
footerTemplate => {
_type => 'char *',
_data => 'p->footerTemplate',
},
contentTemplate => {
_type => 'char *',
_data => 'p->contentTemplate',
},
# reserved1 => {
# _type => 'ARULong32',
# _data => 'p->reserved1',
# },
# reserved2 => {
# _type => 'ARULong32',
# _data => 'p->reserved2',
# },
# reserved3 => {
# _type => 'ARULong32',
# _data => 'p->reserved3',
# },
},
AREscalationTmStruct => {
_switch => 'p->escalationTmType',
_case => {
AR_ESCALATION_TYPE_INTERVAL => {
exitGuide => {
_type => 'ARLong32',
_data => 'p->u.interval',
},
},
AR_ESCALATION_TYPE_TIMEMARK => {
exitGuide => {
_type => 'ARDayStruct',
_data => 'p->u.date',
},
},
},
},
ARUnsignedIntList => {
_num => 'p->numItems',
_list => 'p->intList',
_type => 'unsigned int',
},
AREntryListFieldValueList => {
_num => 'p->numItems',
_list => 'p->entryList',
_type => 'AREntryListFieldValueStruct',
},
AREntryListFieldValueStruct => {
entryId => {
_type => 'AREntryIdList',
_data => 'p->entryId',
},
entryValues => {
_type => 'ARFieldValueList*',
_data => 'p->entryValues',
},
},
AREntryIdList => {
_num => 'p->numItems',
_list => 'p->entryIdList',
_type => 'AREntryIdType',
},
ARFieldValueList => {
_num => 'p->numItems',
_list => 'p->fieldValueList',
_type => 'ARFieldValueStruct',
},
ARFieldValueStruct => {
fieldId => {
_type => 'ARInternalId',
_data => 'p->fieldId',
},
value => {
_type => 'ARValueStruct',
_data => 'p->value',
},
},
AREntryIdType => {
_typedef => 'char[AR_MAX_ENTRYID_SIZE+1]',
},
ARAuditInfoStruct => {
_min_version => '7.0.0',
enable => {
_type => 'unsigned int',
_data => 'p->enable',
},
style => {
_type => 'unsigned int',
_data => 'p->style',
},
formName => {
_type => 'ARNameType',
_data => 'p->formName',
},
query => {
_type => 'ARQualifierStruct',
_data => 'p->query',
},
},
ARBulkEntryReturnList => {
_min_version => '6.3.0',
_num => 'p->numItems',
_list => 'p->entryReturnList',
_type => 'ARBulkEntryReturn',
},
ARBulkEntryReturn => {
_min_version => '6.3.0',
_switch => 'p->entryCallType',
_case => {
AR_BULK_ENTRY_CREATE => {
createEntryReturn => {
_type => 'AREntryReturn',
_data => 'p->u.createEntryReturn',
},
},
AR_BULK_ENTRY_SET => {
setEntryReturn => {
_type => 'ARStatusList',
_data => 'p->u.setEntryReturn',
},
},
AR_BULK_ENTRY_DELETE => {
deleteEntryReturn => {
_type => 'ARStatusList',
_data => 'p->u.deleteEntryReturn',
},
},
AR_BULK_ENTRY_MERGE => {
mergeEntryReturn => {
_type => 'AREntryReturn',
_data => 'p->u.mergeEntryReturn',
},
},
AR_BULK_ENTRY_XMLCREATE => {
xmlCreateEntryReturn => {
_type => 'ARXMLEntryReturn',
_data => 'p->u.xmlCreateEntryReturn',
},
},
AR_BULK_ENTRY_XMLSET => {
xmlSetEntryReturn => {
_type => 'ARXMLEntryReturn',
_data => 'p->u.xmlSetEntryReturn',
},
},
AR_BULK_ENTRY_XMLDELETE => {
xmlDeleteEntryReturn => {
_type => 'ARStatusList',
_data => 'p->u.xmlDeleteEntryReturn',
},
},
},
},
AREntryReturn => {
_min_version => '6.3.0',
entryId => {
_type => 'AREntryIdType',
_data => 'p->entryId',
},
status => {
_type => 'ARStatusList',
_data => 'p->status',
},
},
ARXMLEntryReturn => {
_min_version => '6.3.0',
outputDoc => {
_type => 'char *',
_data => 'p->outputDoc',
},
status => {
_type => 'ARStatusList',
_data => 'p->status',
},
},
ARStatusList => {
_num => 'p->numItems',
_list => 'p->statusList',
_type => 'ARStatusStruct',
},
ARCharMenuList => {
_num => 'p->numItems',
_list => 'p->charMenuList',
_type => 'ARCharMenuItemStruct',
},
ARCharMenuQueryStruct => {
schema => {
_type => 'ARNameType',
_data => 'p->schema',
},
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
labelField => {
_type => 'ARInternalId[AR_MAX_LEVELS_DYNAMIC_MENU]',
_data => 'p->labelField',
},
valueField => {
_type => 'ARInternalId',
_data => 'p->valueField',
},
sortOnLabel => {
_type => 'ARBoolean',
_data => 'p->sortOnLabel',
},
qualifier => {
_type => 'ARQualifierStruct',
_data => 'p->qualifier',
},
},
ARCharMenuFileStruct => {
fileLocation => {
_type => 'unsigned int',
_data => 'p->fileLocation',
},
filename => {
_type => 'char *',
_data => 'p->filename',
},
},
ARCharMenuSQLStruct => {
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
labelIndex => {
_type => 'int[AR_MAX_LEVELS_DYNAMIC_MENU]',
_data => 'p->labelIndex',
},
valueIndex => {
_type => 'int',
_data => 'p->valueIndex',
},
sqlCommand => {
_type => 'char *',
_data => 'p->sqlCommand',
},
},
ARCharMenuSSStruct => {
menuName => {
_type => 'ARNameType',
_data => 'p->menuName',
},
keywordList => {
_type => 'ARFieldValueList',
_data => 'p->keywordList',
},
parameterList => {
_type => 'ARFieldValueList',
_data => 'p->parameterList',
},
externList => {
_type => 'ARQualifierList',
_data => 'p->externList',
},
server => {
_type => 'char *',
_data => 'p->server',
},
schema => {
_type => 'char *',
_data => 'p->schema',
},
},
ARCharMenuDDStruct => {
server => {
_type => 'char[AR_MAX_SERVER_SIZE+1]',
_data => 'p->server',
},
nameType => {
_type => 'unsigned int',
_data => 'p->nameType',
},
valueFormat => {
_type => 'unsigned int',
_data => 'p->valueFormat',
},
structType => {
_type => 'unsigned int',
_data => 'p->structType',
},
_switch => 'p->structType',
_map => 'structType',
_case => {
AR_CHAR_MENU_DD_FORM => {
_type => 'ARCharMenuDDFormStruct',
_data => 'p->u.formDefn',
},
AR_CHAR_MENU_DD_FIELD => {
_type => 'ARCharMenuDDFieldStruct',
_data => 'p->u.fieldDefn',
},
},
},
ARCharMenuDDFormStruct => {
schemaType => {
_type => 'unsigned int',
_data => 'p->schemaType',
},
includeHidden => {
_type => 'ARBoolean',
_data => 'p->includeHidden',
_map => {
FALSE => 'false',
TRUE => 'true',
},
},
},
ARCharMenuDDFieldStruct => {
fieldType => {
_type => 'unsigned int',
_data => 'p->fieldType',
},
schema => {
_type => 'ARNameType',
_data => 'p->schema',
},
},
ARQualifierList => {
_num => 'p->numItems',
_list => 'p->qualifierList',
_type => 'ARQualifierStruct',
},
ARActiveLinkSvcActionStruct => {
_min_version => '7.1.0',
serverName => {
_type => 'ARServerNameType',
_data => 'p->serverName',
},
serviceSchema => {
_type => 'ARNameType',
_data => 'p->serviceSchema',
},
requestIdMap => {
_type => 'ARInternalId',
_data => 'p->requestIdMap',
},
inputFieldMapping => {
_type => 'ARFieldAssignList',
_data => 'p->inputFieldMapping',
},
outputFieldMapping => {
_type => 'ARFieldAssignList',
_data => 'p->outputFieldMapping',
},
sampleServer => {
_type => 'ARServerNameType',
_data => 'p->sampleServer',
},
sampleSchema => {
_type => 'ARNameType',
_data => 'p->sampleSchema',
},
},
ARLicenseDateStruct => {
month => {
_type => 'int',
_data => 'p->month',
},
day => {
_type => 'int',
_data => 'p->day',
},
year => {
_type => 'int',
_data => 'p->year',
},
},
ARLicenseValidStruct => {
numLicenses => {
_type => 'int',
_data => 'p->numLicenses',
},
isDemo => {
_type => 'ARBoolean',
_data => 'p->isDemo',
},
expireDate => {
_type => 'ARLicenseDateStruct',
_data => 'p->expireDate',
},
tokenList => {
_type => 'char *',
_data => 'p->tokenList',
},
},
ARMultiSchemaQueryFromList => {
_min_version => '7.5.0',
_num => 'p->numItems',
_list => 'p->listPtr',
_type => 'ARMultiSchemaQueryFromStruct',
},
ARMultiSchemaQueryFromStruct => {
_min_version => '7.5.0',
_switch => 'p->type',
queryFromAlias => {
_type => 'ARNameType',
_data => 'p->queryFromAlias',
},
joinType => {
_type => 'unsigned int',
_data => 'p->joinType',
},
joinQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->joinQual',
_default => 'NULL',
},
_switch => 'p->type',
_case => {
AR_MULTI_SCHEMA_SCHEMA_NAME => {
schemaName => {
_type => 'ARNameType',
_data => 'p->u.schemaName',
},
},
AR_MULTI_SCHEMA_NESTED_QUERY => {
nestedQuery => {
_type => 'ARMultiSchemaNestedQueryStruct*',
_data => 'p->u.nestedQuery',
},
},
AR_MULTI_SCHEMA_RECURSIVE_QUERY => {
recursiveQuery => {
_type => 'ARMultiSchemaRecursiveQueryStruct*',
_data => 'p->u.recursiveQuery',
},
},
},
},
ARMultiSchemaNestedQueryStruct => {
_min_version => '7.5.0',
queryFromList => {
_type => 'ARMultiSchemaQueryFromList',
_data => 'p->queryFromList',
},
getListFields => {
_type => 'ARMultiSchemaFieldIdList',
_data => 'p->getListFields',
},
qualifier => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->qualifier',
},
},
ARMultiSchemaRecursiveQueryStruct => {
_min_version => '7.5.0',
recursiveSchemaAlias => {
_type => 'ARNameType',
_data => 'p->recursiveSchemaAlias',
},
queryFromList => {
_type => 'ARMultiSchemaQueryFromList',
_data => 'p->queryFromList',
},
getListFields => {
_type => 'ARMultiSchemaFieldIdList',
_data => 'p->getListFields',
},
startQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->startQual',
},
recursionQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->recursionQual',
},
levelsToRetrieve => {
_type => 'int',
_data => 'p->levelsToRetrieve',
},
},
ARMultiSchemaQualifierStruct => {
_min_version => '7.5.0',
_switch => 'p->operation',
_map => [ 'oper', {
AR_COND_OP_AND => 'and',
AR_COND_OP_OR => 'or',
AR_COND_OP_NOT => 'not',
AR_COND_OP_REL_OP => 'rel_op',
AR_COND_OP_FROM_FIELD => 'external',
} ],
_case => {
AR_COND_OP_NONE => {
_default => 1,
},
AR_COND_OP_AND => {
left => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_OR => {
left => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_NOT => {
'not' => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->u.notQual',
},
},
AR_COND_OP_REL_OP => {
rel_op => {
_type => 'ARMultiSchemaRelOpStruct*',
_data => 'p->u.relOp',
},
},
AR_COND_OP_FROM_FIELD => {
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->u.fieldId',
},
},
},
},
ARMultiSchemaRelOpStruct => {
_min_version => '7.5.0',
oper => {
_type => 'unsigned int',
_data => 'p->operation',
_map => {
AR_REL_OP_EQUAL => '==',
AR_REL_OP_GREATER => '>',
AR_REL_OP_GREATER_EQUAL => '>=',
AR_REL_OP_LESS => '<',
AR_REL_OP_LESS_EQUAL => '<=',
AR_REL_OP_NOT_EQUAL => '!=',
AR_REL_OP_LIKE => 'like',
AR_REL_OP_IN => 'in',
},
},
left => {
_type => 'ARMultiSchemaFieldValueOrArithStruct',
_data => 'p->operandLeft',
},
right => {
_type => 'ARMultiSchemaFieldValueOrArithStruct',
_data => 'p->operandRight',
},
},
ARMultiSchemaFieldValueOrArithStruct => {
_min_version => '7.5.0',
_switch => 'p->tag',
_case => {
AR_FIELD => {
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->u.fieldId',
},
},
AR_VALUE => {
value => {
_type => 'ARValueStruct',
_data => 'p->u.value',
},
},
AR_ARITHMETIC => {
arith => {
_type => 'ARMultiSchemaArithOpStruct*',
_data => 'p->u.arithOp',
},
},
AR_STAT_HISTORY => {
_max_version => '7.5.0',
statHistory => {
_type => 'ARMultiSchemaStatHistoryValue',
_data => 'p->u.statHistory',
},
},
AR_STAT_HISTORY => {
_min_version => '7.6.3',
statHistory => {
_type => 'ARMultiSchemaFuncStatHistoryValue',
_data => 'p->u.statHistory',
},
},
AR_VALUE_SET => {
valueSet => {
_type => 'ARValueList',
_data => 'p->u.valueSet',
},
},
AR_CURRENCY_FLD => {
_min_version => '5.1.0',
_max_version => '7.5.0',
currencyField => {
_type => 'ARMultiSchemaCurrencyPartStruct*',
_data => 'p->u.currencyField',
},
},
AR_CURRENCY_FLD => {
_min_version => '7.6.3',
currencyField => {
_type => 'ARMultiSchemaFuncCurrencyPartStruct*',
_data => 'p->u.currencyField',
},
},
AR_VALUE_SET_QUERY => {
_max_version => '7.5.0',
queryValue => {
_type => 'ARMultiSchemaValueSetQueryStruct*',
_data => 'p->u.valueSetQuery',
},
},
AR_VALUE_SET_QUERY => {
_min_version => '7.6.3',
queryValue => {
_type => 'ARMultiSchemaValueSetFuncQueryStruct*',
_data => 'p->u.valueSetQuery',
},
},
},
},
#ARMultiSchemaArithOpStruct => {
# _min_version => '7.5.0',
# operation => {
# _type => 'unsigned int',
# _data => 'p->operation',
# },
# operandLeft => {
# _type => 'ARMultiSchemaFieldValueOrArithStruct',
# _data => 'p->operandLeft',
# },
# operandRight => {
# _type => 'ARMultiSchemaFieldValueOrArithStruct',
# _data => 'p->operandRight',
# },
#},
ARMultiSchemaCurrencyPartStruct => {
_min_version => '7.5.0',
_max_version => '7.5.0',
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->fieldId',
},
partTag => {
_type => 'unsigned int',
_data => 'p->partTag',
},
currencyCode => {
_type => 'ARCurrencyCodeType',
_data => 'p->currencyCode',
},
},
ARMultiSchemaValueSetQueryStruct => {
_min_version => '7.5.0',
queryFromList => {
_type => 'ARMultiSchemaQueryFromList',
_data => 'p->queryFromList',
},
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->fieldId',
},
qualifier => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->qualifier',
},
},
ARMultiSchemaStatHistoryValue => {
_min_version => '7.5.0',
queryFromAlias => {
_type => 'ARNameType',
_data => 'p->queryFromAlias',
},
enumVal => {
_type => 'unsigned long',
_data => 'p->enumVal',
},
userOrTime => {
_type => 'unsigned int',
_data => 'p->userOrTime',
},
},
ARMultiSchemaFieldIdList => {
_min_version => '7.5.0',
_num => 'p->numItems',
_list => 'p->listPtr',
_type => 'ARMultiSchemaFieldIdStruct',
},
ARMultiSchemaSortList => {
_min_version => '7.5.0',
_num => 'p->numItems',
_list => 'p->listPtr',
_type => 'ARMultiSchemaSortStruct',
},
ARMultiSchemaSortStruct => {
_min_version => '7.5.0',
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->fieldId',
},
sortOrder => {
_type => 'unsigned int',
_data => 'p->sortOrder',
},
},
ARMultiSchemaFuncStatHistoryValue => {
_min_version => '7.6.3',
queryFromAlias => {
_type => 'ARNameType',
_data => 'p->queryFromAlias',
},
enumVal => {
_type => 'unsigned long',
_data => 'p->enumVal',
},
userOrTime => {
_type => 'unsigned int',
_data => 'p->userOrTime',
},
funcId => {
_type => 'int',
_data => 'p->funcId',
},
},
ARMultiSchemaFuncCurrencyPartStruct => {
_min_version => '7.6.3',
fieldFunc => {
_type => 'ARMultiSchemaFieldFuncStruct',
_data => 'p->fieldFunc',
},
partTag => {
_type => 'unsigned int',
_data => 'p->partTag',
},
currencyCode => {
_type => 'ARCurrencyCodeType',
_data => 'p->currencyCode',
},
},
ARMultiSchemaValueSetFuncQueryStruct => {
_min_version => '7.6.3',
queryFromList => {
_type => 'ARMultiSchemaFuncQueryFromList',
_data => 'p->queryFromList',
},
fieldId => {
_type => 'ARMultiSchemaFieldIdStruct',
_data => 'p->fieldId',
},
qualifier => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->qualifier',
},
groupBy => {
_type => 'ARMultiSchemaFieldIdList',
_data => 'p->groupBy',
},
having => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->having',
},
},
ARMultiSchemaFuncQueryFromList => {
_min_version => '7.6.3',
_num => 'p->numItems',
_list => 'p->listPtr',
_type => 'ARMultiSchemaFuncQueryFromStruct',
},
ARMultiSchemaFuncQueryFromStruct => {
_min_version => '7.6.3',
queryFromAlias => {
_type => 'ARNameType',
_data => 'p->queryFromAlias',
},
joinType => {
_type => 'unsigned int',
_data => 'p->joinType',
},
joinQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->joinQual',
},
_switch => 'p->type',
_case => {
AR_MULTI_SCHEMA_SCHEMA_NAME => {
'name' => {
_type => 'ARNameType',
_data => 'p->u.schemaName',
},
},
AR_MULTI_SCHEMA_NESTED_QUERY => {
'extRef' => {
_type => 'ARMultiSchemaNestedFuncQueryStruct*',
_data => 'p->u.nestedQuery',
},
},
AR_MULTI_SCHEMA_RECURSIVE_QUERY => {
'extRef' => {
_type => 'ARMultiSchemaRecursiveFuncQueryStruct*',
_data => 'p->u.recursiveQuery',
},
},
},
},
ARMultiSchemaFuncQualifierStruct => {
_min_version => '7.6.3',
_switch => 'p->operation',
_map => [ 'oper', {
AR_COND_OP_AND => 'and',
AR_COND_OP_OR => 'or',
AR_COND_OP_NOT => 'not',
AR_COND_OP_REL_OP => 'rel_op',
AR_COND_OP_FROM_FIELD => 'external',
} ],
_case => {
AR_COND_OP_NONE => {
_default => 1,
},
AR_COND_OP_AND => {
left => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_OR => {
left => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->u.andor.operandLeft',
},
right => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->u.andor.operandRight',
},
},
AR_COND_OP_NOT => {
'not' => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->u.notQual',
},
},
AR_COND_OP_REL_OP => {
rel_op => {
_type => 'ARMultiSchemaFuncRelOpStruct*',
_data => 'p->u.relOp',
},
},
AR_COND_OP_FROM_FIELD => {
fieldFunc => {
_type => 'ARMultiSchemaFieldFuncStruct',
_data => 'p->u.fieldFunc',
},
},
},
},
ARMultiSchemaNestedFuncQueryStruct => {
_min_version => '7.6.3',
queryFromList => {
_type => 'ARMultiSchemaFuncQueryFromList',
_data => 'p->queryFromList',
},
getListFuncs => {
_type => 'ARMultiSchemaFieldFuncList',
_data => 'p->getListFuncs',
},
qualifier => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->qualifier',
},
groupBy => {
_type => 'ARMultiSchemaFieldIdList',
_data => 'p->groupBy',
},
having => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->having',
},
},
ARMultiSchemaFieldFuncList => {
_min_version => '7.6.3',
_num => 'p->numItems',
_list => 'p->listPtr',
_type => 'ARMultiSchemaFieldFuncStruct',
},
ARMultiSchemaFieldFuncStruct => {
_min_version => '7.6.3',
queryFromAlias => {
_type => 'ARNameType',
_data => 'p->queryFromAlias',
},
fieldId => {
_type => 'ARInternalId',
_data => 'p->fieldId',
},
funcId => {
_type => 'int',
_data => 'p->funcId',
},
},
ARMultiSchemaFuncRelOpStruct => {
_min_version => '7.6.3',
operation => {
_type => 'unsigned int',
_data => 'p->operation',
},
operandLeft => {
_type => 'ARMultiSchemaFieldFuncValueOrArithStruct',
_data => 'p->operandLeft',
},
operandRight => {
_type => 'ARMultiSchemaFieldFuncValueOrArithStruct',
_data => 'p->operandRight',
},
},
ARMultiSchemaRecursiveFuncQueryStruct => {
_min_version => '7.6.3',
recursiveSchemaAlias => {
_type => 'ARNameType',
_data => 'p->recursiveSchemaAlias',
},
queryFromList => {
_type => 'ARMultiSchemaFuncQueryFromList',
_data => 'p->queryFromList',
},
getListFuncs => {
_type => 'ARMultiSchemaFieldFuncList',
_data => 'p->getListFuncs',
},
startQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->startQual',
},
recursionQual => {
_type => 'ARMultiSchemaQualifierStruct*',
_data => 'p->recursionQual',
},
levelsToRetrieve => {
_type => 'int',
_data => 'p->levelsToRetrieve',
},
groupBy => {
_type => 'ARMultiSchemaFieldIdList',
_data => 'p->groupBy',
},
having => {
_type => 'ARMultiSchemaFuncQualifierStruct*',
_data => 'p->having',
},
},
ARMultiSchemaFieldFuncValueOrArithStruct => {
_min_version => '7.6.3',
_switch => 'p->tag',
_case => {
AR_FIELD => {
fieldFunc => {
_type => 'ARMultiSchemaFieldFuncStruct',
_data => 'p->u.fieldFunc',
},
},
AR_VALUE => {
value => {
_type => 'ARValueStruct',
_data => 'p->u.value',
},
},
AR_ARITHMETIC => {
arith => {
_type => 'ARMultiSchemaFuncArithOpStruct*',
_data => 'p->u.arithOp',
},
},
AR_STAT_HISTORY => {
statHistory => {
_type => 'ARMultiSchemaFuncStatHistoryValue',
_data => 'p->u.statHistory',
},
},
AR_VALUE_SET => {
valueSet => {
_type => 'ARValueList',
_data => 'p->u.valueSet',
},
},
AR_CURRENCY_FLD => {
_min_version => '5.1.0',
currencyField => {
_type => 'ARMultiSchemaFuncCurrencyPartStruct*',
_data => 'p->u.currencyField',
},
},
AR_VALUE_SET_QUERY => {
queryValue => {
_type => 'ARMultiSchemaValueSetFuncQueryStruct*',
_data => 'p->u.valueSetQuery',
},
},
},
},
ARMultiSchemaFuncArithOpStruct => {
_min_version => '7.6.3',
operation => {
_type => 'unsigned int',
_data => 'p->operation',
},
operandLeft => {
_type => 'ARMultiSchemaFieldFuncValueOrArithStruct',
_data => 'p->operandLeft',
},
operandRight => {
_type => 'ARMultiSchemaFieldFuncValueOrArithStruct',
_data => 'p->operandRight',
},
},
#ARMultiSchemaFieldIdStruct => {
# _min_version => '7.5.0',
# queryFromAlias => {
# _type => 'ARNameType',
# _data => 'p->queryFromAlias',
# },
# fieldId => {
# _type => 'ARInternalId',
# _data => 'p->fieldId',
# },
#},
#ARArchiveInfoStruct => {
# _min_version => '6.0.0',
# _switch => 'p->archiveType',
## _default => 'AR_FIELD_REGULAR',
# _map => [ 'archiveType', {
# AR_ARCHIVE_NONE => 0,
# AR_ARCHIVE_FORM => 1,
# AR_ARCHIVE_DELETE => 2,
# 'AR_ARCHIVE_FORM | AR_ARCHIVE_DELETE' => 3,
# AR_ARCHIVE_FILE_XML => 4,
# AR_ARCHIVE_FILE_ARX => 8,
# } ],
# _case => {
# AR_ARCHIVE_NONE => {
# _default => 1,
# },
# AR_ARCHIVE_FORM => {
# formName => {
# _type => 'ARNameType',
# _data => 'p->u.formName',
# },
# },
# AR_ARCHIVE_DELETE => {
# formName => {
# _type => 'ARNameType',
# _data => 'p->u.formName',
# },
# },
# 'AR_ARCHIVE_FORM | AR_ARCHIVE_DELETE' => {
# formName => {
# _type => 'ARNameType',
# _data => 'p->u.formName',
# },
# },
# AR_ARCHIVE_FILE_XML => {
# dirPath => {
# _type => 'char*',
# _data => 'p->u.dirPath',
# },
# },
# AR_ARCHIVE_FILE_ARX => {
# dirPath => {
# _type => 'char*',
# _data => 'p->u.dirPath',
# },
# },
# },
# archiveType => {
# _type => 'unsigned int',
# _data => 'p->archiveType',
# },
# enable => {
# _type => 'unsigned int',
# _data => 'p->enable',
# _map => {
# FALSE => 'false',
# TRUE => 'true',
# },
# },
## archiveTime => {
## _type => 'ARDayStruct',
## _data => 'p->archiveTime',
## },
#
# TmMonthDayMask => {
# _type => 'long',
# _data => 'p->archiveTime.monthday',
# },
# TmWeekDayMask => {
# _type => 'long',
# _data => 'p->archiveTime.weekday',
# },
# TmHourMask => {
# _type => 'long',
# _data => 'p->archiveTime.hourmask',
# },
# TmMinute => {
# _type => 'unsigned int',
# _data => 'p->archiveTime.minute',
# },
#
# query => {
# _type => 'ARQualifierStruct',
# _data => 'p->query',
# },
# archiveFrom => {
# _type => 'ARNameType',
# _data => 'p->archiveFrom',
# },
#},
#ARCharMenuItemStruct => {
# menuLabel => {
# _type => 'ARNameType',
# _data => 'p->menuLabel',
# },
# _switch => 'p->menuType',
# _map => {
# AR_MENU_TYPE_VALUE => 'menuValue',
# AR_MENU_TYPE_MENU => 'childMenu',
# },
# _case => {
# AR_MENU_TYPE_VALUE => {
# menuValue => {
# _type => 'char *',
# _data => 'p->u.menuValue',
# },
# },
# AR_MENU_TYPE_MENU => {
# childMenu => {
## _type => 'ARCharMenuStruct*',
## _data => 'p->u.childMenu',
# _type => 'ARCharMenuList',
# _data => 'p->u.childMenu->u.menuList',
# },
# },
# },
#},
#ARCharMenuStruct => {
# _switch => 'p->menuType',
# _map => 'CharMenuTypeMap',
# _case => {
# AR_CHAR_MENU_LIST => {
# _type => 'ARCharMenuList',
# _data => 'p->u.menuList',
# },
# AR_CHAR_MENU_QUERY => {
# _type => 'ARCharMenuQueryStruct',
# _data => 'p->u.menuQuery',
# },
# AR_CHAR_MENU_FILE => {
# _type => 'ARCharMenuFileStruct',
# _data => 'p->u.menuFile',
# },
# AR_CHAR_MENU_SQL => {
# _type => 'ARCharMenuSQLStruct',
# _data => 'p->u.menuSQL',
# },
# AR_CHAR_MENU_SS => {
# _type => 'ARCharMenuSSStruct',
# _data => 'p->u.menuSS',
# },
# AR_CHAR_MENU_DATA_DICTIONARY => {
# _type => 'ARCharMenuDDStruct',
# _data => 'p->u.menuDD',
# },
# },
#},
#ARInternalIdList => {
# _num => 'p->numItems',
# _list => 'p->internalIdList',
# _type => 'ARInternalId',
#},
#ARWorkflowConnectList => {
# _num => 'p->numItems',
# _list => 'p->workflowConnectList',
# _type => 'ARWorkflowConnectStruct',
#},
#ARWorkflowConnectStruct => {
# _switch => 'p->type',
# _case => {
# AR_WORKFLOW_CONN_NONE => {
# _default => 1,
# },
# AR_WORKFLOW_CONN_SCHEMA_LIST => {
# schemaList => {
# _type => 'ARNameList',
# _data => 'p->u.schemaList',
# },
# },
# },
#},
#ARReferenceStruct => {
# label => {
# _type => 'char *',
# _data => 'p->label',
# },
# description => {
# _type => 'char *',
# _data => 'p->description',
# },
# type => {
# _type => 'unsigned int',
# _data => 'p->type',
# },
#
# _switch => 'p->reference.dataType',
# _map => 'dataType',
# _case => {
# ARREF_DATA_ARSREF => {
# 'name' => {
# _type => 'ARNameType',
# _data => 'p->reference.u.name',
# },
# },
# ARREF_DATA_EXTREF => {
# 'extRef' => {
# _type => 'ARExtReferenceStruct',
# _data => 'p->reference.u.extRef',
# },
# },
# },
#},
#ARExtReferenceStruct => {
# permittedGroups => {
# _type => 'ARInternalIdList',
# _data => 'p->permittedGroups',
# },
# value => {
# _type => 'ARValueStruct',
# _data => 'p->value',
# },
#},
# Structures from "ardbc.h":
#ARVendorFieldList => {
# _num => 'p->numItems',
# _list => 'p->fieldList',
# _type => 'ARVendorFieldStruct',
#},
#ARVendorFieldStruct => {
# fieldName => {
# _type => 'ARNameType',
# _data => 'p->fieldName',
# },
# fieldId => {
# _type => 'ARInternalId',
# _data => 'p->fieldId',
# },
# dataType => {
# _type => 'int',
# _data => 'p->dataType',
# },
#},
);
# perl C:\usr\perl_install\5.8.8\ARSperl\TS\printStructTemplate.pl AR...
#
# x => {
# _type => '',
# _data => '',
# },
# s/.*/$& => {\n\t_type => '',\n\t_data => 'p->u.',\n},/
%TEMPLATES = (
_copy => [
'ARValueStruct' => 'rev_%T( ctrl, h, k, "dataType", &(%L) )',
'ARValueStruct\*' => '%L = MALLOCNN(sizeof(%B)); rev_%B( ctrl, h, k, "dataType", %L )',
'AR\w+' => 'rev_%T( ctrl, h, k, &(%L) )',
'AR\w+\*' => '%L = MALLOCNN(sizeof(%B)); rev_%B( ctrl, h, k, %L )',
'(int|long|unsigned\s+int|unsigned\s+long)' => '%L = SvIV(%R)',
'(float|double)' => '%L = SvNV(%R)',
'unsigned\s+char' => '%L = (char) SvIV(%R)',
'char\s*\*' => '%L = strdup( SvPV_nolen(%R) )',
'char\[.+]' => 'strncpy( %L, SvPV_nolen(%R), sizeof(%L) )',
'ARInternalId\[(\w+)\]' => 'copyUIntArray( %1, %L, %R )',
'int\[(\w+)\]' => 'copyIntArray( %1, %L, %R )',
],
_perl => [
'ARInternalId\[\]' => '*** unknown ***', # ???
'ARInternalId\[\w+\]' => '*** unknown ***', # ???
'int\[\w+\]' => '*** unknown ***', # ???
'unsigned\s+char' => '%L = newSVnv( %R )', # ???
'AR\w+' => '%L = perl_%T( ctrl, &(%R) )',
'AR\w+\*' => '%L = perl_%B( ctrl, %R )',
'(int|long|unsigned\s+int|unsigned\s+long)' => '%L = newSViv( %R )',
'(float|double)' => '%L = newSVnv( %R )',
'char\s*\*' => '%L = newSVpv( %R, 0 )',
'char\[.+]' => '%L = newSVpv( %R, 0 )',
],
);
#print evalTemplate( 'COPY', 'char[10]', 'p->charVal', 'buffer' ), "\n";
#print evalTemplate( 'COPY', 'unsigned char', 'p->unique', 'buffer' ), "\n";
#ARIntegerLimitsStruct intLimits;
#ARRealLimitsStruct realLimits;
#ARCharLimitsStruct charLimits;
#ARDiaryLimitsStruct diaryLimits;
#AREnumLimitsStruct enumLimits;
#AREnumLimitsStruct maskLimits;
#ARAttachLimitsStruct attachLimits;
#ARTableLimitsStruct tableLimits;
#ARColumnLimitsStruct columnLimits;
#ARDecimalLimitsStruct decimalLimits;
#ARViewLimits viewLimits;
#ARDisplayLimits displayLimits;
#ARDateLimitsStruct dateLimits;
#ARCurrencyLimitsStruct currencyLimits;
( run in 1.406 second using v1.01-cache-2.11-cpan-39bf76dae61 )