FreeBSD Manual Pages
ADDRDSFIGREC(3) RDS PHYSICAL FUNCTIONS ADDRDSFIGREC(3) NAME addrdsfigrec - adds a rectangle to a figure SYNOPSIS #include "rdsnnn.h" rdsrec_list *addrdsfigrec( Figure, Name, Layer, X, Y, Dx, Dy ) rdsfig_list *Figure; char *Name; char Layer; long X; long Y; long Dx; long Dy; PARAMETER Figure figure which contains the rectangle to add. Name name of the rectangle to add. Layer Layer of the rectangle to add. X,Y,DX,DY Dimensions of the rectangle to add. DESCRIPTION addrdsfigrec creates an adds a rectangle in the figure called Figure. The size of the user structure to add next to the structure rdsrec_list (if it exists) is defined by the field SIZE of the figure who has to contain the rectangle. The rectangle is added in front of the list, and becomes itself the list head associated to the defined layer in parame- ters of the function. The fields of the rectangle structure are modi- fied as follows : The field NAME is set to Name. The field X is set to X. The field Y is set to Y. The field DX is set to Dx. The field DY is set to Dy. The field FLAGS is modified with the value Layer. RETURN VALUE addrdsfigrec returns a pointer to the newly added rectangle. ERRORS "Rds202: rdsalloc error, can't continue !" it's impossible to allocate the memory size desired EXAMPLE #include "mutnnn.h" #include "rdsnnn.h" #include "rtlnnn.h" typedef struct UserStruct { char *STRING; void *USER1; } UserStruct; # define POINTER_STRING(R) \ \ (((UserStruct *)((char *)(R)+sizeof(rdsrec_list)))->STRING ) main() { rdsfig_list *RdsFigure; rdsrec_list *Rectangle; char Layer; rdsrec_list *ScanRec; mbkenv(); rdsenv(); loadrdsparam(); RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) ); Rectangle = addrdsfigrec (RdsFigure, "Alu1",RDS_ALU1, 2,4,12,1); POINTER_STRING(Rectangle) = namealloc ("rectangle_alu1"); ... /* print caracteristics of all rectangles of the Rds figure */ for ( Layer = 0 ; Layer < RDS_MAX_LAYER ; Layer ++ ) { for ( ScanRec = RdsFigure->LAYERTAB[Layer] ; ScanRec != (rdsrec_list *) NULL ; ScanRec = ScanRec->NEXT ) { printf("Rectangle->LAYER = %s\n", RDS_LAYER_NAME[GetRdsLayer(ScanRec)]); printf("Rectangle->NAME = %s\n",ScanRec->NAME); printf("Rectangle->X = %ld\n",ScanRec->X); printf("Rectangle->Y = %ld\n",ScanRec->Y); printf("Rectangle->DX = %ld\n",ScanRec->DX); printf("Rectangle->DY = %ld\n",ScanRec->DY); printf("Rectangle->STRING = %s\n",POINTER_STRING(ScanRec)); } } } SEE ALSO librds, delrdsfigrec, viewrdsfig ASIM/LIP6 October 1, 1997 ADDRDSFIGREC(3)
NAME | SYNOPSIS | PARAMETER | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=addrdsfigrec&sektion=3&manpath=FreeBSD+Ports+15.0>
