RE: [openobex-users] [PATCH openobex 1/3] Add transport format member in fdobex_data struct. Support STREAM and SEQPACKET transport format.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, 
 I think it`s a good idea to create a new API : FdOBEX_SetTransportFormat.  I`ll update my patches in new mails.

-----Original Message-----
From: Hendrik Sattler [mailto:post@xxxxxxxxxxxxxxxxxx] 
Sent: 2011年6月21日 4:44
To: openobex-users@xxxxxxxxxxxxxxxxxxxxx
Cc: Marcel Holtmann; Li, Nami; Liu, Haijun; linux-bluetooth@xxxxxxxxxxxxxxx
Subject: Re: [openobex-users] [PATCH openobex 1/3] Add transport format member in fdobex_data struct. Support STREAM and SEQPACKET transport format.

Hi,

Am Montag, 20. Juni 2011, 21:45:11 schrieb Marcel Holtmann:
> > > >  include/openobex/obex_const.h |    4 ++++
> > > >  lib/fdobex.h                  |    1 +
> > > >  2 files changed, 5 insertions(+), 0 deletions(-)
> > > > 
> > > > diff --git a/include/openobex/obex_const.h 
> > > > b/include/openobex/obex_const.h index cb7afeb..8acee91 100644
> > > > --- a/include/openobex/obex_const.h
> > > > +++ b/include/openobex/obex_const.h
> > > > @@ -302,6 +302,10 @@ enum obex_rsp_mode {
> > > > 
> > > >    OBEX_RSP_MODE_SINGLE = 1, /**< single response mode (SRM) */
> > > >  
> > > >  };
> > > > 
> > > > +enum fdobex_transport_format{
> > > > +	 FDOBEX_MT_STREAM ,
> > > > +	 FDOBEX_MT_SEQPACKET
> > > > +};
> > > 
> > > can I ask again why we should be doing this. Especially for the 
> > > FdOBEX transport this is pointless. You are getting a file 
> > > descriptor in the first place. It does not have to be a socket.
> > > 
> > > And in the case this is really a socket, then you can just use 
> > > SO_TYPE to read the current type of the socket.
> > > 
> > > If it is not a socket, then it needs to treated as stream anyway.
> > 
> > No. Ever tried that on the linux USB gadget implementation in Linux? 
> > If a FD is not pointing to a socket, it can still point to a device 
> > file of whatever kind. You SO_TYPE won't completely help here. You 
> > can try any amount of guessing but isn't it easier if the 
> > application just tells you? OTOH, the application could just use a custom transport, then.
> 
> problem is that either we introduce a new abstraction or we figure 
> this out magically. Breaking the API like this is not a good idea.
> 
> So if we go for FdPacketOBEX or something it might be a possible 
> option, but breaking FdOBEX API is not an option.

How about a new function:
void FdOBEX_SetTransportFormat(obex_t *self, enum fdobex_transport_format fmt);

Should not break anything :)

HS
?韬{.n?????%??檩??w?{.n???{饼?z????n?■???h?璀?{?夸z罐?+€?zf"?????i?????_璁?:+v??撸?



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux