ARSperl
view release on metacpan or search on metacpan
infra/exsi.pl view on Meta::CPAN
}
# print STDERR "($ct) sin $sin siv $siv sit $sit\n";
if ($siv != $ct) {
if( $siv <= 324 ){
warn "!!! ERROR: Cannot determine type for AR_SERVER_INFO constant $ct !!!";
}else{
warn "WARNING: gap in enumeration for $sin expected $ct got $siv. it's OK to ignore this.";
}
$ct = $siv;
}
next if $sit eq 'deprecated';
# jump thru some more hoops
$sit .= " $sit2" if ($sit =~ /unsigned/);
# *grimace*
$sit =~ s/\://g;
$sit =~ s/\-.*//g;
# 5.x
$sit = "int" if $sit =~ /int\(AIX\)/i;
# omg
$sit = "int" if $sin eq "AR_SERVER_INFO_MAX_AUDIT_LOG_FILE_SIZE";
$sit = "char" if $sin eq "AR_SERVER_INFO_MESSAGE_CAT_SCHEMA";
$sit = "unsigned long" if $sit eq "ARInternalId";
$sit = "unsigned char" if $sin eq "AR_SERVER_INFO_SVR_EVENT_LIST";
# AR_SERVER_INFO_MESSAGE_CAT_SCHEMA [138] is an name
# AR_SERVER_INFO_MAX_AUDIT_LOG_FILE_SIZE [120] is an 0
# AR_SERVER_INFO_SVR_EVENT_LIST [141] is an list
$sit = "int" if $sin eq "AR_SERVER_INFO_DB_MAX_ATTACH_SIZE";
$sit = "int" if $sin eq "AR_SERVER_INFO_DB_MAX_TEXT_SIZE";
$sit = "char" if $sin eq "AR_SERVER_INFO_GUID_PREFIX";
$sit = "char" if $sin eq "AR_SERVER_INFO_FT_COLLECTION_DIR"; # deprecated in 7.5
$sit = "char" if $sin eq "AR_SERVER_INFO_FT_CONFIGURATION_DIR"; # deprecated in 7.5
$sit = "char" if $sin eq "AR_SERVER_INFO_FT_TEMP_DIR"; # deprecated in 7.5
$sit = "int" if $sin eq "AR_SERVER_INFO_LICENSE_USAGE";
$sit = "int" if $sin eq "AR_SERVER_INFO_MAX_CLIENT_MANAGED_TRANSACTIONS";
$sit = "int" if $sin eq "AR_SERVER_INFO_CLIENT_MANAGED_TRANSACTION_TIMEOUT";
$sit = "int" if $sin eq "AR_SERVER_INFO_MAX_ATTACH_SIZE";
$sit = "int" if $sin eq "AR_SERVER_INFO_ATRIUM_SSO_AUTHENTICATION";
$sit = "int" if $sin eq "AR_SERVER_INFO_MFS_TITLE_FIELD_WEIGHT"; # 327
$sit = "int" if $sin eq "AR_SERVER_INFO_MFS_ENVIRONMENT_FIELD_WEIGHT"; # 328
$sit = "int" if $sin eq "AR_SERVER_INFO_MFS_KEYWORDS_FIELD_WEIGHT"; # 329
$sit = "int" if $sin eq "AR_SERVER_INFO_OVERLAY_MODE"; # 341
#print "\t/*$sin [$siv] is an $sit*/\n";
my $artype = typemap($sit);
die "cant map \"$sit\" to an artype for \"$sin\"\n" if
!defined($artype);
print "\t{ $sin,\t".typemap($sit)." }, /* $siv */\n";
}
}
footer();
exit 0;
sub typemap {
my $t = shift;
my %m = ( 'int' => 'AR_DATA_TYPE_INTEGER',
'long' => 'AR_DATA_TYPE_INTEGER',
'real' => 'AR_DATA_TYPE_REAL',
'char' => 'AR_DATA_TYPE_CHAR',
'String' => 'AR_DATA_TYPE_CHAR',
'diary' => 'AR_DATA_TYPE_DIARY',
'enum' => 'AR_DATA_TYPE_ENUM',
'time' => 'AR_DATA_TYPE_TIME',
'bitmask' => 'AR_DATA_TYPE_BITMASK',
'bytes' => 'AR_DATA_TYPE_BYTES'
);
$t =~ s/unsigned\s//g;
return $m{$t} if ( defined($m{$t}) );
return undef;
}
sub header {
print "
/* DO NOT EDIT. this file was automatically generated by
$0 on ".scalar localtime()." */
#ifndef __ServerInfoTypeHints__
#define __ServerInfoTypeHints__
static struct {
unsigned int infoTypeNum;
unsigned int infoTypeType;
} ServerInfoTypeHints[] = {
";
}
sub footer {
print "
{ TYPEMAP_LAST, TYPEMAP_LAST }
};
#endif /* __ServerInfoTypeHints__ */
";
}
( run in 1.019 second using v1.01-cache-2.11-cpan-39bf76dae61 )