allocrdsrec

ALLOCRDSREC(3)              RDS PHYSICAL FUNCTIONS              ALLOCRDSREC(3)



NAME
        allocrdsrec - allocates memory for a rectangle

>> Included manual page: man1/alc_origin.1alc

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



>> Included manual page: man1/alc_bug_report.1alc




ASIM/LIP6                       October 1, 1997                 ALLOCRDSREC(3)