Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ADDRDSFIGREC(3)		    RDS	PHYSICAL FUNCTIONS	       ADDRDSFIGREC(3)

NAME
	addrdsfigrec - adds a rectangle	to a figure

SYNOPSYS
       #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 | SYNOPSYS | PARAMETER | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=addrdsfigrec&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help