[PATCH v3 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]

 



These patches enable fd obex transport to support SEQPACKET format to read entire packet at a time.
Add fmt member to indicate transport format, the init value is STREAM format.
Create a new api for upper layer to set transport format when using OBEX over L2CAP.

---
 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
@@ -302,6 +302,11 @@ 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
@@ -14,6 +14,7 @@
 static int fdobex_init(obex_t *self)
 {
 	self->trans.data.fd.writefd = INVALID_SOCKET;
+	self->trans.data.fd.fmt = FDOBEX_MT_STREAM;

 	return 0;
 }
diff --git a/lib/fdobex.h b/lib/fdobex.h
index 07e33ab..01741c8 100644
--- a/lib/fdobex.h
+++ b/lib/fdobex.h
@@ -6,5 +6,6 @@ void fdobex_get_ops(struct obex_transport_ops* ops);

 struct fdobex_data {
 	socket_t writefd; /* write descriptor */
+	enum fdobex_transport_format fmt;  /* transport format */
 };
 #endif
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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