allocrdsrec

Langue: en

Version: October 1, 1997 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME


 allocrdsrec - allocates memory for a rectangle
man2html: unable to open or read file man1/alc_origin.1

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
man2html: unable to open or read file man1/alc_bug_report.1