Module: xenomai-2.5
Branch: master
Commit: 410a9890e200385bc7aa40de8db8f6d924471db2
URL:    
http://git.xenomai.org/?p=xenomai-2.5.git;a=commit;h=410a9890e200385bc7aa40de8db8f6d924471db2

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sun Mar 28 23:18:35 2010 +0200

nucleus: introduce bufd reset operation

---

 include/nucleus/bufd.h |    5 +++++
 ksrc/nucleus/bufd.c    |   20 ++++++++++++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/include/nucleus/bufd.h b/include/nucleus/bufd.h
index ac1998a..262e546 100644
--- a/include/nucleus/bufd.h
+++ b/include/nucleus/bufd.h
@@ -97,6 +97,11 @@ ssize_t xnbufd_copy_from_kmem(struct xnbufd *bufd,
 
 void xnbufd_invalidate(struct xnbufd *bufd);
 
+static inline void xnbufd_reset(struct xnbufd *bufd)
+{
+       bufd->b_off = 0;
+}
+
 /*...@}*/
 
 #endif /* !_XENO_NUCLEUS_BUFD_H */
diff --git a/ksrc/nucleus/bufd.c b/ksrc/nucleus/bufd.c
index d7a7b00..c482b9d 100644
--- a/ksrc/nucleus/bufd.c
+++ b/ksrc/nucleus/bufd.c
@@ -627,6 +627,26 @@ done:
 EXPORT_SYMBOL_GPL(xnbufd_unmap_uwrite);
 
 /*!
+ * \fn void xnbufd_reset(struct xnbufd *bufd)
+ * \brief Reset a buffer descriptor.
+ *
+ * The buffer descriptor is reset, so that all data already copied is
+ * forgotten. Any carry over buffer allocated is kept, though.
+ *
+ * @param bufd The address of the buffer descriptor to reset.
+ *
+ * Environments:
+ *
+ * This service can be called from:
+ *
+ * - Kernel code (including from primary mode)
+ * - Kernel-based task
+ * - Interrupt service routine
+ *
+ * Rescheduling: never.
+ */
+
+/*!
  * \fn void xnbufd_invalidate(struct xnbufd *bufd)
  * \brief Invalidate a buffer descriptor.
  *


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to