insviambkrds.3alc man page

insviambkrds — adds to RDS instance all the contacts from MBK instance

Synopsis

#include "rfmnnn.h"
  rdsrec_list ∗insviambkrds( InstanceMbk, ModelMbk, InstanceRds )
     phins_list  ∗InstanceMbk;
     phfig_list  ∗ModelMbk;
     rdsins_list ∗InstanceRds;

Parameter

InstanceMbk

The MBK instance which contains the contacts to convert.

ModelMbk

Pointer to the model of the MBK instance.

InstanceRds

The instance which has to receive converted segments from MBK to RDS format.

Description

This function adds in the RDS instance all the contacts of the MBK instance converted to RDS format. All newly created segments are chained each other (circulary list) using the USER field of the rdsrec_list structure.

Return Value

Pointer to the head of list of the added rectangles to the RDS instance.

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;
            phfig_list  ∗MbkModelInstance;
            rdsfig_list ∗RdsFigure;
            rdsins_list ∗RdsInstance;
            rdsrec_list ∗RdsViaList;
            rdsrec_list ∗ScanVia;
            mbkenv();
            rdsenv();
            loadrdsparam();
            /∗ creates MbkFigure Named "core" ∗/
            MbkFigure        = addphfig("core"); 
            /∗ creates RdsFigure named "core_2" ∗/
            RdsFigure        = addrdsfig("core_2",sizeof(UserStruct));
            /∗ adds Mbk instance "n1_y" to MbkFigure named "core" ∗/
            MbkInstance      = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
            /∗ Gets Model of instance n1_y ∗/ 
            MbkModelInstance = getphfig("n1_y",'A');
            /∗ creates Rds instance named "block_1" added to RdsFigure ∗/
            RdsInstance =
                addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
            /∗
               adds contacts of "inv_1" instance Mbk in Rds instance
               named "block_1"
            ∗/ 
            RdsViaList = insviambkrds ( MbkInstance,
                                        MbkModelInstance,
                                        RdsInstance);
            viewrdsrec ( RdsViaList );
            for ( ScanVia  = RdsViaList->USER ;
                  ScanVia != RdsViaList ;
                  ScanVia  = ScanVia->USER )
             {
               viewrdsrec ( (rdsrec_list ∗) ScanVia );
             }
          }

See Also

librfm, librds, loadrdsparam

Info

October 1, 1997 ASIM/LIP6 RDS PHYSICAL FUNCTIONS