---
name: "inssegmbkrds"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/inssegmbkrds"
---

# inssegmbkrds(3)

adds in RDS instance all the segments of MBK instance

## NAME

inssegmbkrds - adds in RDS instance all the segments of MBK instance

## SYNOPSYS

```
#include "rdsnnn.h"
 rdsrec_list ∗inssegmbkrds( InstanceMbk, ModelMbk, InstanceRds, Lynx )
    phins_list  ∗InstanceMbk;
    phfig_list  ∗ModelMbk;
    rdsins_list ∗InstanceRds;
    char         Lynx;
```

## PARAMETER

- *InstanceMbk*

  The MBK instance which contains the segments 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.

- *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 *inssegmbkrds* function adds in the RDS instance all segments 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 ∗RdsSegmentList;
            rdsrec_list ∗ScanSegment;
            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 segments of "inv_1" instance Mbk in Rds instance
                  named "block_1"
            ∗/
            RdsSegmentList   = inssegmbkrds ( MbkInstance,
                                              MbkModelInstance,
                                              RdsInstance,0 );
            viewrdsrec ( RdsSegmentList );
            for ( ScanSegment  = RdsSegmentList->USER ;
                  ScanSegment != RdsSegmentList ;
                  ScanSegment  = ScanSegment->USER )
             {
               viewrdsrec ( (rdsrec_list ∗) ScanSegment );
             }
          }
```

## SEE ALSO

**librfm,** **librds,** **loadrdsparam**
