summaryrefslogtreecommitdiff
path: root/lib/sbin/create_c_stuff.pl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbin/create_c_stuff.pl')
-rw-r--r--lib/sbin/create_c_stuff.pl43
1 files changed, 35 insertions, 8 deletions
diff --git a/lib/sbin/create_c_stuff.pl b/lib/sbin/create_c_stuff.pl
index 9618fcae..99bb78c3 100644
--- a/lib/sbin/create_c_stuff.pl
+++ b/lib/sbin/create_c_stuff.pl
@@ -37,10 +37,19 @@ sub CreateParameterBindingFile
foreach $parameter (&order_params($rhparameters,$rhparameter_db))
{
- $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
- $type_string = &get_c_type_string($type);
+ my $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
+ my $type_string = &get_c_type_string($type);
+
+ my $array_size = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E array_size"};
+
+ my $suffix = '';
+
+ if($array_size)
+ {
+ $suffix = "[$array_size]";
+ }
- push(@data, " $type_string$parameter;");
+ push(@data, " $type_string$parameter$suffix;");
}
# Some compilers don't like an empty structure.
@@ -171,12 +180,30 @@ sub CreateCStructureParameterHeader
foreach $parameter (&order_params($rhparameters, $rhparameter_db))
{
- $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
- $type_string = &get_c_type_string($type);
+ my $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
+ my $type_string = &get_c_type_string($type);
+
+ my $array_size = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E array_size"};
+
+ my $suffix = '';
+ my $prefix = '';
+
+ if($array_size)
+ {
+ $prefix = '*';
+ $suffix = "[$array_size]";
+ }
+
+ my $name = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E alias"};
+
+ if(! $name)
+ {
+ $name = "$parameter";
+ }
- push(@data, " $type_string $parameter;");
- push(@definition, " const $type_string $parameter = $structure.$parameter; \\");
- push(@use, " (void) ($parameter + 0); \\");
+ push(@data, " $type_string $parameter$suffix;");
+ push(@definition, " const $type_string $prefix$name = $structure.$parameter; \\");
+ push(@use, " (void) ($name + 0); \\");
}
# Some compilers don't like an empty structure.