All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
@ 2007-04-11 22:48 Jan Kiszka
  2007-04-15 11:34 ` Wolfgang Grandegger
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2007-04-11 22:48 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-core

[-- Attachment #1: Type: text/plain, Size: 301 bytes --]

Hi Wolfgang,

something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx unless
I oversee something. Please have a look.

(I received a private complaint of a user trying to compile rtcan_rtt
against 2.3.x.)

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-11 22:48 [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN Jan Kiszka
@ 2007-04-15 11:34 ` Wolfgang Grandegger
  2007-04-15 12:56   ` Jan Kiszka
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfgang Grandegger @ 2007-04-15 11:34 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: xenomai-core

Jan Kiszka wrote:
> Hi Wolfgang,
> 
> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx unless
> I oversee something. Please have a look.

There is CAN_PROTO_RAW defined and I have added some time ago CAN_RAW to 
rtcan.h to be compatible with Socket-CAN:

   /** Particular CAN protocols
    *
    *  Currently only the RAW protocol is supported.
    */
   #define CAN_RAW  0

> (I received a private complaint of a user trying to compile rtcan_rtt
> against 2.3.x.)

The latter definition is missing in 2.3.x, though and compiling 
rtcan_rtt.c from the trunk will fail for this reason. I'm going to fix 
it later today.

Wolfgang.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 11:34 ` Wolfgang Grandegger
@ 2007-04-15 12:56   ` Jan Kiszka
  2007-04-15 18:25     ` Wolfgang Grandegger
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2007-04-15 12:56 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-core

[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]

Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
>> Hi Wolfgang,
>>
>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx unless
>> I oversee something. Please have a look.
> 
> There is CAN_PROTO_RAW defined and I have added some time ago CAN_RAW to
> rtcan.h to be compatible with Socket-CAN:
> 
>   /** Particular CAN protocols
>    *
>    *  Currently only the RAW protocol is supported.
>    */
>   #define CAN_RAW  0

Yes, I know. But the question remains which way to go for rtcan:
Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with CAN_RAW as
well now, but having a different value. That should be resolved, on
whatever side, IMHO.

> 
>> (I received a private complaint of a user trying to compile rtcan_rtt
>> against 2.3.x.)
> 
> The latter definition is missing in 2.3.x, though and compiling
> rtcan_rtt.c from the trunk will fail for this reason. I'm going to fix
> it later today.

Good, thanks,
Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 12:56   ` Jan Kiszka
@ 2007-04-15 18:25     ` Wolfgang Grandegger
  2007-04-15 18:44       ` Wolfgang Grandegger
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfgang Grandegger @ 2007-04-15 18:25 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: xenomai-core

Jan Kiszka wrote:
> Wolfgang Grandegger wrote:
>> Jan Kiszka wrote:
>>> Hi Wolfgang,
>>>
>>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx unless
>>> I oversee something. Please have a look.
>> There is CAN_PROTO_RAW defined and I have added some time ago CAN_RAW to
>> rtcan.h to be compatible with Socket-CAN:
>>
>>   /** Particular CAN protocols
>>    *
>>    *  Currently only the RAW protocol is supported.
>>    */
>>   #define CAN_RAW  0
> 
> Yes, I know. But the question remains which way to go for rtcan:
> Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with CAN_RAW as
> well now, but having a different value. That should be resolved, on
> whatever side, IMHO.

Ah, now I understand your concern. CAN_PROTO_RAW actually serves the 
same purpose then CAN_RAW defining the particular CAN protocol. I'm 
going to clean it up soon removing CAN_PROTO_RAW and updating the doc. 
CAN_PROTO_RAW was not used by any application, IIRC.

Wolfgang.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 18:25     ` Wolfgang Grandegger
@ 2007-04-15 18:44       ` Wolfgang Grandegger
  2007-04-15 18:53         ` Jan Kiszka
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfgang Grandegger @ 2007-04-15 18:44 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: Jan Kiszka, xenomai-core

Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
>> Wolfgang Grandegger wrote:
>>> Jan Kiszka wrote:
>>>> Hi Wolfgang,
>>>>
>>>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>>>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx unless
>>>> I oversee something. Please have a look.
>>> There is CAN_PROTO_RAW defined and I have added some time ago CAN_RAW to
>>> rtcan.h to be compatible with Socket-CAN:
>>>
>>>   /** Particular CAN protocols
>>>    *
>>>    *  Currently only the RAW protocol is supported.
>>>    */
>>>   #define CAN_RAW  0
>> Yes, I know. But the question remains which way to go for rtcan:
>> Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with CAN_RAW as
>> well now, but having a different value. That should be resolved, on
>> whatever side, IMHO.
> 
> Ah, now I understand your concern. CAN_PROTO_RAW actually serves the 
> same purpose then CAN_RAW defining the particular CAN protocol. I'm 
> going to clean it up soon removing CAN_PROTO_RAW and updating the doc. 
> CAN_PROTO_RAW was not used by any application, IIRC.

