Thanks very much for your prompt help on this lads.
> sizeof(Oid) is 4 [bytes]. You can check this and other basic datatype
> sizes by looking in pg_type.
So in the following code
StringInfo buf = (StringInfo) PG_GETARG_POINTER(0)
// ...
Oid element_type = pq_getmsgint(buf, sizeof(Oid));
are the bytes representing an int4 Oid simply 23, represented in variable buf as
[0x17][0x00][0x00][0x00]
The reason for asking is I'm under the impression there can be
differences between network byte-order and other representations.
Hopefully this isn't an inane question - apologies if it is.
Regards,
Michael