This is a struct in C because we can't have public and private members there. It would make more sense in Go to make these fields in a Remote struct.