Scroll to navigation

ALLOCRDSREC(3) RDS PHYSICAL FUNCTIONS ALLOCRDSREC(3)

NAME


allocrdsrec - allocates memory for a rectangle

ORIGIN

This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France.

Web : http://asim.lip6.fr/recherche/alliance/
E-mail : alliance-users@asim.lip6.fr

SYNOPSYS

#include"rdsnnn.h"
rdsrec_list ∗allocrdsrec( Size )

unsigned int Size;

PARAMETER

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

BUG REPORT

This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.

October 1, 1997 ASIM/LIP6