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

FreeBSD Manual Pages

  
 
  

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

NAME
	allocrdsrec - allocates	memory for a rectangle

SYNOPSYS
       #include"rdsnnn.h"
       rdsrec_list *allocrdsrec( Size )
	 unsigned int Size;

PARAMETER
       Size		   Size	 of  the  added	 structure  to the rdsrec_list
			   structure.

DESCRIPTION
       Allocates a memory block	for rdsrec_list	structure and an added	struc-
       ture  defined  by  the user. Fields contained in	the two	structures are
       set to NULL for pointers	and 0L for numbers.

       NOTE: Allocation	by heap	( see rdsalloc function	).

RETURN VALUE
       The pointer to the rectangle structure allocated.

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"
	   /* Name and fields of UserStruct are	defined	by the user */
	   typedef struct UserStruct
	    {
	      char *STRING;
	      void *USER1;
	    } UserStruct;
	  # define POINTER_STRING(R)				    \
									 \
	    (((UserStruct *)((char *)(R)+sizeof(rdsrec_list)))->STRING )
	  # define POINTER_USER1(R)				    \
									 \
	    (((UserStruct *)((char *)(R)+sizeof(rdsrec_list)))->USER1  )
	      main()
	       {
		 rdsfig_list *Figure;
		 rdsrec_list *Rectangle;
		      mbkenv();
		      rdsenv();
		      loadrdsparam();
		 Rectangle = allocrdsrec ( sizeof ( UserStruct ) );
		 Rectangle->X		    = 20;
		 Rectangle->Y		    = 20;
		 Rectangle->DX		    = 48;
		 Rectangle->DY		    = 8;
		 POINTER_STRING	(Rectangle) = (char *) malloc (strlen ("Alu1")+1);
		 strcpy(POINTER_STRING(Rectangle),"Alu1");
		 POINTER_USER1	(Rectangle) = (void *) Figure;
		 ...
	       }

SEE ALSO
       librds, freerdsrec, rdsalloc, rdsfree

ASIM/LIP6			October	1, 1997			ALLOCRDSREC(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=allocrdsrec&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help