Nami | 21 Jun 2011 05:35
Favicon

[PATCH v2 openobex 1/3] Add transport format member in fdobex_data struct.

---
 include/openobex/obex_const.h |    5 +++++
 lib/fdobex.c                  |    1 +
 lib/fdobex.h                  |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/include/openobex/obex_const.h b/include/openobex/obex_const.h
index cb7afeb..700bacb 100644
--- a/include/openobex/obex_const.h
+++ b/include/openobex/obex_const.h
 <at>  <at>  -302,6 +302,11  <at>  <at>  enum obex_rsp_mode {
   OBEX_RSP_MODE_SINGLE = 1, /**≤ single response mode (SRM) */
 };

+enum fdobex_transport_format {
+  FDOBEX_MT_STREAM    = 0, /**≤ stream transport format */
+  FDOBEX_MT_SEQPACKET = 1, /**≤ seqpacket transport format */
+};
+
 /* Min, Max and default transport MTU */
 #define OBEX_DEFAULT_MTU	1024
 #define OBEX_MINIMUM_MTU	255
diff --git a/lib/fdobex.c b/lib/fdobex.c
index 45c56ff..7fa4a21 100644
--- a/lib/fdobex.c
+++ b/lib/fdobex.c
 <at>  <at>  -14,6 +14,7  <at>  <at> 
 static int fdobex_init(obex_t *self)
 {
 	self->trans.data.fd.writefd = INVALID_SOCKET;
(Continue reading)

Nami | 21 Jun 2011 05:35
Favicon

[PATCH v2 openobex 2/3] Create new API to set fd obex transport format.

---
 include/openobex/obex.h |    1 +
 lib/obex.c              |   16 ++++++++++++++++
 lib/obex.sym            |    1 +
 3 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/include/openobex/obex.h b/include/openobex/obex.h
index f948113..cb1d66a 100644
--- a/include/openobex/obex.h
+++ b/include/openobex/obex.h
 <at>  <at>  -148,6 +148,7  <at>  <at>  OPENOBEX_SYMBOL(int) BtOBEX_TransportConnect(obex_t *self, bt_addr_t *src, bt_ad
  * OBEX File API
  */
 OPENOBEX_SYMBOL(int) FdOBEX_TransportSetup(obex_t *self, int rfd, int wfd, int mtu);
+OPENOBEX_SYMBOL(void)FdOBEX_SetTransportFormat(obex_t *self, enum fdobex_transport_format fmt);

 /*
  * OBEX interface discovery API
diff --git a/lib/obex.c b/lib/obex.c
index 165fcb8..33d2e4e 100644
--- a/lib/obex.c
+++ b/lib/obex.c
 <at>  <at>  -1136,6 +1136,22  <at>  <at>  int CALLAPI FdOBEX_TransportSetup(obex_t *self, int rfd, int wfd, int mtu)
 }

 /**
+	FdOBEX_SetTransportFormat - set transport format for OBEX_TRANS_FD transport.
+
+	\param self OBEX handle
+	\param fmt transport format: 0 - default
(Continue reading)

Nami | 21 Jun 2011 05:35
Favicon

[PATCH v2 openobex 2/3] Create new API to set fd obex transport format.

---
 include/openobex/obex.h |    1 +
 lib/obex.c              |   16 ++++++++++++++++
 lib/obex.sym            |    1 +
 3 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/include/openobex/obex.h b/include/openobex/obex.h
index f948113..cb1d66a 100644
--- a/include/openobex/obex.h
+++ b/include/openobex/obex.h
 <at>  <at>  -148,6 +148,7  <at>  <at>  OPENOBEX_SYMBOL(int) BtOBEX_TransportConnect(obex_t *self, bt_addr_t *src, bt_ad
  * OBEX File API
  */
 OPENOBEX_SYMBOL(int) FdOBEX_TransportSetup(obex_t *self, int rfd, int wfd, int mtu);
+OPENOBEX_SYMBOL(void)FdOBEX_SetTransportFormat(obex_t *self, enum fdobex_transport_format fmt);

 /*
  * OBEX interface discovery API
diff --git a/lib/obex.c b/lib/obex.c
index 165fcb8..33d2e4e 100644
--- a/lib/obex.c
+++ b/lib/obex.c
 <at>  <at>  -1136,6 +1136,22  <at>  <at>  int CALLAPI FdOBEX_TransportSetup(obex_t *self, int rfd, int wfd, int mtu)
 }

 /**
+	FdOBEX_SetTransportFormat - set transport format for OBEX_TRANS_FD transport.
+
+	\param self OBEX handle
+	\param fmt transport format: 0 - default
(Continue reading)

Nami | 21 Jun 2011 05:35
Favicon

[PATCH v3 openobex 3/3] Modify code to read entire packet when fd transport format is SEQPACKET.

---
 lib/fdobex.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/lib/fdobex.c b/lib/fdobex.c
index 7fa4a21..46a0796 100644
--- a/lib/fdobex.c
+++ b/lib/fdobex.c
 <at>  <at>  -79,6 +79,9  <at>  <at>  static int fdobex_read(obex_t *self, void *buf, int buflen)
 {
 	struct obex_transport *trans = &self->trans;

+	if(trans->data.fd.fmt == FDOBEX_MT_SEQPACKET)
+		buflen = self->mtu_rx;
+
 #ifdef _WIN32
 	return  _read(trans->fd, buf, buflen);
 #else
--
1.7.1

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev

Gmane