allocrdsrec.3alc - Man Page

allocates memory for a rectangle

Synopsis

#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 structure 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

Info

October 1, 1997 ASIM/LIP6 RDS PHYSICAL FUNCTIONS