1. -- 
  2. --  Uwe R. Zimmer, Australia, September 2011 
  3. -- 
  4.  
  5. generic 
  6.  
  7.    type Router_Range  is (<>); 
  8.    type Router_Task_P is private; 
  9.  
  10.    Null_Reference : Router_Task_P; 
  11.  
  12. package Generic_Router_Links is 
  13.  
  14.    type Router_Ports is record 
  15.       Id   : Router_Range; 
  16.       Link : Router_Task_P; 
  17.    end record; 
  18.  
  19.    type Connected_Router_Ports is array (Positive range <>) of Router_Ports; 
  20.    type Ids_To_Links           is array (Router_Range)      of Router_Task_P; 
  21.  
  22.    function To_Router_Ports (Task_Id : Router_Range; Links : Ids_To_Links) return Connected_Router_Ports; 
  23.  
  24. end Generic_Router_Links;