Table of Contents

Name

allocrdsrec - allocates memory for a rectangle

Origin

This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie 4, place Jussieu 75252 PARIS Cedex 05 FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr

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 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/LIP6/UPMC laboratory, cao-vlsi research team.
We need your feedbak to improve documentation and tools. If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.