OpenTTCN/Working documents/Mappings/C to TTCN-3 mapping/ApplicationTypes.h

From OpenTTCN

Jump to: navigation, search
typedef char T1;

typedef short T2;
typedef short int T2b;

typedef int T3;

typedef long T4;
typedef long int T4b;

typedef signed char ST1;

typedef signed short ST2;
typedef signed short int ST2b;

typedef signed ST3;
typedef signed int ST3b;

typedef signed long ST4;
typedef signed long int ST4b;

typedef unsigned char UT1;

typedef unsigned short UT2;
typedef unsigned short int UT2b;

typedef unsigned UT3;
typedef unsigned int UT3b;

typedef unsigned long UT4;
typedef unsigned long int UT4b;

typedef float FT1;
typedef double FT2;
typedef long double FT3;

struct BS0
{
    char f1;
    short f2;
    int f3;
    char f4;
};

struct BS0b
{
    short fld0;
    BS0 fld1;
    unsigned char fld2;
    short fld3;
    BS0 fld4;
    unsigned char fld5;
};

struct BS0c
{
    char ff1;
    BS0b ff2;
    char ff3;
    BS0 ff4;
    signed char ff5;
};

struct BS0d
{
    char f1;
    signed char f2;
    unsigned char f3;
    short f4;
    unsigned char f5;
    unsigned short f6;
    unsigned char f7;
    int f8;
    unsigned char f9;
    long f10;
    unsigned char f11;
    float f12;
    unsigned char f13;
    double f14;
    unsigned char f15;
    long double f16;
    unsigned char f17;
};

typedef struct BS1
{
    unsigned char data;
    long int bits;
}
BS1;

typedef struct BS2
{
    char data;
    int bits;
}
BS2Tag;

struct BS3
{
    signed char data;
    short int bits;
};

struct WORDREGS
{
    unsigned short ax, bx;
};

struct BYTEREGS
{
    unsigned char al, ah, bl, bh;
};

union REGS
{
    struct WORDREGS x;
    struct BYTEREGS h;
};

typedef enum DAY
{
    saturday,
    sunday = 0,
    monday,
    tuesday,
    wednesday,
    thursday,
    friday
};

typedef union {
  struct {
    unsigned short ax;
    unsigned short bx;
  } x;
  struct {
    unsigned char al;
    unsigned char ah;
    unsigned char bl;
    unsigned char bh;
  } h;
} ALT_REGS;

struct STRUCT_A
{
    int x;
    char x2;
    struct
    {
      int y;
      char y2;
    } z;
    char z2;
};

struct STRUCT_B
{
    unsigned char f1;
    REGS f2;
    unsigned char f3;
};

struct STRUCT_C
{
    unsigned char f1;
    union
    {
        union
        {
            struct
            {
                unsigned char a1;
                int a2;
                unsigned char a3;
            } uf1;
            struct
            {
                int b1;
                int b2;
                STRUCT_B b3;
                int b4;
            } uf2;
            struct
            {
                int c1;
            } uf3;
            union
            {
                unsigned char d1;
                short d2;
            } uf4;
            struct
            {
                int e1;
                unsigned char e2;
                int e3;
            } uf5;
            STRUCT_B uf6;
            unsigned char uf7;
        } u1;
        short u2;
    } f2;
    unsigned char f3;
};
Views
Personal tools