Arnaldo Carvalho de Melo wrote:
Em Tue, Oct 02, 2007 at 03:10:08PM +0200, Urs Thuermann escreveu:
+
+/**
+ * struct sockaddr_can - the sockaddr structure for CAN sockets
+ * @can_family:  address family number AF_CAN.
+ * @can_ifindex: CAN network interface index.
+ * @can_addr:    transport protocol specific address, mostly CAN IDs.
+ */
+struct sockaddr_can {
+       sa_family_t can_family;
+       int         can_ifindex;
+       union {
+               struct { canid_t rx_id, tx_id; } tp16;
+               struct { canid_t rx_id, tx_id; } tp20;
+               struct { canid_t rx_id, tx_id; } mcnet;
+               struct { canid_t rx_id, tx_id; } isotp;
+       } can_addr;

Again being curious, what is the value of this union of all its members
have the same definition? Backward source code compatibility?


Yes. You're right here. It is a prerequisite for a CAN transportprotocol like the standardized ISO-TP i plan to submit here until december.

Indeed the union should be replaced by something like

struct sockaddr_can {
sa_family_t can_family;
int can_ifindex;
union {
struct { canid_t rx_id, tx_id; } tp;
} can_addr;
};


The union was the idea, if there is any other protocol for CAN that need's other adressing information. I personally do not know any protocol. Maybe CANOpen has different addressing requirements here. And in that case a new protocol could just could add things to the union to meet it's own needs.



You have been thru many iterations already, sigh, I should have looked
at this before :-\


Yeah :-) I thought, you were just done last time.

Btw. Thanks for your review and your good feedback.

Regards,
Oliver

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to