The man page for "socket" describes the protocol argument as shown below:

        The  protocol specifies a particular protocol to be used with the
        socket. Normally only a single protocol exists to support a
        particular socket  type within a given protocol family, in which
        case protocol can be specified as 0. However, it is possible that
        many  protocols  may exist, in which case a particular protocol
        must be specified in this manner.

A value of 0 is valid for RT-Socket-CAN but not for Socket-CAN. 
Therefore we need to define CAN_RAW=1 for compatibility reasons.

Wolfgang.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 18:44       ` Wolfgang Grandegger
@ 2007-04-15 18:53         ` Jan Kiszka
  2007-04-15 19:55           ` Wolfgang Grandegger
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2007-04-15 18:53 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-core

[-- Attachment #1: Type: text/plain, Size: 2019 bytes --]

Wolfgang Grandegger wrote:
> Wolfgang Grandegger wrote:
>> Jan Kiszka wrote:
>>> Wolfgang Grandegger wrote:
>>>> Jan Kiszka wrote:
>>>>> Hi Wolfgang,
>>>>>
>>>>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>>>>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx
>>>>> unless
>>>>> I oversee something. Please have a look.
>>>> There is CAN_PROTO_RAW defined and I have added some time ago
>>>> CAN_RAW to
>>>> rtcan.h to be compatible with Socket-CAN:
>>>>
>>>>   /** Particular CAN protocols
>>>>    *
>>>>    *  Currently only the RAW protocol is supported.
>>>>    */
>>>>   #define CAN_RAW  0
>>> Yes, I know. But the question remains which way to go for rtcan:
>>> Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with CAN_RAW as
>>> well now, but having a different value. That should be resolved, on
>>> whatever side, IMHO.
>>
>> Ah, now I understand your concern. CAN_PROTO_RAW actually serves the
>> same purpose then CAN_RAW defining the particular CAN protocol. I'm
>> going to clean it up soon removing CAN_PROTO_RAW and updating the doc.
>> CAN_PROTO_RAW was not used by any application, IIRC.
> 
> The man page for "socket" describes the protocol argument as shown below:
> 
>        The  protocol specifies a particular protocol to be used with the
>        socket. Normally only a single protocol exists to support a
>        particular socket  type within a given protocol family, in which
>        case protocol can be specified as 0. However, it is possible that
>        many  protocols  may exist, in which case a particular protocol
>        must be specified in this manner.
> 
> A value of 0 is valid for RT-Socket-CAN but not for Socket-CAN.
> Therefore we need to define CAN_RAW=1 for compatibility reasons.

Agreed.

Moreover, 0 means "unspecified default protocol" according to POSIX. On
what does Socket-CAN map it, CAN_RAW? Anyway, we have no other option so
far with RT-Socket-CAN.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 18:53         ` Jan Kiszka
@ 2007-04-15 19:55           ` Wolfgang Grandegger
  2007-04-15 22:09             ` Jan Kiszka
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfgang Grandegger @ 2007-04-15 19:55 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: xenomai-core

Jan Kiszka wrote:
> Wolfgang Grandegger wrote:
>> Wolfgang Grandegger wrote:
>>> Jan Kiszka wrote:
>>>> Wolfgang Grandegger wrote:
>>>>> Jan Kiszka wrote:
>>>>>> Hi Wolfgang,
>>>>>>
>>>>>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>>>>>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx
>>>>>> unless
>>>>>> I oversee something. Please have a look.
>>>>> There is CAN_PROTO_RAW defined and I have added some time ago
>>>>> CAN_RAW to
>>>>> rtcan.h to be compatible with Socket-CAN:
>>>>>
>>>>>   /** Particular CAN protocols
>>>>>    *
>>>>>    *  Currently only the RAW protocol is supported.
>>>>>    */
>>>>>   #define CAN_RAW  0
>>>> Yes, I know. But the question remains which way to go for rtcan:
>>>> Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with CAN_RAW as
>>>> well now, but having a different value. That should be resolved, on
>>>> whatever side, IMHO.
>>> Ah, now I understand your concern. CAN_PROTO_RAW actually serves the
>>> same purpose then CAN_RAW defining the particular CAN protocol. I'm
>>> going to clean it up soon removing CAN_PROTO_RAW and updating the doc.
>>> CAN_PROTO_RAW was not used by any application, IIRC.
>> The man page for "socket" describes the protocol argument as shown below:
>>
>>        The  protocol specifies a particular protocol to be used with the
>>        socket. Normally only a single protocol exists to support a
>>        particular socket  type within a given protocol family, in which
>>        case protocol can be specified as 0. However, it is possible that
>>        many  protocols  may exist, in which case a particular protocol
>>        must be specified in this manner.
>>
>> A value of 0 is valid for RT-Socket-CAN but not for Socket-CAN.
>> Therefore we need to define CAN_RAW=1 for compatibility reasons.
> 
> Agreed.
> 
> Moreover, 0 means "unspecified default protocol" according to POSIX. On
> what does Socket-CAN map it, CAN_RAW? Anyway, we have no other option so
> far with RT-Socket-CAN.

   int rtcan_raw_socket(struct rtdm_dev_context *context,
                        rtdm_user_info_t *user_info, int protocol)
   {
     /* Only CAN_PROTO_RAW is supported */
     if (protocol != CAN_PROTO_RAW && protocol != 0)
         return -EPROTONOSUPPORT;

     rtcan_socket_init(context);

     return 0;
   }

