All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@domain.hid>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] CAN_RAW, CAN_PROTO_RAW, and Socket-CAN
Date: Sun, 15 Apr 2007 21:55:28 +0200	[thread overview]
Message-ID: <46228330.603@domain.hid> (raw)
In-Reply-To: <462274A4.7040409@domain.hid>

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
> 



  reply	other threads:[~2007-04-15 19:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2007-04-15 22:09             ` Jan Kiszka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46228330.603@domain.hid \
    --to=wg@domain.hid \
    --cc=jan.kiszka@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.