allocrdsrec(3)

allocrdsrec3

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.

Overview

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.

Examples

        # 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;
	       ...
	     }

Releases

4 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7–8
  2. 9–10

From alliance 5.1.1-3 in Debian 10 (Buster). Parsed by carta from the page's man source.