On Fri, Dec 18, 2020 at 04:52:15PM +0800, Meng Zhuo wrote: > Hi, all > > I'm tring to port bpf.h to Go, however it's very hard to make it right > with cgo since bit fields some fields didn't match any type of Go. > > i.e. > struct bpf_prog_info { > /* .... */ > __u32 gpl_compatible:1; <-- boolean ? > __u32 :31; /* alignment pad */ <--- padding with 31 ? > > UAPI(User application interface) not just for GCC only right? If it's > true, I think remove all bit fields is more appropriate. It's a bit late to change a user-visable api, sorry. Go has to have some way of properly handling bit fields, this isn't a new thing :) good luck! greg k-h