chickadee » fmt » c-class

(c-struct [<name>] <field-list> [<attributes>]) procedure
(c-union [<name>] <field-list> [<attributes>]) procedure
(c-class [<name>] <field-list> [<attributes>]) procedure
(c-attribute <values> ...) procedure

Composite type constructors. Attributes may be accessed as %attribute at the head of a list.

  (fmt #f (c-struct 'employee
                      '((short age)
                        ((char *) name)
                        ((struct (year month day)) dob))
                      (c-attribute 'packed)))
 struct employee {
     short age;
     char* name;
     struct {
         int year;
         int month;
         int day;
     } dob;
 } __attribute__ ((packed));