Как бороться со структурами с битовыми полями, а также с юнионами, когда пишем биндинг к сишной либе?

Вот есть нечто вроде такого:
## Код:
```
typedef struct S 
{
   Type type;
   union {
       struct {
           u32int a    : 1;
           u32int b    : 7;
           u32int c    : 13;
           u32int d    : 27;
           u32int e    : 1;
           u32int f    : 7;
        } s;
        char foo[10];
        u32int j;
   } u;
} struct_t; 

struct_t new_struct();
BOOL print_struct(struct_t s);
void init(struct_t* s);
```

Как будет это выглядеть на Обероне (обычном, 2, или 07)?