> > diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
> > index 07d4395..f7fe68d 100644
> > --- a/include/infiniband/verbs.h
> > +++ b/include/infiniband/verbs.h
> > @@ -192,7 +192,7 @@ struct ibv_port_attr {
> > uint8_t active_width;
> > uint8_t active_speed;
> > uint8_t phys_state;
> > - enum rdma_transport_type transport;
> > + uint8_t transport;
If a given architecture rounds sizeof(transport) up to 16 bits or 32 bits, then
the replacement field should be uint16_t or uint32_t respectively, otherwise
existing binary applications which fetch transport will fetch additional
undefined bytes which follow it in the new structure.
The big question is whether all presently supported architectures use the same
size for enum?
I did a quicky test program and on SLES10 x86_64 sizeof(an enum) is 32 bits.
Hence uint8_t would break binary compatibility on that platform.
Todd Rimmer
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html