1 |
16 |
alirezamon |
#!/usr/bin/perl -w -I ..
|
2 |
|
|
###############################################################################
|
3 |
|
|
#
|
4 |
|
|
# File: ip.pm
|
5 |
|
|
#
|
6 |
|
|
#
|
7 |
|
|
###############################################################################
|
8 |
|
|
use warnings;
|
9 |
|
|
use strict;
|
10 |
|
|
use ip_gen;
|
11 |
|
|
use Cwd;
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
package ip;
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
sub lib_new {
|
18 |
|
|
my $class = ("ARRAY" eq ref $_[0]) ? "ip" : shift;
|
19 |
|
|
my $self;
|
20 |
|
|
$self = {};
|
21 |
|
|
my $dir = Cwd::getcwd();
|
22 |
18 |
alirezamon |
$dir =~ s/ /\\ /g;
|
23 |
16 |
alirezamon |
my @files = glob "$dir/lib/ip/*.IP";
|
24 |
|
|
for my $p (@files){
|
25 |
|
|
|
26 |
|
|
# Read
|
27 |
|
|
my $ipgen;
|
28 |
|
|
$ipgen = eval { do $p };
|
29 |
|
|
# Might need "no strict;" before and "use strict;" after "do"
|
30 |
|
|
die "Error reading: $@" if $@;
|
31 |
|
|
|
32 |
|
|
add_ip($self,$ipgen);
|
33 |
|
|
}
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
bless($self,$class);
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
return $self;
|
40 |
|
|
}
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
sub ip_add_parameter {
|
44 |
|
|
my ($self,$category,$module,$parameter,$deafult,$type,$content,$info,$glob_param,$redefine_param)=@_;
|
45 |
|
|
if (!defined($category) ) {return 0;}
|
46 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
47 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}={};
|
48 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{deafult}=$deafult;
|
49 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{type}=$type;
|
50 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{content}=$content;
|
51 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{info}=$info;
|
52 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{glob_param}=$glob_param;
|
53 |
|
|
$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{redefine_param}=$redefine_param;
|
54 |
|
|
}
|
55 |
|
|
}
|
56 |
|
|
|
57 |
|
|
|
58 |
|
|
sub ip_remove_parameter {
|
59 |
|
|
my ($self,$category,$module,$parameter)=@_;
|
60 |
|
|
if (!defined($category) ) {return 0;}
|
61 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
62 |
|
|
delete $self->{categories}{$category}{names}{$module}{parameters}{$parameter};
|
63 |
|
|
|
64 |
|
|
}else{ return 0;}
|
65 |
|
|
return 1;
|
66 |
|
|
}
|
67 |
|
|
|
68 |
|
|
|
69 |
|
|
sub ip_get_module_parameters{
|
70 |
|
|
my ($self,$category,$module)=@_;
|
71 |
|
|
my @parameters;
|
72 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
73 |
|
|
foreach my $p (keys %{$self->{categories}{$category}{names}{$module}{parameters}}){
|
74 |
|
|
push(@parameters,$p);
|
75 |
|
|
|
76 |
|
|
}#for
|
77 |
|
|
}#if
|
78 |
|
|
return @parameters;
|
79 |
|
|
}
|
80 |
|
|
|
81 |
|
|
|
82 |
|
|
sub ip_get_parameter {
|
83 |
|
|
my ($self,$category,$module,$parameter)=@_;
|
84 |
|
|
my ($deafult,$type,$content,$info,$glob_param,$redefine_param);
|
85 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
86 |
|
|
$deafult =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{deafult};
|
87 |
|
|
$type =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{type};
|
88 |
|
|
$content =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{content};
|
89 |
|
|
$info =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{info};
|
90 |
|
|
$glob_param =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{glob_param};
|
91 |
|
|
$redefine_param =$self->{categories}{$category}{names}{$module}{parameters}{$parameter}{redefine_param};
|
92 |
|
|
}
|
93 |
|
|
return ($deafult,$type,$content,$info,$glob_param,$redefine_param);
|
94 |
|
|
}
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
sub ip_add_socket {
|
98 |
|
|
my ($self,$category,$module,$interface,$type,$value,$connection_num)=@_;
|
99 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
100 |
|
|
$self->{categories}{$category}{names}{$module}{sockets}{$interface}{type}=$type;
|
101 |
|
|
$self->{categories}{$category}{names}{$module}{sockets}{$interface}{value}=$value;
|
102 |
|
|
if(defined $connection_num){$self->{categories}{$category}{names}{$module}{sockets}{$interface}{connection_num}=$connection_num;}
|
103 |
|
|
|
104 |
|
|
|
105 |
|
|
}
|
106 |
|
|
}
|
107 |
|
|
|
108 |
|
|
|
109 |
|
|
sub ip_get_socket {
|
110 |
|
|
my ($self,$category,$module,$socket)=@_;
|
111 |
|
|
my ($type,$value,$connection_num);
|
112 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
113 |
|
|
$type =$self->{categories}{$category}{names}{$module}{sockets}{$socket}{type};
|
114 |
|
|
$value =$self->{categories}{$category}{names}{$module}{sockets}{$socket}{value};
|
115 |
|
|
$connection_num =$self->{categories}{$category}{names}{$module}{sockets}{$socket}{connection_num};
|
116 |
|
|
}
|
117 |
|
|
return ($type,$value,$connection_num);
|
118 |
|
|
}
|
119 |
|
|
|
120 |
|
|
sub ip_get_module_sockets_list {
|
121 |
|
|
my ($self,$category,$module)=@_;
|
122 |
|
|
my @r;
|
123 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
124 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{sockets}}){
|
125 |
|
|
push (@r,$p);
|
126 |
|
|
}
|
127 |
|
|
}
|
128 |
|
|
return @r;
|
129 |
|
|
}
|
130 |
|
|
|
131 |
|
|
|
132 |
|
|
|
133 |
|
|
sub ip_add_plug {
|
134 |
|
|
my ($self,$category,$module,$interface,$type,$value,$connection_num)=@_;
|
135 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
136 |
|
|
$self->{categories}{$category}{names}{$module}{plugs}{$interface}{type}=$type;
|
137 |
|
|
$self->{categories}{$category}{names}{$module}{plugs}{$interface}{value}=$value;
|
138 |
|
|
if(defined $connection_num){ $self->{categories}{$category}{names}{$module}{plugs}{$interface}{connection_num}=$connection_num;}
|
139 |
|
|
|
140 |
|
|
}
|
141 |
|
|
}
|
142 |
|
|
|
143 |
|
|
sub ip_get_plug {
|
144 |
|
|
my ($self,$category,$module,$plug)=@_;
|
145 |
|
|
my ($type,$value,$connection_num);
|
146 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
147 |
|
|
$type =$self->{categories}{$category}{names}{$module}{plugs}{$plug}{type};
|
148 |
|
|
$value =$self->{categories}{$category}{names}{$module}{plugs}{$plug}{value};
|
149 |
|
|
$connection_num =$self->{categories}{$category}{names}{$module}{plugs}{$plug}{connection_num};
|
150 |
|
|
}
|
151 |
|
|
return ($type,$value,$connection_num);
|
152 |
|
|
}
|
153 |
|
|
|
154 |
|
|
sub ip_get_module_plugs_list {
|
155 |
|
|
my ($self,$category,$module)=@_;
|
156 |
|
|
my @r;
|
157 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
158 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{plugs}}){
|
159 |
|
|
push (@r,$p);
|
160 |
|
|
}
|
161 |
|
|
}
|
162 |
|
|
return @r;
|
163 |
|
|
}
|
164 |
|
|
|
165 |
|
|
|
166 |
|
|
|
167 |
|
|
|
168 |
|
|
|
169 |
|
|
sub ip_add_port{
|
170 |
|
|
my ($self,$category,$module,$port,$type,$range,$intfc_name,$intfc_port)=@_;
|
171 |
|
|
if (!defined($category) ) {return 0;}
|
172 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
173 |
|
|
$self->{categories}{$category}{names}{$module}{ports}{$port}={};
|
174 |
|
|
$self->{categories}{$category}{names}{$module}{ports}{$port}{type}=$type;
|
175 |
|
|
$self->{categories}{$category}{names}{$module}{ports}{$port}{range}=$range;
|
176 |
|
|
$self->{categories}{$category}{names}{$module}{ports}{$port}{intfc_name}=$intfc_name;
|
177 |
|
|
$self->{categories}{$category}{names}{$module}{ports}{$port}{intfc_port}=$intfc_port;
|
178 |
|
|
}
|
179 |
|
|
}
|
180 |
|
|
|
181 |
|
|
|
182 |
|
|
sub ip_get_port{
|
183 |
|
|
my ($self,$category,$module,$port)=@_;
|
184 |
|
|
my ($type,$range,$intfc_name,$intfc_port);
|
185 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}{ports}{$port}) ){
|
186 |
|
|
$type =$self->{categories}{$category}{names}{$module}{ports}{$port}{type};
|
187 |
|
|
$range =$self->{categories}{$category}{names}{$module}{ports}{$port}{range};
|
188 |
|
|
$intfc_name =$self->{categories}{$category}{names}{$module}{ports}{$port}{intfc_name};
|
189 |
|
|
$intfc_port =$self->{categories}{$category}{names}{$module}{ports}{$port}{intfc_port};
|
190 |
|
|
}
|
191 |
|
|
return ($type,$range,$intfc_name,$intfc_port);
|
192 |
|
|
}
|
193 |
|
|
|
194 |
|
|
sub ip_list_ports{
|
195 |
|
|
my ($self,$category,$module)=@_;
|
196 |
|
|
my @ports;
|
197 |
|
|
|
198 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
199 |
|
|
|
200 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{ports}}){
|
201 |
|
|
push (@ports,$p);
|
202 |
|
|
}
|
203 |
|
|
}
|
204 |
|
|
return @ports;
|
205 |
|
|
}
|
206 |
|
|
|
207 |
|
|
|
208 |
|
|
|
209 |
|
|
sub ip_get_categories{
|
210 |
|
|
my $self=shift;
|
211 |
|
|
my @r;
|
212 |
|
|
if (exists ($self->{categories})){
|
213 |
|
|
foreach my $p (sort keys %{$self->{categories}}){
|
214 |
|
|
push (@r,$p);
|
215 |
|
|
}
|
216 |
|
|
}
|
217 |
|
|
return @r;
|
218 |
|
|
}
|
219 |
|
|
|
220 |
|
|
|
221 |
|
|
sub get_modules{
|
222 |
|
|
my ($self,$category)=@_;
|
223 |
|
|
my @r;
|
224 |
|
|
if (exists ($self->{categories}{$category})){
|
225 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}}){
|
226 |
|
|
push (@r,$p);
|
227 |
|
|
}
|
228 |
|
|
}
|
229 |
|
|
return @r;
|
230 |
|
|
}
|
231 |
|
|
|
232 |
|
|
sub get_describtion{
|
233 |
|
|
my ($self,$category,$module)=@_;
|
234 |
|
|
my $r;
|
235 |
|
|
if (!defined($module) ) {return $r;}
|
236 |
|
|
$r=$self->{categories}{$category}{names}{$module}{Describtion};
|
237 |
|
|
|
238 |
|
|
return $r;
|
239 |
|
|
|
240 |
|
|
}
|
241 |
|
|
|
242 |
|
|
|
243 |
|
|
|
244 |
|
|
|
245 |
|
|
|
246 |
|
|
sub get_param_default{
|
247 |
|
|
my ($self,$category,$module)=@_;
|
248 |
|
|
my %r;
|
249 |
|
|
if (!defined($module) ) {return %r;}
|
250 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{parameters}}){
|
251 |
|
|
$r{$p}=$self->{categories}{$category}{names}{$module}{parameters}{$p}{deafult};
|
252 |
|
|
#print "$p=$r{$p}\n";
|
253 |
|
|
}
|
254 |
|
|
return %r;
|
255 |
|
|
|
256 |
|
|
}
|
257 |
|
|
|
258 |
|
|
|
259 |
|
|
|
260 |
|
|
sub ip_add_socket_names{
|
261 |
|
|
my($self,$ipgen,$category,$module, $socket)=@_;
|
262 |
|
|
my $num=0;
|
263 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
264 |
|
|
|
265 |
|
|
my $name= $ipgen->ipgen_get_socket_name($socket,$num);
|
266 |
|
|
do{
|
267 |
|
|
$self->{categories}{$category}{names}{$module}{sockets}{$socket}{$num}{name}=$name;
|
268 |
|
|
++$num;
|
269 |
|
|
$name= $ipgen->ipgen_get_socket_name($socket,$num);
|
270 |
|
|
}while(defined $name);
|
271 |
|
|
|
272 |
|
|
}
|
273 |
|
|
}
|
274 |
|
|
|
275 |
|
|
sub ip_get_socket_name{
|
276 |
|
|
my($self,$category,$module, $socket,$num)=@_;
|
277 |
|
|
my $name;
|
278 |
|
|
if ( exists ( $self->{categories}{$category}{names}{$module}{sockets}{$socket}{$num}{name}) ){
|
279 |
|
|
$name= $self->{categories}{$category}{names}{$module}{sockets}{$socket}{$num}{name};
|
280 |
|
|
|
281 |
|
|
}
|
282 |
|
|
return $name;
|
283 |
|
|
}
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
|
287 |
|
|
sub ip_add_plug_names{
|
288 |
|
|
my($self,$ipgen,$category,$module, $plug)=@_;
|
289 |
|
|
my $num=0;
|
290 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
291 |
|
|
|
292 |
|
|
my $name= $ipgen->ipgen_get_plug_name($plug,$num);
|
293 |
|
|
do{
|
294 |
|
|
$self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{name}=$name;
|
295 |
|
|
my ($addr,$width)= $ipgen->ipgen_get_wb_addr($plug,$num);
|
296 |
|
|
if (defined $addr){
|
297 |
|
|
$self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{addr}=$addr;
|
298 |
|
|
$self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{width}=$width;
|
299 |
|
|
}
|
300 |
|
|
++$num;
|
301 |
|
|
$name= $ipgen->ipgen_get_plug_name($plug,$num);
|
302 |
|
|
|
303 |
|
|
|
304 |
|
|
}while(defined $name);
|
305 |
|
|
|
306 |
|
|
}
|
307 |
|
|
}
|
308 |
|
|
|
309 |
|
|
sub ip_get_wb_addr{
|
310 |
|
|
my($self,$category,$module,$plug,$num)=@_;
|
311 |
|
|
my ($addr , $width);
|
312 |
|
|
if(exists($self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{addr})){
|
313 |
|
|
$addr = $self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{addr};
|
314 |
|
|
$width = $self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{width};
|
315 |
|
|
}
|
316 |
|
|
return ($addr , $width);
|
317 |
|
|
}
|
318 |
|
|
|
319 |
|
|
|
320 |
|
|
|
321 |
|
|
sub ip_get_plug_name{
|
322 |
|
|
my($self,$category,$module, $plug,$num)=@_;
|
323 |
|
|
my $name;
|
324 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{name})){
|
325 |
|
|
$name=$self->{categories}{$category}{names}{$module}{plugs}{$plug}{$num}{name};
|
326 |
|
|
}
|
327 |
|
|
return $name;
|
328 |
|
|
}
|
329 |
|
|
|
330 |
|
|
|
331 |
|
|
|
332 |
|
|
|
333 |
|
|
sub get_module_sokets_value{
|
334 |
|
|
my ($self,$category,$module)=@_;
|
335 |
|
|
if (!defined($category) ) {return 0;}
|
336 |
|
|
my %r;
|
337 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
338 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{sockets}}){
|
339 |
|
|
$r{$p}=$self->{categories}{$category}{names}{$module}{sockets}{$p}{value};
|
340 |
|
|
}
|
341 |
|
|
|
342 |
|
|
}
|
343 |
|
|
return %r;
|
344 |
|
|
}
|
345 |
|
|
|
346 |
|
|
|
347 |
|
|
sub get_module_sokets_type{
|
348 |
|
|
my ($self,$category,$module)=@_;
|
349 |
|
|
if (!defined($category) ) {return 0;}
|
350 |
|
|
my %r;
|
351 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
352 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{sockets}}){
|
353 |
|
|
$r{$p}=$self->{categories}{$category}{names}{$module}{sockets}{$p}{type};
|
354 |
|
|
}
|
355 |
|
|
|
356 |
|
|
}
|
357 |
|
|
return %r;
|
358 |
|
|
}
|
359 |
|
|
|
360 |
|
|
|
361 |
|
|
sub get_module_plugs_value{
|
362 |
|
|
my ($self,$category,$module)=@_;
|
363 |
|
|
if (!defined($category) ) {return 0;}
|
364 |
|
|
my %r;
|
365 |
|
|
if ( exists ($self->{categories}{$category}{names}{$module}) ){
|
366 |
|
|
foreach my $p (sort keys %{$self->{categories}{$category}{names}{$module}{plugs}}){
|
367 |
|
|
$r{$p}=$self->{categories}{$category}{names}{$module}{plugs}{$p}{value};
|
368 |
|
|
}
|
369 |
|
|
|
370 |
|
|
}
|
371 |
|
|
return %r;
|
372 |
|
|
}
|
373 |
|
|
|
374 |
|
|
sub ip_get_param_order{
|
375 |
|
|
my ($self,$category,$module)=@_;
|
376 |
|
|
my @r;
|
377 |
|
|
if(exists $self->{categories}{$category}{names}{$module}{parameters_order}) {
|
378 |
|
|
@r=@{$self->{categories}{$category}{names}{$module}{parameters_order}};
|
379 |
|
|
|
380 |
|
|
}
|
381 |
|
|
return @r;
|
382 |
|
|
}
|
383 |
|
|
|
384 |
|
|
|
385 |
|
|
sub ip_get_module_name{
|
386 |
|
|
my ($self, $category,$module)=@_;
|
387 |
|
|
my $module_name;
|
388 |
|
|
if(exists $self->{categories}{$category}{names}{$module}{module_name}){
|
389 |
|
|
$module_name= $self->{categories}{$category}{names}{$module}{module_name};
|
390 |
|
|
}
|
391 |
|
|
return $module_name;
|
392 |
|
|
}
|
393 |
|
|
|
394 |
|
|
|
395 |
|
|
sub ip_get_hdr{
|
396 |
|
|
my ($self, $category,$module)=@_;
|
397 |
|
|
my $hdr;
|
398 |
|
|
if(exists($self->{categories}{$category}{names}{$module}{header})){
|
399 |
|
|
$hdr=$self->{categories}{$category}{names}{$module}{header};
|
400 |
|
|
}
|
401 |
|
|
return $hdr;
|
402 |
|
|
}
|
403 |
|
|
|
404 |
|
|
|
405 |
17 |
alirezamon |
sub ip_get_files{
|
406 |
|
|
my ($self, $category,$module,$list_name)=@_;
|
407 |
16 |
alirezamon |
my @l;
|
408 |
17 |
alirezamon |
@l=@{$self->{categories}{$category}{names}{$module}{$list_name}} if(defined $self->{categories}{$category}{names}{$module}{$list_name});
|
409 |
16 |
alirezamon |
return @l;
|
410 |
|
|
}
|
411 |
|
|
|
412 |
17 |
alirezamon |
|
413 |
|
|
sub ip_get_unsuded_intfc_ports{
|
414 |
|
|
my ($self, $category,$module)=@_;
|
415 |
|
|
return $self->{categories}{$category}{names}{$module}{"unused"};
|
416 |
|
|
|
417 |
|
|
}
|
418 |
|
|
|
419 |
16 |
alirezamon |
sub add_ip{
|
420 |
|
|
|
421 |
|
|
my ($self,$ipgen) =@_;
|
422 |
|
|
my $module;
|
423 |
|
|
$module = $ipgen->ipgen_get_ip_name();
|
424 |
|
|
my $module_name =$ipgen->ipgen_get_module_name();
|
425 |
|
|
if(!defined $module){ $module = $module_name}
|
426 |
|
|
my $category= $ipgen->ipgen_get_category();
|
427 |
|
|
my $Describtion= $ipgen->ipgen_get_description();
|
428 |
|
|
|
429 |
|
|
$self->{categories}{$category}{names}{$module}={};
|
430 |
|
|
$self->{categories}{$category}{names}{$module}{Describtion}=$Describtion;
|
431 |
|
|
$self->{categories}{$category}{names}{$module}{module_name}=$module_name;
|
432 |
|
|
my @plugs= $ipgen->ipgen_list_plugs();
|
433 |
|
|
#print "$module:@plugs\n";
|
434 |
|
|
foreach my $plug (@plugs){
|
435 |
|
|
my ($type,$value,$connection_num)= $ipgen->ipgen_get_plug($plug);
|
436 |
|
|
ip_add_plug($self,$category,$module,$plug,$type,$value,$connection_num);
|
437 |
|
|
ip_add_plug_names($self,$ipgen,$category,$module, $plug);
|
438 |
|
|
|
439 |
|
|
}
|
440 |
|
|
my @sockets= $ipgen->ipgen_list_sokets();
|
441 |
|
|
#print "$module:@sockets\n";
|
442 |
|
|
foreach my $socket (@sockets){
|
443 |
|
|
my ($type,$value,$connection_num)= $ipgen->ipgen_get_socket($socket);
|
444 |
|
|
ip_add_socket($self,$category,$module, $socket,$type,$value,$connection_num);
|
445 |
|
|
ip_add_socket_names($self,$ipgen,$category,$module, $socket);
|
446 |
|
|
}
|
447 |
|
|
my @parameters= $ipgen->ipgen_get_all_parameters_list();
|
448 |
|
|
foreach my $param (@parameters){
|
449 |
|
|
my ($deafult,$type,$content,$info,$glob_param,$redefine_param)=$ipgen->ipgen_get_parameter_detail($param);
|
450 |
|
|
ip_add_parameter($self,$category,$module,$param,$deafult,$type,$content,$info,$glob_param,$redefine_param);
|
451 |
|
|
|
452 |
|
|
}
|
453 |
|
|
my @params_order= $ipgen->ipgen_get_parameters_order();
|
454 |
|
|
$self->{categories}{$category}{names}{$module}{parameters_order}=\@params_order;
|
455 |
|
|
my @ports= $ipgen->ipgen_list_ports();
|
456 |
|
|
foreach my $port (@ports){
|
457 |
|
|
my($range,$type,$intfc_name,$intfc_port)=$ipgen->ipgen_get_port($port);
|
458 |
|
|
ip_add_port($self,$category,$module,$port,$type,$range,$intfc_name,$intfc_port);
|
459 |
|
|
}
|
460 |
|
|
my $hdr= $ipgen->ipgen_get_hdr();
|
461 |
|
|
$self->{categories}{$category}{names}{$module}{header}=$hdr;
|
462 |
|
|
|
463 |
17 |
alirezamon |
my @hdl_files= $ipgen->ipgen_get_files_list("hdl_files");
|
464 |
|
|
$self->{categories}{$category}{names}{$module}{"hdl_files"}=\@hdl_files;
|
465 |
16 |
alirezamon |
|
466 |
17 |
alirezamon |
my @sw_files= $ipgen->ipgen_get_files_list("sw_files");
|
467 |
|
|
$self->{categories}{$category}{names}{$module}{"sw_files"}=\@sw_files;
|
468 |
|
|
$self->{categories}{$category}{names}{$module}{"unused"}=$ipgen->ipgen_get_unused_intfc_ports();
|
469 |
|
|
|
470 |
|
|
|
471 |
|
|
|
472 |
16 |
alirezamon |
}
|
473 |
|
|
|
474 |
|
|
|
475 |
|
|
|
476 |
|
|
|
477 |
|
|
|
478 |
|
|
|
479 |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 |
|
|
|
484 |
|
|
|
485 |
|
|
|
486 |
|
|
|
487 |
|
|
|
488 |
|
|
|
489 |
|
|
|
490 |
|
|
|
491 |
|
|
|
492 |
|
|
|
493 |
|
|
|
494 |
|
|
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
|
500 |
|
|
|
501 |
|
|
|
502 |
|
|
|
503 |
|
|
1
|