Both, protocol "0" and CAN_PROTO_RAW is OK. I just need to replace 
CAN_PROTO_RAW with CAN_RAW.

Wolfgang.

> Jan
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
  2007-04-15 19:55           ` Wolfgang Grandegger
@ 2007-04-15 22:09             ` Jan Kiszka
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2007-04-15 22:09 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-core

[-- Attachment #1: Type: text/plain, Size: 2625 bytes --]

Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
>> Wolfgang Grandegger wrote:
>>> Wolfgang Grandegger wrote:
>>>> Jan Kiszka wrote:
>>>>> Wolfgang Grandegger wrote:
>>>>>> Jan Kiszka wrote:
>>>>>>> Hi Wolfgang,
>>>>>>>
>>>>>>> something is inconsistent about CAN_RAW in RT-Socket-CAN compared to
>>>>>>> plain Socket-CAN. Also, the latter doesn't know any CAN_PROTO_xxx
>>>>>>> unless
>>>>>>> I oversee something. Please have a look.
>>>>>> There is CAN_PROTO_RAW defined and I have added some time ago
>>>>>> CAN_RAW to
>>>>>> rtcan.h to be compatible with Socket-CAN:
>>>>>>
>>>>>>   /** Particular CAN protocols
>>>>>>    *
>>>>>>    *  Currently only the RAW protocol is supported.
>>>>>>    */
>>>>>>   #define CAN_RAW  0
>>>>> Yes, I know. But the question remains which way to go for rtcan:
>>>>> Socket-CAN doesn't know CAN_PROTO_*, RT-Socket-CAN comes with
>>>>> CAN_RAW as
>>>>> well now, but having a different value. That should be resolved, on
>>>>> whatever side, IMHO.
>>>> Ah, now I understand your concern. CAN_PROTO_RAW actually serves the
>>>> same purpose then CAN_RAW defining the particular CAN protocol. I'm
>>>> going to clean it up soon removing CAN_PROTO_RAW and updating the doc.
>>>> CAN_PROTO_RAW was not used by any application, IIRC.
>>> The man page for "socket" describes the protocol argument as shown
>>> below:
>>>
>>>        The  protocol specifies a particular protocol to be used with the
>>>        socket. Normally only a single protocol exists to support a
>>>        particular socket  type within a given protocol family, in which
>>>        case protocol can be specified as 0. However, it is possible that
>>>        many  protocols  may exist, in which case a particular protocol
>>>        must be specified in this manner.
>>>
>>> A value of 0 is valid for RT-Socket-CAN but not for Socket-CAN.
>>> Therefore we need to define CAN_RAW=1 for compatibility reasons.
>>
>> Agreed.
>>
>> Moreover, 0 means "unspecified default protocol" according to POSIX. On
>> what does Socket-CAN map it, CAN_RAW? Anyway, we have no other option so
>> far with RT-Socket-CAN.
> 
>   int rtcan_raw_socket(struct rtdm_dev_context *context,
>                        rtdm_user_info_t *user_info, int protocol)
>   {
>     /* Only CAN_PROTO_RAW is supported */
>     if (protocol != CAN_PROTO_RAW && protocol != 0)
>         return -EPROTONOSUPPORT;
> 
>     rtcan_socket_init(context);
> 
>     return 0;
>   }
> 
> Both, protocol "0" and CAN_PROTO_RAW is OK. I just need to replace
> CAN_PROTO_RAW with CAN_RAW.

Perfect.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-04-15 22:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-11 22:48 [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN Jan Kiszka
2007-04-15 11:34 ` Wolfgang Grandegger
2007-04-15 12:56   ` Jan Kiszka
2007-04-15 18:25     ` Wolfgang Grandegger
2007-04-15 18:44       ` Wolfgang Grandegger
2007-04-15 18:53         ` Jan Kiszka
2007-04-15 19:55           ` Wolfgang Grandegger
2007-04-15 22:09             ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.