insmbkrds(3) converts MBK figure to RDS figure

SYNOPSYS

#include "rfmnnn.h"
rdsins_list *insmbkrds( FigureRds, InstanceMbk, Mode, Lynx )
   rdsfig_list *FigureRds;
   phins_list  *InstanceMbk;
   char         Mode;
   char         Lynx;

PARAMETER

FigureRds
The Rds figure which has to receive the RDS instance issue to the MBK instance conversion.
InstanceMbk
MBK instance which has to be converted and added to the RDS figure.
Mode
This field can take three values :

'A' : All the cell is loaded in ram.

'P' : Only information concerning the model interface is present, that means connector s and the abutment box.

'C' : Finishes to fill an already loaded figure in 'P' mode, in order to have it all in memory. After this, the conversion is applied.

Note : The loading mode here is the MBK mode.

Lynx
Flag used for the segment conversion. If the parameter Lynx is set to 0 then thi s is the normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.

DESCRIPTION

The insmbkrds function creates in the RDS figure the RDS instance issue to the convertion of the MBK instance to RDS format. If the parameter 'Mode' is set to 'A' then all the instance is loaded, else if parameter 'Mode' is set to 'P' then connectors and abutment box and through routes are loaded (for more information, see getphfig and loadphfig MBK functions).

RETURN VALUE

A pointer to the newly created instance is returned.

ERRORS

"Rds202: rdsalloc error, can't continue !"
it's impossible to allocate the memory size desired

EXAMPLE

        #include "mphnnn.h"
        #include "mutnnn.h"
        #include "rdsnnn.h"
        #include "rfmnnn.h"
        #include "rtlnnn.h"
        typedef struct UserStruct
         {
           char *STRING;
           void *USER1;
         } UserStruct;
        main()
          {
            phfig_list  *MbkFigure;
            phins_list  *MbkInstance;
            rdsfig_list *RdsFigure;
            rdsins_list *RdsInstance;
            mbkenv();
            rdsenv();
            loadrdsparam();
            /* create MbkFigure Named "core" */
            MbkFigure    = addphfig("core"); 
            /* add Mbk instance "n1_y" to MbkFigure named "core" */
            MbkInstance  = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
            /* create RdsFigure named "core_2" */
            RdsFigure    = addrdsfig("core_2",sizeof(UserStruct));
            /* create RdsInstance with MbkInstance */
            RdsInstance  = insmbkrds ( RdsFigure, MbkInstance, 'A', 0 );
            viewrdsins ( RdsInstance );
            . . .
          }