Racket FFI and cstruct bit-fields

Hello,

Does anyone have experience with the racket FFI and bit fields in C structures?
I'm encountering one here:

typedef struct {
    FLAC__uint64 offset;
    FLAC__byte number;
    char isrc[13];
    uint32_t type:1;
    uint32_t pre_emphasis:1;
    FLAC__byte num_indices;
    FLAC__StreamMetadata_CueSheet_Index *indices;
} FLAC__StreamMetadata_CueSheet_Track;

While convertig it, I don't know what to do:

(define-cstruct _FLAC__StreamMetadata_CueSheet_Track
   (
    [offset FLAC__uint64]
    [number FLAC__byte]
    [isrc (_array _char 13)]
    [type 'Ehm...

Since the two bit fields are adjacent to each other, I believe they will be packed into one uint32_t. It isn't ideal, but you can define your cstruct on the racket side with one uint32_t. This field will allocate the space necessary for both fields. This might be sufficient if you don't actually need to access these fields from racket. You'll at least end up with a struct with the correct size. If you need to access these bit fields from racket code, you'll have to write some code to manually read/write them. Some details may be ABI dependent, so you'll need to be careful.

Perhaps there is a better way to handle this on the racket side, but I didn't notice built-in support for bit fields in racket cstructs at a glance.