allocrdsrec(3) - Linux man page

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