svn commit: samba r15576 - in
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl: .
jelmer at samba.org
jelmer at samba.org
Sat May 13 19:56:06 GMT 2006
Author: jelmer
Date: 2006-05-13 19:56:06 +0000 (Sat, 13 May 2006)
New Revision: 15576
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15576
Log:
Separate out Samba4 bits a bit more
Modified:
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm
Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm 2006-05-13 19:25:04 UTC (rev 15575)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm 2006-05-13 19:56:06 UTC (rev 15576)
@@ -22,105 +22,55 @@
);
# a list of known scalar types
-my $scalars = {
+my %scalars = (
# 0 byte types
- "void" => {
- C_TYPE => "void",
- },
+ "void" => "void",
# 1 byte types
- "char" => {
- C_TYPE => "char",
- },
- "int8" => {
- C_TYPE => "int8_t",
- },
- "uint8" => {
- C_TYPE => "uint8_t",
- },
+ "char" => "char",
+ "int8" => "int8_t",
+ "uint8" => "uint8_t",
# 2 byte types
- "int16" => {
- C_TYPE => "int16_t",
- },
- "uint16" => { C_TYPE => "uint16_t",
- },
+ "int16" => "int16_t",
+ "uint16" => "uint16_t",
# 4 byte types
- "int32" => {
- C_TYPE => "int32_t",
- },
- "uint32" => { C_TYPE => "uint32_t",
- },
+ "int32" => "int32_t",
+ "uint32" => "uint32_t",
# 8 byte types
- "hyper" => {
- C_TYPE => "uint64_t",
- },
- "dlong" => {
- C_TYPE => "int64_t",
- },
- "udlong" => {
- C_TYPE => "uint64_t",
- },
- "udlongr" => {
- C_TYPE => "uint64_t",
- },
+ "hyper" => "uint64_t",
+ "dlong" => "int64_t",
+ "udlong" => "uint64_t",
+ "udlongr" => "uint64_t",
+
# assume its a 8 byte type, but cope with either
- "pointer" => {
- C_TYPE => "void*",
- },
+ "pointer" => "void*",
# DATA_BLOB types
- "DATA_BLOB" => {
- C_TYPE => "DATA_BLOB",
- },
+ "DATA_BLOB" => "DATA_BLOB",
# string types
- "string" => {
- C_TYPE => "const char *",
- },
- "string_array" => {
- C_TYPE => "const char **",
- },
+ "string" => "const char *",
+ "string_array" => "const char **",
# time types
- "time_t" => {
- C_TYPE => "time_t",
- },
- "NTTIME" => {
- C_TYPE => "NTTIME",
- },
- "NTTIME_1sec" => {
- C_TYPE => "NTTIME",
- },
- "NTTIME_hyper" => {
- C_TYPE => "NTTIME",
- },
+ "time_t" => "time_t",
+ "NTTIME" => "NTTIME",
+ "NTTIME_1sec" => "NTTIME",
+ "NTTIME_hyper" => "NTTIME",
-
# error code types
- "WERROR" => {
- C_TYPE => "WERROR",
- },
- "NTSTATUS" => {
- C_TYPE => "NTSTATUS",
- },
- "COMRESULT" => {
- C_TYPE => "COMRESULT",
- },
+ "WERROR" => "WERROR",
+ "NTSTATUS" => "NTSTATUS",
+ "COMRESULT" => "COMRESULT",
# special types
- "nbt_string" => {
- C_TYPE => "const char *",
- },
- "wrepl_nbt_name"=> {
- C_TYPE => "struct nbt_name *",
- },
- "ipv4address" => {
- C_TYPE => "const char *",
- }
-};
+ "nbt_string" => "const char *",
+ "wrepl_nbt_name"=> "struct nbt_name *",
+ "ipv4address" => "const char *",
+);
# map from a IDL type to a C header type
sub mapScalarType($)
@@ -129,7 +79,7 @@
# it's a bug when a type is not in the list
# of known scalars or has no mapping
- return $typedefs{$name}->{DATA}->{C_TYPE} if defined($typedefs{$name}) and defined($typedefs{$name}->{DATA}->{C_TYPE});
+ return $scalars{$name} if defined($scalars{$name});
die("Unknown scalar type $name");
}
@@ -149,8 +99,7 @@
sub typeIs($$)
{
- my $t = shift;
- my $tt = shift;
+ my ($t,$tt) = @_;
return 1 if (hasType($t) and getType($t)->{DATA}->{TYPE} eq $tt);
return 0;
@@ -186,18 +135,20 @@
sub RegisterScalars()
{
- foreach my $k (keys %{$scalars}) {
- $typedefs{$k} = {
- NAME => $k,
+ foreach (keys %scalars) {
+ addType({
+ NAME => $_,
TYPE => "TYPEDEF",
- DATA => $scalars->{$k}
- };
- $typedefs{$k}->{DATA}->{TYPE} = "SCALAR";
- $typedefs{$k}->{DATA}->{NAME} = $k;
+ DATA => {
+ TYPE => "SCALAR",
+ NAME => $_
+ }
+ }
+ );
}
}
-my $aliases = {
+my %aliases = (
"DWORD" => "uint32",
"int" => "int32",
"WORD" => "uint16",
@@ -206,12 +157,12 @@
"short" => "int16",
"HYPER_T" => "hyper",
"HRESULT" => "COMRESULT",
-};
+);
sub RegisterAliases()
{
- foreach my $k (keys %{$aliases}) {
- $typedefs{$k} = $typedefs{$aliases->{$k}};
+ foreach (keys %aliases) {
+ $typedefs{$_} = $typedefs{$aliases{$_}};
}
}
More information about the samba-cvs
mailing list