Is it ok to use vectors in c structs?

if the c-api is like this,

typedef struct hb_glyph_position_t {
  hb_position_t  x_advance;
  hb_position_t  y_advance;
  hb_position_t  x_offset;
  hb_position_t  y_offset;

  /*< private >*/
  hb_var_int_t   var;
} hb_glyph_position_t;

is it ok to use binding liek this ?

pub const HbGlyphPos = extern struct {
    advance: @Vector(2, i32),
    offset: @Vector(2, i32),
    private_var: i32,
};