/*---------- headerfile for demo.ddl ----------*/
/* alignment is 4 */

/*---------- structures ----------*/
struct company {  /* size 35 */
    unsigned long    id;
    char    name[31];
};

struct product {  /* size 2037 */
    unsigned long    company_id;
    unsigned short   descr_len;
    char    name[31];
    char    description[2000];
};

struct fancy {  /* size 2068 */
    char    name[20];
    unsigned long    number;
    char    key2_is_null;
    unsigned short   a_count;
    struct  {  /* size 204 */
        char    a[2][20];
        unsigned char    type;
        union  {  /* size 80 */
            char    s[80];
            unsigned long    a;
            struct  {  /* size 8 */
                int     a;
                long    b;
            } c;
        } u[2];
    } a[10];
};

struct fancy_key1 {  /* size 24 */
    char    name[20];
    unsigned long    number;
};

struct fancy_key2 {  /* size 24 */
    unsigned long    number;
    char    name[20];
};

/*---------- record names ----------*/
#define COMPANY 1000L
#define PRODUCT 2000L
#define FANCY 3000L

/*---------- field names ----------*/
#define ID 1001L
#define PRODUCT_NAME 2003L
#define FANCY_NAME 3001L

/*---------- key names ----------*/
#define FANCY_KEY1 3
#define FANCY_KEY2 5

/*---------- sequence names ----------*/

/*---------- integer constants ----------*/
#define NAME_LEN 30
